Дубли архивов таксономий в WordPress обычно появляются незаметно: одна и та же подборка записей доступна по нескольким URL, а поисковик видит это как набор почти одинаковых страниц. Чаще всего проблема всплывает после подключения SEO-плагина, кастомной таксономии, пагинации или фильтров в теме.
Если не разбираться в причине, можно случайно закрыть от индексации не только мусорные страницы, но и полезные архивы, которые реально собирают трафик. Поэтому задача здесь не в том, чтобы «всё noindex», а в том, чтобы оставить нужные архивы и убрать технические дубли.
Как понять, что у вас именно дубли архивов таксономий
Сначала проверьте, откуда берутся повторяющиеся страницы. В WordPress один и тот же набор записей может открываться через:
- архив категории или метки;
- архив пользовательской таксономии;
- страницы пагинации вида
/page/2/; - страницы с параметрами сортировки или фильтрации;
- URL с разным регистром, слешем на конце или служебными параметрами.
На практике дубли чаще всего выглядят так: у категории есть основной архив, а ещё есть архив той же выборки через пользовательскую таксономию, либо пагинация индексируется без необходимости. Иногда проблема усиливается, если в теме есть хлебные крошки, которые создают дополнительные внутренние ссылки на те же архивы.
Быстрая диагностика в админке и через поисковик
Откройте несколько архивов и сравните:
- одинаков ли список записей;
- меняется ли только заголовок и описание;
- есть ли у страниц пагинация;
- не дублируются ли архивы по разным таксономиям с одинаковым смыслом.
Дальше проверьте индексацию в Google Search Console: если в отчёте по страницам много URL с похожими шаблонами, а в выдаче ранжируется не тот архив, который вы считаете основным, это уже сигнал к чистке.
Что закрывать, а что оставлять открытым
Не все архивы таксономий одинаково бесполезны. Категория с нормальным описанием, уникальным набором материалов и поисковым спросом может быть полезной посадочной страницей. А вот архивы меток, служебных таксономий и пустых комбинаций часто только размножают URL.
| Подход | Когда уместен | Минус |
|---|---|---|
| noindex для архивов | Если архив нужен пользователям, но не должен ранжироваться | Страница остаётся в обходе, но не участвует в поиске |
| canonical на основной архив | Если есть несколько технически похожих URL | Нужно аккуратно выбрать главный адрес |
| полное отключение архива | Если таксономия служебная и не нужна на сайте | Можно сломать внутренние ссылки и хлебные крошки |
Если архив не нужен ни пользователям, ни поиску, лучше убрать его на уровне регистрации таксономии или шаблона, а не маскировать метатегами. Если же архив полезный, но дублируется, тогда уже работаем с noindex и canonical.
Пошаговое решение: убрать дубли и не потерять нужные архивы
Шаг 1. Определите, какие таксономии должны индексироваться
Составьте короткий список: категории, метки, пользовательские таксономии. Для каждой отметьте, есть ли у неё уникальный контент, трафик и смысл как у посадочной страницы. Если ответов нет, такую таксономию лучше закрывать от индексации или вообще не выводить в публичный архив.
Шаг 2. Закройте служебные архивы через SEO-плагин или код
Если у вас уже стоит SEO-плагин, сначала проверьте его настройки для архивов таксономий. Но если нужен точечный контроль, проще добавить логику в тему или мини-плагин.
Ниже пример, который ставит noindex,follow для архивов меток и для пользовательской таксономии project_tag, если она не должна ранжироваться:
add_filter( 'wp_robots', function( array $robots ) {
if ( is_tag() || is_tax( 'project_tag' ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Этот вариант безопаснее, чем править шаблон руками: WordPress сам выведет корректный robots-массив, а вы не трогаете HTML напрямую.
Шаг 3. Уберите дубли пагинации, если они не нужны
Пагинация архивов сама по себе не ошибка. Ошибка начинается, когда в индекс попадают страницы /page/2/, /page/3/ и дальше, хотя они не несут самостоятельной ценности. В таком случае обычно достаточно оставить их доступными для обхода, но закрыть от индексации.
Если нужна более жёсткая логика, можно добавить условие для страниц пагинации архивов таксономий:
add_filter( 'wp_robots', function( array $robots ) {
if ( is_tax() && is_paged() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Такой подход не ломает навигацию по сайту, но снижает шанс, что поисковик будет индексировать второстепенные страницы архива.
Шаг 4. Проверьте canonical на дублирующих URL
Если один и тот же архив доступен по нескольким адресам из-за параметров, слеша или особенностей темы, canonical должен указывать на основной вариант. В большинстве случаев это делает SEO-плагин, но иногда тема выводит свой <link rel="canonical"> и конфликтует с ним.
Проверьте исходный код страницы и убедитесь, что canonical не дублируется дважды. Если он есть в нескольких местах, оставьте только один источник.
Как проверить, что решение сработало
После правок не ограничивайтесь визуальной проверкой. Нужно убедиться, что:
- у нужных архивов осталась индексация;
- служебные архивы получили
noindex; - canonical ведёт на основной URL;
- внутренние ссылки не сломались;
- в Search Console не растёт число дублей.
Проверка вручную занимает несколько минут:
- Откройте архив таксономии в браузере.
- Посмотрите исходный код страницы и найдите
meta name="robots"или заголовок robots, если он отдаётся сервером. - Убедитесь, что canonical указывает на нужный адрес.
- Пройдитесь по пагинации и сравните поведение на первой и второй страницах.
Если используете Google Search Console, отправьте на переобход только те URL, которые должны остаться в индексе. Служебные страницы можно не форсировать: поисковик постепенно переоценит их сам.
Частые ошибки и как их исправить
Ставят noindex на все архивы подряд
Это самая частая ошибка. В результате исчезают полезные страницы категорий, которые могли приносить органический трафик. Исправление простое: разделите архивы на полезные и служебные, а потом применяйте правило точечно.
Закрывают архив, но оставляют на него внутренние ссылки
Если в меню, хлебных крошках или блоках «похожие записи» всё ещё есть ссылки на закрытый архив, он продолжит активно обходиться. Это не всегда плохо, но если архив действительно лишний, лучше убрать и ссылки на него.
Путают noindex и nofollow
nofollow не решает проблему дублей. Для архивов обычно нужен noindex,follow: страница не индексируется, но поисковик может проходить по ссылкам дальше.
Отключают архив в коде, не проверив шаблоны темы
Если таксономия участвует в хлебных крошках, фильтрах или блоках навигации, её полное отключение может дать 404 или пустые ссылки. Сначала проверьте, где этот архив используется, и только потом убирайте публичный доступ.
Практические советы по безопасности и производительности
Если у вас много таксономий и архивов, не пытайтесь решать всё через тяжёлые плагины с большим количеством правил. Для точечной задачи достаточно мини-плагина или кода в functions.php, но лучше вынести это в отдельный mu-plugin, чтобы не потерять настройку при смене темы.
Ещё один полезный момент: если вы закрываете архивы через код, храните список таксономий в одном месте. Так проще сопровождать проект и не забыть, почему конкретная таксономия была закрыта.
<?php
/**
* Plugin Name: Taxonomy Archive Robots
*/
add_filter( 'wp_robots', function( array $robots ) {
$blocked_taxonomies = array( 'project_tag', 'internal_topic' );
foreach ( $blocked_taxonomies as $taxonomy ) {
if ( is_tax( $taxonomy ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
break;
}
}
return $robots;
} );Если нужен более широкий набор SEO-инструментов для чистки дублей и технических страниц, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином всё равно полезно понимать, какие архивы вы закрываете и зачем.
Что проверить после внедрения через 24–72 часа
Не ждите мгновенного эффекта в выдаче. Сначала проверьте техническую сторону:
- robots-метки на нужных URL;
- canonical без дублей;
- отсутствие 404 после отключения лишних архивов;
- корректную работу пагинации;
- снижение числа повторяющихся URL в отчётах поисковых систем.
Если после правок полезный архив перестал ранжироваться, значит вы закрыли не ту таксономию или слишком широко применили правило. В таком случае откатите изменение, проверьте шаблон архива и список условий в коде.