Как закрыть от индексации страницы архивов категорий в WordPress

Архивы категорий в WordPress часто выглядят безобидно, пока не открываешь отчёт по индексируемым URL в Search Console. Там внезапно оказываются страницы категорий с пустым или почти пустым содержимым, пагинацией, дублями заголовков и слабой ценностью для поиска. Если задача не в том, чтобы продвигать сами рубрики, а в том, чтобы убрать мусор из индекса, это нужно решать точечно: не ломая сайт и не закрывая лишнее.

Ниже — практический сценарий: как понять, что проблема именно в архиве категорий, какие есть варианты решения, как внедрить их через код или плагин и как проверить результат.

Когда архивы категорий действительно мешают

Не каждая категория должна быть закрыта от индексации. На контентных проектах рубрики иногда собирают хороший трафик и служат посадочными страницами. Но если категория:

  • содержит 1–2 записи и не несёт самостоятельной пользы;
  • дублирует смысл тегов или других архивов;
  • отдаёт тонкий контент с одинаковыми шаблонными блоками;
  • создаёт много страниц пагинации без реальной ценности;
  • попадает в индекс, хотя вы не планировали её продвигать;

тогда закрытие от индексации — нормальная техническая мера. Важно только не перепутать её с удалением страницы из сайта: пользователи и внутренние ссылки должны продолжать работать.

Диагностика: что именно индексируется

Сначала проверьте, действительно ли проблема в категориях, а не в шаблоне или настройках SEO-плагина. Откройте несколько URL вида /category/slug/ и посмотрите:

  • есть ли у страницы уникальный <title> и meta description;
  • не дублируется ли H1 на десятках архивов;
  • есть ли текст на странице или только список записей;
  • не индексируются ли страницы пагинации /page/2/, /page/3/ и дальше;
  • что показывает site:example.com category в поиске и отчёт «Страницы» в Search Console.

Если категория уже в индексе, но вы хотите убрать её только из поиска, нужен именно noindex. Если же архив вообще не должен существовать, тогда логичнее менять структуру сайта, а не только мета-теги.

Как закрыть категории от индексации: три рабочих подхода

Есть три основных варианта. Выбор зависит от того, чем вы управляете: SEO-плагином, темой или собственным кодом.

ПодходКогда подходитПлюсыМинусы
SEO-плагинНужно быстро закрыть архивы без правки темыБыстро, меньше рискаЗависит от конкретного плагина и его настроек
Код в теме или mu-pluginНужна точечная логика для отдельных категорийГибко, прозрачноНужно аккуратно тестировать после обновлений
Редакционная правка структурыКатегории не нужны как архивы вообщеУбирает причину, а не симптомТребует пересмотра навигации и ссылок

Вариант 1. Закрыть категории через SEO-плагин

Если у вас уже стоит SEO-плагин, проверьте настройки архивов таксономий. Во многих случаях можно задать noindex для категорий целиком или только для отдельных архивов. Это самый безопасный путь, если вы не хотите править PHP.

Плюс такого подхода в том, что он обычно не трогает шаблоны и не требует обновлять тему. Минус — логика зависит от плагина, а настройки могут быть спрятаны глубоко в интерфейсе. После изменения не забудьте сохранить и очистить кэш, если он есть.

Вариант 2. Добавить noindex кодом для архивов категорий

Если нужен контроль без плагина, можно добавить мета-роботс через хук wp_robots. Это штатный механизм WordPress, и он подходит для современных версий ядра.

<?php
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_category() ) {
		$robots['noindex'] = true;
		$robots['follow']   = true;
	}

	return $robots;
} );

Этот код можно разместить в functions.php дочерней темы или, что надёжнее, в небольшом mu-plugin. Важно: follow оставляет поисковому роботу возможность переходить по ссылкам на странице, если он её уже обнаружил. Это не гарантия, но стандартная и разумная настройка для архивов, которые вы не хотите видеть в выдаче.

Если нужно закрыть не все категории, а только часть, добавьте проверку по ID или slug:

<?php
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_category( array( 'news', 'uncategorized' ) ) ) {
		$robots['noindex'] = true;
		$robots['follow']   = true;
	}

	return $robots;
} );

Такой вариант полезен, когда одна рубрика — служебная, а остальные должны оставаться открытыми.

Вариант 3. Закрыть только пустые или слабые категории

Иногда закрывать все категории подряд — слишком грубо. Тогда можно ориентироваться на количество записей в архиве. Например, закрывать только те категории, где меньше трёх публикаций. Это уже более спорная логика, но для некоторых сайтов она оправдана.

