Содержание

Решение проблемы нерабочих ссылок Easy Table of Contents в категориях WooCommerce

WordPress плагин Easy Table of Contents по праву входит в ТОП 100+ лучших плагинов WordPress 2026. Easy TOC служит для создания оглавления к длинным информационным постам на сайте. Плагин Easy Table of Contents является форком Table of Contents Plus (TOC+), который уже не поддерживается.

Настройка навигации Easy TOC в категориях WooCommerce

При использовании плагина Easy Table of Contents в описаниях рубрик WooCommerce часто возникает проблема: оглавление формируется, но ссылки внутри него не работают (не происходит скролл к заголовку). Это связано с тем, что плагин не всегда автоматически внедряет идентификаторы (ID) в заголовки <h2>-<h6>, если они находятся вне стандартного блока контента записи.

Чтобы оглавление стало полностью интерактивным и корректно работало в описаниях категорий товаров, необходимо выполнить два ключевых этапа настройки в разделе «Расширенные»:

Generate TOC link ids Enable This option when the TOC shortcode is used inside custom template, sidebar or when manually added do_shortcode("[ez-toc]") function in php files

Для чего это нужно: По умолчанию плагин ищет заголовки только в стандартных постах. Включение этой галочки заставляет плагин принудительно сканировать контент, в который вставлен шорткод [ez-toc], и присваивать каждому найденному заголовку уникальный id. Без этого ссылки в оглавлении будут вести «в никуда».

  1. Product Category — критически важно для корректной работы с категориями WooCommerce.
  2. Category — для поддержки стандартных рубрик WordPress.

Результат: После включения этих опций и очистки кэша в плагине кэширования (если он у вас конечно установлен), плагин начинает корректно «подхватывать» заголовки в описаниях рубрик, создавая рабочие якорные ссылки. Это значительно улучшает навигацию на страницах с объемными SEO-текстами и положительно влияет на поведенческие факторы.

Обернуть в noindex

Поисковые системы могут посчитать содержание статьи как переспам по ключевым словам. Чтобы и этого избежать заключим div создаваемый компонентом Easy Table of Contents в теги <!–noindex–><!–/noindex–>.

Для этого добавим в файл public/wp-content/plugins/easy-table-of-contents/easy-table-of-contents.php 2 строки, помеченные плюсиком.

// add container, toc title and list items
-                                       $html .= '<div id="ez-toc-container" class="' . $css_classes . '">' . PHP_EOL;
+                                       $html .= '<!--noindex--><div id="ez-toc-container" class="' . $css_classes . '">' . PHP_EOL;
                                        do_action( 'ez_toc_after' );
                                        $html .= ob_get_clean();
-                                       $html .= '</div>' . PHP_EOL;
+                                       $html .= '</div><!--/noindex-->' . PHP_EOL;
                                }

Исправим Limit Path

В текущей версии нельзя исключить определенную рубрику и не создавать для нее блок с содержимым. Для исправления этого нужно в файле easy-table-of-contents.php в условии заменить код на этот

if ( ezTOC_Option::get( 'restrict_path' ) ) {
 
if ( strpos( $_SERVER['REQUEST_URI'],
ezTOC_Option::get( 'restrict_path' ) ) === 0 ) {
 
return FALSE;
} else {
 
return TRUE;
}
} else {