Как настроить noindex для архивов и страниц пагинации в WordPress

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

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

Когда noindex действительно нужен

Сначала стоит понять, что именно вы хотите убрать из индекса. Для WordPress типичный список выглядит так:

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

При этом не стоит автоматически закрывать рубрики. Если рубрика — это нормальная посадочная страница с текстом, уникальным описанием и внутренней перелинковкой, её лучше оставить открытой и работать с качеством контента, а не с noindex.

Диагностика проблемы перед изменениями

Перед правками проверьте, какие URL уже попали в индекс и как они выглядят для поисковика. Это можно сделать тремя способами:

  1. поиском в Google через site:example.com и проверкой архивных URL;
  2. через Google Search Console в отчёте по индексированию страниц;
  3. через просмотр исходного кода проблемной страницы и проверки метатега robots.

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

Что проверить в исходном коде

Откройте архивную страницу и найдите строку вида:

<meta name="robots" content="noindex,follow">

Если метатега нет, посмотрите, не генерирует ли его SEO-плагин. У Yoast SEO, Rank Math и похожих решений логика может отличаться, но принцип один: сначала ищем, кто именно отвечает за robots, потом меняем настройку в одном месте, а не дублируем правила в нескольких слоях.

Пошаговое решение через SEO-плагин

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

ПодходКогда подходитМинус
SEO-плагинУже используется на сайтеЗависимость от интерфейса и версии
Код в теме/плагинеНужна точечная логикаНужно тестировать после обновлений
robots.txtНужно ограничить обход, а не индексациюНе заменяет noindex

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

Но если нужен точный контроль, лучше сделать это кодом: так вы сами решаете, какие архивы закрывать, а какие оставить открытыми.

Настройка noindex через код

Ниже пример для functions.php дочерней темы или, что лучше, для небольшого mu-plugin. Код добавляет noindex,follow на архивы тегов, авторов, дат, страниц поиска и на пагинацию архивов.

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

    return $robots;
} );

Этот вариант хорош тем, что использует штатный фильтр WordPress wp_robots. Он не подменяет разметку вручную и не зависит от того, как именно тема выводит <meta name="robots">.

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

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

    return $robots;
} );

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

Если SEO-плагин уже управляет robots

Не смешивайте два источника правды. Если плагин уже добавляет robots-метатеги, а вы сверху пишете свой фильтр, можно получить конфликт или неожиданный результат. Сначала отключите дублирующую настройку в плагине, потом добавляйте код.

Как не перепутать noindex и disallow

Это частая ошибка. noindex говорит поисковику не показывать страницу в выдаче. Disallow в robots.txt запрещает обход, но не гарантирует удаление URL из индекса, если он уже известен поисковику.

Для архивов и пагинации обычно нужен именно noindex,follow. Для совсем служебных разделов можно дополнительно ограничить обход в robots.txt, но как отдельную меру, а не вместо noindex.

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

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

  1. откройте проблемный URL в браузере и проверьте исходный код;
  2. убедитесь, что в метатеге robots есть noindex;
  3. в Search Console отправьте URL на повторную проверку, если он уже был в индексе.

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

Дополнительно можно посмотреть заголовки ответа сервера. Если тема или плагин отдают X-Robots-Tag вместо метатега, это тоже нормально, но важно понимать, что именно используется на сайте.

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

Закрыли рубрику целиком вместо пагинации

Так бывает, когда используют только is_category() без проверки is_paged(). В результате из индекса исчезает полезная посадочная страница. Исправление простое: разделите первую страницу и страницы пагинации.

Поставили noindex и одновременно запретили обход в robots.txt

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

Дублирующие правила в теме и SEO-плагине

Когда robots формируется в двух местах, отладка становится бессмысленной. Оставьте один механизм: либо плагин, либо код. Если нужен код, отключите соответствующую настройку в плагине.

Закрыли страницы поиска, но не проверили внутренние ссылки

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

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

Если вы вносите код вручную, не редактируйте родительскую тему напрямую. Используйте дочернюю тему или mu-plugin, чтобы обновление не затёрло правки. Перед изменениями сделайте резервную копию файлов и базы.

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

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

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

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

  • Проверил, какие архивы реально нужны в индексе.
  • Убедился, что robots не управляется в двух местах одновременно.
  • Добавил noindex,follow только на нужные шаблоны.
  • Проверил первую страницу архива отдельно от пагинации.
  • Сверил исходный код и Search Console после внедрения.

Если после правок в индексе всё ещё остаются старые URL, это не всегда ошибка настройки. Поисковику нужно время на переобход и обновление сигнала. В такой ситуации важнее не добавлять новые ограничения, а проверить, что страница действительно отдаёт нужный robots-метатег и не блокируется раньше времени.

Как добавить своё пользовательское поле в REST API WordPress
22.02.2026
WooCommerce: автоматический возврат денег по неподтверждённым заказам
20.07.2026
Как удалить пустые категории и метки в WordPress
10.04.2026
Как удалить все незавершённые заказы WooCommerce через функции без плагинов
13.05.2026
Автоматическое удаление незавершённых заказов в WooCommerce с контролем и оптимизацией
03.05.2026