Если рубрики на сайте нужны для навигации, но их архивы не должны попадать в поиск, задача решается без удаления самих категорий. В WordPress можно оставить рубрики видимыми для пользователей и одновременно закрыть их архивные страницы от индексации поисковиками. Для этого обычно используют noindex на самих страницах архивов, а robots.txt — только как вспомогательный инструмент, если нужно ограничить обход, но не заменить директиву индексации.
Это особенно полезно, когда рубрики пустые, служебные, дублируют другие страницы или создают много слабых архивов, которые не дают трафика. При этом сами ссылки на рубрики в меню, хлебных крошках и блоках навигации остаются рабочими.
Что именно нужно закрывать
Речь идет не о том, чтобы удалить рубрики или запретить доступ к ним. Нужно закрыть от индексации именно страницы архивов рубрик — обычно это URL вида /category/novosti/ или другой базовый путь, если он изменен в настройках.
Проверять нужно не только главную страницу рубрики, но и связанные с ней страницы пагинации, если они тоже не должны попадать в поиск. Иначе в индексе может остаться, например, /category/novosti/page/2/, даже если первая страница уже закрыта неаккуратно.
Самый практичный способ: noindex для архивов рубрик
Для поисковых систем правильнее всего использовать мета-тег noindex или HTTP-заголовок X-Robots-Tag на самих страницах архивов. В WordPress это обычно делают через SEO-плагин или кодом в теме/плагине, если нужен точечный контроль.
Если у вас уже стоит SEO-плагин, сначала проверьте его настройки для архивов таксономий. Многие плагины позволяют отдельно задать индексирование рубрик, меток и других архивов. Для рубрик нужно выбрать вариант, при котором страницы архивов не индексируются, но могут обходиться роботом, если это не мешает остальным настройкам сайта.
Если плагина нет или он не дает нужной гибкости, можно добавить фильтр в код. Ниже пример для WordPress, который отключает индексацию архивов рубрик через wp_robots:
add_filter( 'wp_robots', function( $robots ) {
if ( is_category() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Этот вариант подходит для современных версий WordPress, где используется API robots. Он добавит на страницы рубрик директиву noindex, не запрещая переходы по ссылкам внутри страницы.
Если вам нужно закрыть не только рубрики, но и их пагинацию, условие is_category() уже покрывает и страницы архивов рубрик, и их страницы вида /page/2/, потому что они остаются частью категории.
Почему robots.txt не решает задачу сам по себе
Файл robots.txt часто пытаются использовать как способ «закрыть от индексации», но это не одно и то же. robots.txt управляет обходом, а не индексацией как таковой. Если страница уже известна поисковику и на нее ведут ссылки, она может остаться в индексе даже при запрете на обход.
Поэтому для архивов рубрик правильная схема обычно такая: сначала ставим noindex на саму страницу, а robots.txt используем только если действительно нужно сократить обход технических или малополезных URL. Подменять одно другим не стоит.
Есть и практический нюанс: если закрыть рубрики в robots.txt, поисковик может не увидеть на странице мета-тег noindex, потому что не сможет ее обойти. В результате URL может дольше оставаться в индексе или отображаться без сниппета. Для удаления из поиска это плохой путь.
Когда лучше не закрывать рубрику полностью
Не все архивы рубрик нужно убирать из индекса. Если рубрика собирает полноценный тематический кластер статей, дает трафик и сама по себе отвечает на запросы пользователей, закрытие может навредить. В таком случае рубрика работает как посадочная страница, и ее лучше дорабатывать, а не прятать.
Закрывать имеет смысл:
- пустые рубрики без материалов;
- служебные рубрики, которые нужны только для внутренней структуры;
- архивы, дублирующие другие страницы сайта;
- категории с очень слабым содержанием, которые создают много малоценного индекса;
- рубрики, которые не должны конкурировать с основными страницами сайта в поиске.
Если рубрика нужна пользователям для переходов, но не должна ранжироваться, noindex — нормальный компромисс. Ссылки и навигация сохраняются, а архив не претендует на место в выдаче.
Как проверить, что рубрики действительно закрыты
После настройки не стоит полагаться только на панель плагина. Откройте страницу рубрики в браузере и посмотрите исходный код. В нем должен быть мета-тег robots с noindex, либо соответствующий HTTP-заголовок, если вы настраивали его на уровне сервера или плагина.
Проверить можно так:
- откройте архив рубрики в браузере;
- просмотрите исходный код страницы и найдите
noindex; - проверьте страницу пагинации рубрики, если она есть;
- посмотрите в Google Search Console, как поисковик видит URL после переобхода;
- убедитесь, что рубрика по-прежнему доступна для посетителей и не сломалась навигация.
Если рубрика уже была в индексе, удаление не происходит мгновенно. После добавления noindex поисковику нужно переобойти страницу. Это нормально: старые URL могут держаться в выдаче некоторое время, пока робот не обновит данные.
Типичные ошибки при закрытии рубрик
Самая частая ошибка — закрыть рубрику через robots.txt и ждать, что она исчезнет из поиска. Для удаления из индекса этого недостаточно. Вторая ошибка — поставить noindex только на первую страницу рубрики и забыть про пагинацию.
Еще одна проблема — случайно закрыть не только архивы рубрик, но и важные страницы сайта из-за слишком общего правила в плагине или в коде. Если используете фильтр в теме, проверяйте условие строго: is_category() должно применяться только к рубрикам, а не ко всем архивам подряд.
Если сайт работает на старой версии WordPress или на нестандартной связке плагинов SEO, поведение может отличаться. Тогда после настройки обязательно смотрите исходный код и фактический ответ сервера, а не только интерфейс плагина.
Что выбрать на практике
| Способ | Когда подходит | Что важно помнить |
|---|---|---|
noindex через SEO-плагин | Если нужен простой и безопасный вариант без кода | Проверьте, что закрыты и рубрики, и их пагинация |
noindex через код | Если нужен точечный контроль без лишних настроек | Тестируйте на staging или с резервной копией |
robots.txt | Только как дополнение для ограничения обхода | Не заменяет noindex и не гарантирует удаление из индекса |
Если задача именно в том, чтобы убрать из поиска служебные или пустые архивы рубрик и при этом сохранить их для пользователей, оптимальный путь — noindex на страницах рубрик. robots.txt можно использовать только как дополнительную настройку, но не как основной механизм закрытия от индексации.
Если у вас уже есть SEO-плагин, начните с его настроек архивов. Если плагина нет или нужна точная логика для конкретных рубрик, используйте код через wp_robots. В обоих случаях после изменений проверьте исходный код страницы и убедитесь, что рубрика осталась доступной для навигации, но перестала быть страницей для поиска.