В WooCommerce дубли часто появляются не из-за контента, а из-за структуры каталога: архивы товаров, страницы этикеток, пагинация, фильтры и служебные таксономии могут создавать десятки URL с одинаковым или почти одинаковым содержимым. Если их не контролировать, поисковик тратит краулинговый бюджет на мусорные страницы, а в индексе остаются слабые дубли вместо нужных посадочных.
Ниже разберём практический сценарий: как отключить архивы товаров и этикеток, не сломать навигацию и не потерять полезные страницы каталога. Подходы будут разные: через настройки, через код и через проверку результата.
Когда архивы WooCommerce становятся проблемой
Не каждый архив нужно удалять. Проблема обычно начинается, когда:
- в индексе появляются страницы этикеток с 1–2 товарами;
- архивы товаров дублируют категории по смыслу;
- страницы пагинации и фильтров индексируются как отдельные посадочные;
- в выдаче всплывают URL с параметрами сортировки и фильтрации;
- на сайте есть несколько таксономий, которые не несут самостоятельной SEO-ценности.
Если у вас небольшой каталог, архивы этикеток чаще всего не нужны вообще. Для крупного магазина решение зависит от структуры семантики: иногда этикетки полезны для внутренней навигации, но вредны для индексации.
Диагностика: какие URL уже создают дубли
Сначала нужно понять, что именно индексируется. Не отключайте всё подряд наугад.
Проверьте индексацию в поиске
В поисковой консоли посмотрите:
- страницы с параметрами;
- архивы тегов товаров;
- пагинацию каталога;
- служебные URL с сортировкой;
- страницы с низким количеством показов и кликов, но большим числом в индексе.
Если у вас есть доступ к серверным логам, полезно посмотреть, какие URL чаще всего обходит бот. Это помогает не гадать, а отключать именно то, что реально расходует обход.
Быстрая проверка через поиск по сайту
Можно вручную проверить, какие архивы существуют. Например, если у вас включены этикетки товаров, попробуйте открыть их архивы и посмотреть, не дублируют ли они категории:
https://example.com/product-tag/brand-name/Если на таких страницах мало уникального текста, а список товаров повторяет другие разделы, их лучше закрывать от индексации или отключать полностью.
Что отключать: архивы, а что оставлять
Полностью удалять всё подряд не стоит. Удобнее разделить сущности на три группы.
| Вариант | Когда подходит | Риск |
|---|---|---|
| Оставить и индексировать | Есть уникальный текст, спрос и отдельная семантика | Минимальный |
| Оставить, но закрыть от индексации | Нужны для навигации, но не для SEO | Нужно следить за canonical и noindex |
| Отключить полностью | Страница не несёт пользы и только плодит дубли | Можно сломать внутренние ссылки, если они уже используются |
Для архивов этикеток обычно достаточно второго или третьего варианта. Для архивов товаров — зависит от того, как у вас построен каталог. Если категория товаров уже является основной посадочной, отдельный архив товаров часто не нужен.
Пошаговое решение через код
Если нужна точечная настройка без плагинов, можно отключить архивы таксономий и убрать их из индекса. Ниже пример для functions.php дочерней темы или собственного мини-плагина.
<?php
// Отключаем архивы этикеток товаров.
add_action( 'init', function () {
register_taxonomy( 'product_tag', array( 'product' ), array(
'public' => false,
'rewrite' => false,
'show_ui' => true,
'show_admin_column' => true,
'hierarchical' => false,
) );
}, 20 );
// Если архив уже существует, можно вернуть 404 для фронтенда.
add_action( 'template_redirect', function () {
if ( is_tax( 'product_tag' ) ) {
global $wp_query;
$wp_query->set_404();
status_header( 404 );
nocache_headers();
include get_query_template( '404' );
exit;
}
} );Этот вариант жёсткий: он подходит, если этикетки вообще не нужны на фронтенде. Если вам нужно сохранить ссылки в админке, но убрать индексацию, лучше не отключать таксономию полностью, а закрыть архивы от роботов и оставить внутреннюю навигацию.
Для более мягкого сценария можно добавить noindex на архивы:
<?php
add_action( 'wp_head', function () {
if ( is_tax( 'product_tag' ) || is_post_type_archive( 'product' ) ) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1 );Важно: этот способ не удаляет URL из сайта, а только подсказывает поисковику не включать их в индекс. Для части проектов этого достаточно.
Как сделать это через SEO-плагин
Если у вас уже стоит SEO-плагин, проще управлять индексированием там. Это удобнее, когда нужно быстро закрыть несколько архивов без правки темы. Но проверяйте, не конфликтует ли настройка плагина с кодом в теме: двойной noindex обычно не ломает сайт, но усложняет диагностику.
Практически полезный сценарий такой:
- архивы этикеток —
noindex,followили 404; - архивы товаров — оставить только если они реально нужны;
- служебные параметры — закрыть через canonical или правила фильтрации;
- страницы пагинации — проверить, не создают ли они пустые дубли.
Если используете инструменты для чистки дублей и служебных страниц, например Clearfy Pro, сначала отключайте только то, что точно не нужно в индексе, а не весь каталог целиком. Иначе можно случайно убрать полезные посадочные.
Проверка результата после внедрения
После изменений не ограничивайтесь открытием страницы в браузере. Проверьте несколько уровней.
1. Ответ сервера
Убедитесь, что отключённый архив отдаёт ожидаемый код:
curl -I https://example.com/product-tag/brand-name/Если вы ставили 404, в ответе должен быть 404. Если оставляли страницу, но закрывали от индексации, проверьте наличие noindex в HTML.
2. HTML-мета robots
Откройте исходный код страницы и найдите:
<meta name="robots" content="noindex,follow" />Если мета-тег отсутствует, а вы рассчитывали именно на него, значит условие в коде не сработало или шаблон страницы выводится не там, где вы ожидали.
3. Каноникал и внутренние ссылки
Проверьте, что канонический URL указывает на нужную страницу, а не на архив с параметрами. Для страниц каталога это особенно важно, если у вас есть сортировка, фильтры и пагинация.
4. Поисковая консоль
После переобхода посмотрите, как меняется статус страниц: часть URL должна уйти в Excluded by 'noindex' или начать отдавать 404/410, если вы выбрали удаление. Не ждите мгновенного обновления — поисковику нужно время.
Частые ошибки и как их исправить
- Отключили архивы, но оставили старые ссылки в меню. Исправление: проверьте меню, хлебные крошки и блоки с похожими товарами. Если ссылка ведёт в 404, замените её или уберите.
- Поставили
noindex, но не закрыли параметрические URL. Исправление: проверьте сортировку, фильтры и UTM-параметры. Иногда дубли создаёт не сам архив, а его вариации. - Сделали 404 для таксономии, которая использовалась в шаблонах. Исправление: сначала найдите все вызовы
get_terms(), виджеты и блоки, которые строят ссылки на эти архивы. - Отключили архивы в коде темы, а потом обновили тему и потеряли настройку. Исправление: переносите такие правки в дочернюю тему или мини-плагин.
- Закрыли от индексации всё подряд. Исправление: оставьте только те страницы, которые не несут самостоятельной ценности. Категории с трафиком лучше не трогать без анализа.
Чек-лист перед публикацией изменений
- Проверены архивы товаров, этикеток и пагинация.
- Определено, что закрываем: 404, 410 или noindex.
- Проверены внутренние ссылки в меню и шаблонах.
- Сделан бэкап файлов и базы перед правками.
- Проверен ответ сервера через
curl -Iили DevTools. - Смотрится исходный код страницы на наличие
meta robotsи canonical. - После изменений отправлены важные URL на переобход в поисковой консоли.
Практические советы по безопасности и производительности
Если вы отключаете архивы через код, не правьте напрямую основной файл темы. Для стабильности лучше использовать дочернюю тему или отдельный мини-плагин. Так вы не потеряете изменения после обновления.
Ещё один момент — не создавайте тяжёлую логику в template_redirect. Проверка должна быть простой: условие, статус, выход. Если на сайте большой каталог, лишние запросы и сложные условия на каждом хите только добавят нагрузку.
Если у вас уже есть плагин для SEO и чистки дублей, не дублируйте его правила в коде без необходимости. Один источник правды проще сопровождать и проверять.
Когда архивы этикеток не нужны, а каталог уже разросся, обычно выгоднее убрать их полностью, чем держать пустые или слабые страницы в индексе. Но решение стоит принимать по факту: сначала смотрим, какие URL реально дают трафик и ссылки, потом закрываем остальное.