Сценарий типичный: на сайте есть категории, метки или другие таксономии, но их архивы не несут пользы для поиска. В индексе появляются тонкие страницы, дубли заголовков, пустые листинги и лишние URL, которые только распыляют краулинговый бюджет. В такой ситуации задача не в том, чтобы «спрятать всё от роботов», а в том, чтобы аккуратно отключить ненужные архивы и перевести старые адреса на релевантные страницы.
Когда архивы таксономий действительно стоит отключать
Не все архивы нужно убирать. Если категория — это полноценная посадочная страница с текстом, подборкой материалов и внутренней перелинковкой, её лучше оставить. Отключать имеет смысл то, что не даёт ценности пользователю и поиску:
- метки, которые дублируют смысл категорий;
- пустые или почти пустые архивы;
- технические таксономии, созданные плагином;
- архивы с одинаковыми списками записей, отличающиеся только названием;
- страницы, которые уже заменены отдельными посадочными страницами.
Если архив уже попал в индекс, одного удаления ссылки из меню недостаточно. Нужен либо noindex с сохранением доступа для обхода, либо 301-переадресация на заменяющую страницу, если архив больше не нужен вообще.
Диагностика проблемы перед изменениями
Сначала проверьте, что именно индексируется и какие URL дают лишний шум. Это можно сделать без доступа к Search Console, просто посмотрев сайт и базовую конфигурацию.
Что проверить вручную
- открываются ли архивы по адресу вида
/category/slug/,/tag/slug/или кастомному base; - есть ли на странице уникальный текст или это просто список записей;
- не дублируются ли заголовки H1 между архивом и страницами записей;
- не ведут ли внутренние ссылки на архивы, которые вы хотите убрать;
- есть ли уже 404 или цепочки редиректов после прошлых правок.
Если архивов много, удобно быстро посмотреть их через консоль WP-CLI, но только если она у вас реально настроена:
wp term list category --fields=term_id,name,slug,countДля меток аналогично:
wp term list post_tag --fields=term_id,name,slug,countСмысл проверки простой: если у термина count равен нулю или страница не несёт самостоятельной ценности, это кандидат на отключение или редирект.
Какой способ выбрать: noindex, редирект или удаление архива
| Подход | Когда подходит | Плюс | Минус |
|---|---|---|---|
noindex | Архив нужен пользователям, но не нужен в поиске | Не ломает навигацию | URL остаётся доступным и может обходиться роботами |
| 301-переадресация | Архив полностью заменён другой страницей | Передаёт пользователей и часть сигналов на новый URL | Нужно точно выбрать целевую страницу |
| Удаление без редиректа | Страница больше не нужна и не имеет замены | Просто в реализации | Риск 404 и потери трафика со старых ссылок |
Для SEO-практики чаще всего лучше либо оставить архив с noindex, либо сделать 301 на ближайшую релевантную страницу. Удалять без редиректа стоит только тогда, когда старый URL не имеет входящего трафика и внешних ссылок.
Пошаговое решение через код
Если вам нужно отключить архивы конкретной таксономии, самый надёжный путь — убрать сам архивный URL и отдельно настроить редирект со старых адресов. Ниже пример для меток: мы отключаем архивы тегов и отправляем старые URL на главную страницу тегов или на другую релевантную страницу.
<?php
add_action('init', function () {
global $wp_taxonomies;
if (isset($wp_taxonomies['post_tag'])) {
$wp_taxonomies['post_tag']->public = false;
$wp_taxonomies['post_tag']->publicly_queryable = false;
$wp_taxonomies['post_tag']->rewrite = false;
}
}, 20);
add_action('template_redirect', function () {
if (is_tag()) {
wp_redirect(home_url('/blog/'), 301);
exit;
}
});Этот вариант рабочий, но применять его нужно аккуратно. Если метки уже используются в меню, хлебных крошках или фильтрах, сначала замените ссылки в интерфейсе, а уже потом отключайте архив.
Если задача только в индексации, а не в доступности страницы, лучше не ломать маршрутизацию, а добавить noindex,follow для нужных архивов. Это можно сделать через SEO-плагин или кодом в wp_head, если у вас нет стороннего решения.
<?php
add_action('wp_head', function () {
if (is_category() || is_tag()) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
});Но если вы уже решили убрать архив полностью, редирект предпочтительнее. Он понятнее для пользователя и безопаснее для старых ссылок.
Редирект только для конкретных терминов
Иногда отключать всю таксономию нельзя, а нужно убрать только отдельные архивы, например пустые метки или служебные категории. Тогда логика строится по slug термина:
<?php
add_action('template_redirect', function () {
if (!is_category()) {
return;
}
$term = get_queried_object();
if (!$term || empty($term->slug)) {
return;
}
$blocked = array('news', 'misc', 'test');
if (in_array($term->slug, $blocked, true)) {
wp_redirect(home_url('/articles/'), 301);
exit;
}
});Здесь важно не редиректить всё подряд на главную. Для поисковика это выглядит как мягкая ошибка, а для пользователя — как потеря контекста. Лучше вести на страницу, которая действительно заменяет архив по смыслу.
Если архивы создаёт плагин или тема
Не всегда проблема в стандартных категориях и метках. Некоторые плагины создают собственные таксономии с архивами, которые потом начинают индексироваться как отдельные страницы. В таком случае сначала найдите регистрацию таксономии в коде плагина или темы и проверьте параметры public, publicly_queryable и rewrite.
<?php
register_taxonomy('project_type', array('post'), array(
'label' => 'Тип проекта',
'public' => false,
'publicly_queryable' => false,
'rewrite' => false,
'show_ui' => true,
'show_in_rest' => true,
));Если таксономия уже работает на продакшене, менять её параметры нужно после проверки, что старые URL не используются в контенте и не имеют внешних ссылок. Иначе вы получите волну 404.
Проверка результата после внедрения
После правок не ограничивайтесь открытием одной страницы в браузере. Проверьте несколько уровней:
- старый архивный URL отдаёт 301, а не 200 или 404;
- целевая страница открывается без цепочки редиректов;
- в исходном коде нет лишнего
index,followна отключённых страницах; - внутренние ссылки больше не ведут на удалённые архивы;
- в sitemap не попадают URL, которые вы отключили.
Быстрая проверка через curl выглядит так:
curl -I https://example.com/tag/test/В ответе должен быть статус 301 Moved Permanently и заголовок Location с новым адресом. Если видите 200 OK, редирект не сработал. Если 404, значит архив уже отключён, но старый URL не перенаправлен.
Для sitemap проверьте, что отключённые архивы не остались в карте сайта. Если sitemap генерирует SEO-плагин, исключите таксономию в его настройках или убедитесь, что она больше не помечается как индексируемая.
Частые ошибки и как их исправить
Редирект на главную
Это самая частая ошибка. Главная страница редко является релевантной заменой архиву. Если у вас была категория «SEO», логичнее вести на страницу раздела или на более широкую посадочную страницу, а не на корень сайта.
Сначала удалили архив, потом вспомнили про ссылки
Если старые URL уже есть в статьях, меню или внешних ссылках, удаление без 301 почти гарантированно даст 404. Сначала соберите список ссылок, потом меняйте маршрутизацию.
Отключили таксономию, но оставили её в sitemap
Так бывает, когда архив убрали кодом, а SEO-плагин продолжает считать его индексируемым. В результате робот видит URL в карте сайта, но получает редирект или 404. Это лишний шум, который нужно убрать в обоих местах.
Использовали noindex вместо редиректа там, где страница уже не нужна
noindex не решает проблему старых ссылок. Если архив заменён другой страницей, нужен именно 301. Иначе пользователь и робот по-прежнему будут попадать на старый URL.
Практические советы по безопасности и производительности
Любые правки редиректов лучше сначала тестировать на staging-копии. Ошибка в условии template_redirect может отправить в редирект вообще весь сайт, если не проверить логику на конкретных шаблонах.
Если редиректов много, не пишите десятки правил в .htaccess без системы. Для WordPress-проекта проще держать логику в одном месте: либо в небольшом mu-plugin, либо в кастомном плагине сайта. Так проще сопровождать и откатывать изменения.
Для сайтов, где проблема дублей и архивов повторяется регулярно, полезно сначала навести порядок в SEO-настройках и технической чистке. В таких сценариях часто хватает комбинации: убрать лишние архивы, закрыть служебные страницы от индексации, почистить дубли в sitemap и проверить канонические URL. Если нужен инструмент для технической чистки WordPress, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy.
Главное правило здесь простое: не отключайте архивы вслепую. Сначала определите, какие URL реально мешают, потом выберите между noindex, 301 и полным удалением. Тогда правка будет предсказуемой и не сломает навигацию сайта.