Как отключить архивы таксономий в WordPress и настроить 301-переадресацию

Сценарий типичный: на сайте есть категории, метки или другие таксономии, но их архивы не несут пользы для поиска. В индексе появляются тонкие страницы, дубли заголовков, пустые листинги и лишние 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 и полным удалением. Тогда правка будет предсказуемой и не сломает навигацию сайта.

Как сделать отзывы с рейтингом в WordPress без плагинов
18.01.2026
Как избежать проблем при миграции WordPress на новый сервер
08.02.2026
Как убрать версию WordPress из HTML кода: практическое руководство
11.12.2025
Как удалить все посты из одной категории в WordPress: пошаговое практическое руководство
07.12.2025
Как запретить регистрацию роботов в WordPress: эффективные методы и примеры
18.02.2026
×
-15%
на премиум-тему
Reboot

Создай сайт мечты
на WordPress!

Купить со скидкой »