Архивы категорий в WordPress часто остаются в индексе даже тогда, когда они не несут самостоятельной ценности: дублируют подборки записей, конкурируют с основными страницами и создают лишние точки входа из поиска. Но просто удалить категории или закрыть их «на глаз» — плохая идея. В реальном проекте нужно сначала понять, что именно вы хотите убрать: сам архив, ссылки на него, или только индексацию при сохранении навигации по сайту.
Ниже — рабочий сценарий для случая, когда архивы категорий не нужны как посадочные страницы, но категории продолжают использоваться для структуры контента и фильтрации внутри сайта.
Когда архивы категорий действительно стоит отключать
Отключение имеет смысл, если категория не является самостоятельной страницей с уникальным текстом, а служит только для группировки записей. Типичный пример: у вас есть рубрики вроде «Новости», «Статьи», «Блог», и каждая из них ведёт на почти тот же список материалов, что и главная лента или разделы сайта.
Если же категория уже работает как полноценная посадочная страница с текстом, подборкой материалов и трафиком из поиска, её лучше не отключать. В таком случае обычно достаточно доработать шаблон архива, а не убирать его из индекса.
Что проверить перед изменениями
- Есть ли у категории органический трафик в поиске.
- Используется ли архив категории в меню, хлебных крошках или блоках «похожие материалы».
- Есть ли у категории уникальный текст, а не только список записей.
- Не завязаны ли на архив категории внешние ссылки или внутренние переходы.
Диагностика: почему категория мешает индексации
Сначала посмотрите, как именно WordPress отдаёт архив категории. Откройте URL вида /category/news/ и проверьте:
- есть ли у страницы собственный title и description;
- не дублируется ли заголовок с другими архивами;
- не совпадает ли список записей с главной страницей или другим архивом;
- нет ли в коде шаблона лишних canonical-ошибок.
Если категория не несёт самостоятельной ценности, поисковику обычно не нужно видеть её как отдельную посадочную страницу. Но закрывать её через robots.txt здесь не лучший путь: URL может остаться в индексе без нормального сигнала о каноничности, а ссылки на него продолжат жить внутри сайта.
Рабочий вариант: убрать архив категории из индекса и сохранить структуру
Самый безопасный подход — оставить категории как таксономию для сайта, но изменить поведение их архивов. Для этого обычно делают две вещи: ставят noindex на архив категории и при необходимости убирают ссылку на архив из интерфейса, если она не нужна пользователям.
Если у вас есть доступ к теме или небольшому плагину, можно добавить фильтр, который будет ставить noindex, follow только на архивы категорий. Это не ломает обход ссылок, но снижает шанс на индексацию самих страниц архива.
<?php
add_filter('wp_robots', function ($robots) {
if (is_category()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Этот вариант подходит, если вы хотите сохранить категории для навигации и внутренней структуры, но не хотите, чтобы поисковик считал их отдельными страницами для ранжирования.
Если нужно отключить только конкретные категории
Иногда закрывать все категории нельзя: часть из них полезна, а часть — техническая или пустая. Тогда лучше работать точечно по ID или slug.
<?php
add_filter('wp_robots', function ($robots) {
if (is_category(array('news', 'uncategorized'))) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Такой подход удобен, если вы постепенно чистите структуру и не хотите сразу менять поведение всех архивов.
Если архивы категорий нужно не только закрыть, но и убрать из интерфейса
Когда архив категории не нужен посетителям, одной метки noindex мало. Тогда стоит убрать ссылки из меню, виджетов и хлебных крошек, если они там есть. Иначе пользователь будет попадать на страницу, которая формально существует, но не решает задачу.
Здесь важно не удалять саму категорию из WordPress, если она используется для разметки записей. Удаление таксономии ломает структуру контента и может оставить записи без нужной классификации.
Что можно сделать без риска
- убрать ссылки на архив категории из меню;
- скрыть блоки с категориями в сайдбаре, если они не нужны;
- оставить категории в админке для редакторов;
- проверить, не генерирует ли тема отдельные ссылки на архивы в карточках записей.
Сравнение подходов
| Подход | Что делает | Когда подходит | Ограничение |
|---|---|---|---|
| noindex через код | Оставляет архив доступным, но снижает шанс индексации | Категория нужна для навигации | URL всё равно существует и может обходиться ботом |
| Удаление ссылок из интерфейса | Убирает переходы для пользователей | Архив не нужен посетителям | Не решает вопрос индексации сам по себе |
| robots.txt | Ограничивает обход | Редкие служебные случаи | Не лучший способ для уже известных URL |
Проверка результата после внедрения
После изменений не ограничивайтесь просмотром исходного кода. Проверьте поведение страницы в браузере и в инструментах для вебмастеров.
- Откройте архив категории и убедитесь, что в HTML есть
noindex. - Проверьте, не осталась ли ссылка на архив в меню, хлебных крошках и блоках темы.
- Посмотрите, не генерирует ли плагин SEO свой собственный
meta robots, который перекрывает ваш код. - В Search Console отправьте URL на повторную проверку и отслеживайте статус индексации.
Если страница всё ещё попадает в индекс, причина часто не в WordPress, а в том, что на неё ведут внутренние ссылки, а canonical или robots настроены конфликтно в другом плагине.
Частые ошибки и как их исправить
Ставят запрет в robots.txt вместо noindex
Это частая ошибка. Если URL уже известен поисковику, запрет на обход не гарантирует его удаление из индекса. Для архивов категорий обычно нужен именно noindex, а не просто блокировка обхода.
Удаляют категорию, а не архив
Категория в WordPress — это часть структуры контента. Если удалить её полностью, записи останутся без нужной таксономии, а редактору придётся вручную пересобирать рубрики.
Не проверяют SEO-плагин
Yoast SEO, Rank Math и похожие плагины могут задавать собственные правила для архивов. Если вы добавили код, а на странице всё равно другой meta robots, ищите конфликт в настройках плагина.
Закрывают все категории без анализа
Иногда среди архивов есть полезные посадочные страницы. Если закрыть их массово, можно потерять трафик и ухудшить перелинковку между материалами.
Практические советы по безопасности и производительности
Если вы вносите код в functions.php, лучше не править родительскую тему напрямую. Используйте дочернюю тему или небольшой mu-plugin. Тогда обновление темы не затрёт изменения.
Для больших сайтов полезно сначала протестировать правило на одной категории, а уже потом расширять его на весь архив. Это снижает риск случайно закрыть важные страницы.
Если на сайте много таксономий, не плодите отдельные костыли в шаблонах. Один аккуратный фильтр в коде обычно надёжнее, чем несколько разрозненных правок в теме и плагинах.
Когда нужен более широкий контроль над дублями, служебными страницами и технической чисткой сайта, удобно смотреть в сторону инструментов вроде Clearfy Pro: он помогает централизованно управлять частью SEO- и технических настроек, не размазывая логику по шаблонам. Подробности можно посмотреть здесь: Clearfy Pro.
Как понять, что всё сработало
Признак успеха не только в том, что на странице появился noindex. Важно, чтобы архив категории перестал быть самостоятельной точкой входа в поиск, но при этом остался рабочим элементом структуры сайта.
- страница открывается для пользователя;
- в коде есть нужная директива robots;
- ссылки на категорию не сломаны;
- внутренняя перелинковка продолжает работать;
- в Search Console статус URL меняется после переобхода.
Если после правок архивы категорий всё ещё индексируются, обычно проблема не в самой идее, а в конфликте между темой, SEO-плагином и шаблоном архива. В таких случаях лучше разбирать конкретный URL и смотреть, кто именно отдаёт финальные мета-теги.