<?php
add_filter( 'wp_robots', function( array $robots ) {
	if ( is_category() ) {
		$category = get_queried_object();

		if ( $category instanceof WP_Term && isset( $category->count ) && (int) $category->count < 3 ) {
			$robots['noindex'] = true;
			$robots['follow']   = true;
		}
	}

	return $robots;
} );

Здесь важно не увлечься автоматикой. Категория может быть маленькой сейчас, но вырастет позже. Поэтому после внедрения стоит периодически пересматривать правила.

Что делать с пагинацией категорий

Если проблема не в первой странице архива, а в /page/2/ и дальше, закрывать нужно именно пагинацию. Для этого часто достаточно той же логики noindex на архиве категории: WordPress отдаёт отдельные страницы архива, и поисковик видит их как самостоятельные URL.

Проверьте, не создаёт ли тема отдельные canonical на пагинации и не ломает ли их SEO-плагин. Если canonical указывает на первую страницу, а noindex стоит на всех страницах архива, это обычно нормально. Если же canonical ведёт на саму пагинацию, нужно смотреть шаблон и фильтры плагина.

Проверка результата после внедрения

После изменений не ограничивайтесь просмотром исходника страницы. Проверка должна быть практической:

  1. Откройте категорию в браузере и посмотрите исходный код: должен появиться noindex в robots meta или в заголовке, если плагин отдаёт его через HTTP.
  2. Проверьте страницу через инструмент проверки URL в Search Console.
  3. Убедитесь, что категория по-прежнему открывается для пользователя и не выдаёт 404.
  4. Проверьте, не пропали ли внутренние ссылки на записи из рубрики.
  5. Если есть кэш-плагин или серверный кэш, очистите его и повторно проверьте HTML.

Для быстрой проверки в коде можно временно вывести robots-метку в исходник и посмотреть, что реально отдаёт сайт:

<?php
add_action( 'wp_head', function() {
	if ( is_category() ) {
		echo "<!-- category archive detected -->\n";
	}
} );

Это не решение, а только диагностический приём. После теста такой код нужно убрать.

Частые ошибки и как их исправить

  • Поставили noindex, но страница всё ещё в индексе. Это нормально на переходный период. Поисковику нужно время, чтобы переобойти URL и обновить статус.
  • Закрыли категорию, но забыли про кэш. В результате в браузере виден старый HTML. Очистите кэш плагина, CDN и, если есть, кэш на сервере.
  • Использовали robots.txt вместо noindex. Если URL уже известен поисковику, запрет в robots не гарантирует удаление из индекса. Для вывода из индекса нужен именно noindex или другой механизм удаления.
  • Закрыли все категории без анализа. Иногда рубрики дают хороший трафик. Сначала посмотрите статистику и только потом меняйте правила.
  • Сломали шаблон архива. Это бывает, если правки внесли прямо в родительскую тему. Используйте дочернюю тему или mu-plugin.

Безопасность и производительность

Если вы вносите правки кодом, не редактируйте файлы ядра и не вставляйте PHP через произвольные поля в админке. Для таких задач лучше использовать дочернюю тему или mu-plugins: изменения не потеряются при обновлении и проще контролируются.

Если на сайте уже стоит набор SEO- и технических правок, имеет смысл не распылять их по нескольким плагинам. Например, в Clearfy Pro есть инструменты для технической чистки WordPress и управления индексируемыми элементами, что удобно, когда нужно собрать подобные настройки в одном месте. Но даже в этом случае логику закрытия категорий лучше проверять вручную, а не полагаться на галочку без теста.

Короткий чек-лист перед публикацией

  • Проверили, что категории действительно не нужны в индексе.
  • Выбрали один способ: плагин или код.
  • Убедились, что noindex стоит именно на архиве категории.
  • Очистили кэш сайта и CDN.
  • Проверили URL в Search Console.
  • Посмотрели, не пострадали ли внутренние переходы и навигация.

Если после внедрения категория по-прежнему нужна пользователям, но не нужна поиску, это нормальный сценарий. В WordPress такие задачи лучше решать точечно: закрывать только то, что реально создаёт шум, и оставлять остальное работать как есть.

Как убрать дубли страниц в WordPress из-за архивов тегов, авторов и дат
30.08.2026
Как закрыть от индексации страницы архивов категорий в WordPress
18.09.2026
Как отключить Emoji в WordPress и убрать лишние скрипты из head
14.09.2026
Как закрыть от индексации страницы поиска в WordPress
03.09.2026
Как закрыть от индексации страницы авторов в WordPress
07.09.2026