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

Если сайт давно работает, в индексе часто скапливаются страницы, которые не дают трафик, но создают дубли: архивы по датам, страницы авторов без контента, служебные таксономии, пустые страницы пагинации. Самая частая ошибка — закрывать всё подряд через robots.txt. Это не убирает URL из поиска и не решает проблему дублей на уровне HTML.

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

Какая проблема обычно всплывает

Симптомы похожи:

  • в поиске видны страницы авторов, хотя у автора нет отдельной редакционной страницы;
  • индексируются архивы по датам, которые дублируют рубрики и теги;
  • появляются страницы пагинации с тонким контентом;
  • в Search Console растёт число «Просканировано, но не проиндексировано» или «Дубликат, выбранная каноническая страница отличается»;
  • в выдаче всплывают URL, которые не должны конкурировать с основными страницами.

Что важно не перепутать

noindex — это указание не индексировать страницу. robots.txt — это запрет на обход, но не гарантированное удаление URL из индекса. Если страница уже в поиске, обычно нужен именно noindex или редирект, а не только закрытие в robots.

Диагностика: какие архивы реально мешают

Сначала посмотрите, какие типы страниц уже существуют на сайте и что из этого имеет смысл оставлять открытым. Для небольших проектов часто достаточно закрыть архивы авторов и даты, но для новостных сайтов архивы дат могут быть полезны. Поэтому решение должно зависеть от структуры контента, а не от шаблона.

Проверьте:

  • есть ли у авторов отдельные биографии и подборки материалов;
  • используются ли архивы дат как навигация;
  • есть ли у рубрик и тегов уникальные описания и реальная ценность;
  • не создаёт ли плагин SEO свои канонические правила, которые конфликтуют с темой.

Быстрый технический тест: откройте исходный код страницы архива и посмотрите, есть ли там <meta name="robots" content="noindex,follow"> и корректный canonical. Если canonical указывает на саму страницу, а noindex отсутствует, архив может продолжать индексироваться.

Пошаговое решение без лишних плагинов

Если у вас нет SEO-плагина, который уже управляет мета-тегами, проще всего добавить логику в дочернюю тему или в отдельный mu-plugin. Так решение не потеряется при обновлении темы.

1. Закрываем архивы авторов и дат

Добавьте в functions.php дочерней темы или в mu-plugin такой код:

<?php
add_action('wp_head', function () {
    if (is_author() || is_date()) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
}, 1);

add_filter('wp_robots', function (array $robots) {
    if (is_author() || is_date()) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }
    return $robots;
});

Здесь лучше использовать и wp_robots, и вывод в wp_head. В современных версиях WordPress фильтр wp_robots — основной путь, но если на сайте есть старые шаблоны или конфликтующие плагины, явный meta-тег помогает быстрее диагностировать проблему.

2. Для архивов тегов и рубрик оставляем только нужные

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

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

Если у вас теги используются как полноценная навигация и у них есть уникальные описания, не закрывайте их автоматически. Сначала проверьте, есть ли у них поисковый потенциал.

3. Убираем архивы из XML-карты сайта, если они закрыты

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

Для самописной карты сайта логика простая: исключайте URL, для которых выставлен noindex или которые отдают 404/410/редирект. Если sitemap генерирует плагин, проверьте его настройки, а не пытайтесь «перебить» это в теме.

Когда лучше использовать плагин, а не код

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

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

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

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

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

  1. исходный код страницы архива — есть ли noindex,follow;
  2. ответ сервера — нет ли редиректа или ошибки;
  3. Search Console — как Google видит страницу после повторного обхода.

Для быстрой проверки можно использовать curl:

curl -I https://example.com/author/admin/
curl -s https://example.com/author/admin/ | grep -i robots

Если страница отдает 200 и в HTML есть нужный meta robots, это уже хороший признак. Но окончательный статус в индексе меняется не мгновенно: поисковику нужно пересканировать URL.

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

  • Закрыли архив в robots.txt, но URL всё равно в поиске. Это ожидаемо. Добавьте noindex или настройте редирект/410, если страница больше не нужна.
  • Поставили noindex, но оставили URL в sitemap. Уберите его из карты сайта, иначе сигнал противоречивый.
  • Сделали правило в теме, а SEO-плагин его перезаписывает. Оставьте один источник правды: либо плагин, либо код.
  • Закрыли все архивы подряд. Рубрики могут быть полезны для внутренней перелинковки и поиска. Не отключайте их без анализа.
  • Использовали noindex на страницах с важным контентом. Проверьте, не потеряете ли вы трафик из длинного хвоста.

Практические советы по безопасности и производительности

Если вы вносите изменения через тему, лучше вынести код в дочернюю тему или mu-plugin. Так вы не потеряете настройку при обновлении. Не редактируйте родительскую тему на живом сайте.

Для сайтов с большим количеством архивов полезно дополнительно:

  • сократить число тегов, если они дублируют рубрики;
  • убрать пустые авторские архивы;
  • проверить, не создаёт ли плагин автогенерацию страниц без контента;
  • не плодить служебные URL через фильтры и параметры в шаблонах.

Если нужно не только закрыть архивы, но и почистить сайт от дублей, служебных страниц и лишних SEO-элементов, удобнее собрать это в одном месте, чем размазывать по теме и плагинам. Иначе через полгода никто не вспомнит, где именно стоит правило.

В итоге рабочая схема простая: определите, какие архивы реально нужны, закройте лишние через wp_robots, уберите их из sitemap и проверьте результат в исходнике и Search Console. Это надёжнее, чем пытаться лечить индексацию только через robots.txt.

Как использовать хуки для изменения вывода WooCommerce в теме WordPress
03.05.2026
Как удалить загрузку Google Fonts из темы WordPress без плагинов
25.06.2026
Как запретить индексацию старых архивов и страниц авторов в WordPress
14.08.2026
Оптимизация кода темы WordPress для снижения потребления памяти
10.03.2026
Как добавить поддержку Dark Mode в тему WordPress
23.01.2026