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

Внутренний поиск в WordPress часто создаёт страницы, которые не должны попадать в индекс: URL вида ?s=, пустые результаты, страницы с мусорными запросами и дубли с параметрами. Если оставить их как есть, поисковики тратят обход на бесполезные адреса, а в отчётах появляются сотни малоценных страниц.

Задача здесь не в том, чтобы «сломать поиск», а в том, чтобы:

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

Когда проблема уже есть

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

Что проверить в первую очередь

  • есть ли в индексе URL с ?s=;
  • открываются ли страницы поиска по пустому запросу;
  • не генерируются ли отдельные URL для сортировки, фильтров или пагинации поиска;
  • не стоит ли у темы или плагина лишний noindex на всех страницах подряд.

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

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

Есть три рабочих подхода: через SEO-плагин, через код темы или плагина, и через серверные правила для отдельных сценариев. Для WordPress чаще всего достаточно корректного noindex и запрета индексации в robots.txt не требуется.

ПодходКогда подходитМинус
SEO-плагинЕсли уже используется Yoast SEO, Rank Math или аналогНе всегда удобно тонко настроить пустые запросы и нестандартные шаблоны
Код в теме/плагинеЕсли нужен точный контроль над поискомНужно следить за обновлениями и тестировать после правок
Серверные правилаДля отдельных URL и редких случаевЛегко ошибиться и случайно закрыть лишнее

Вариант через код: добавить noindex для страниц поиска

Если у вас нет SEO-плагина или нужно поведение, которое не покрывается настройками, можно добавить noindex, follow для результатов поиска. Код лучше размещать в мини-плагине или в functions.php дочерней темы.

add_action( 'wp_head', function () {
    if ( is_search() ) {
        echo "<meta name=\"robots\" content=\"noindex,follow\" />\n";
    }
} );

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

Если нужно убрать ещё и пустые запросы

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

add_action( 'template_redirect', function () {
    if ( is_search() && ! get_search_query() ) {
        wp_safe_redirect( home_url( '/' ), 302 );
        exit;
    }
} );

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

Диагностика: почему поисковик всё равно видит эти URL

Даже после добавления noindex страницы поиска могут продолжать появляться в отчётах. Это не всегда ошибка. Поисковик может ещё не переобойти страницы, а старые URL какое-то время будут висеть в индексе или в статусе «обнаружено, не проиндексировано».

Проверьте три вещи:

  1. в исходном коде страницы поиска действительно есть <meta name="robots" content="noindex,follow" />;
  2. нет ли HTTP-заголовка X-Robots-Tag, который переопределяет мета-тег;
  3. не закрывает ли кэш старую версию страницы без мета-тега.

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

Как проверить заголовки и код страницы

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

curl -I 
Как удалить неиспользуемые плагины WordPress без рисков и сохранить безопасность сайта
30.09.2026
Реализация вычислений на стороне клиента в WordPress калькуляторах
26.09.2026
Как отключить XML-RPC в WordPress и проверить, что он был заблокирован
14.09.2026
Как создать динамические формы в WordPress с помощью Ajax и PHP
02.10.2026
Как использовать Hooks и Filters в WordPress для решения конкретных задач
28.09.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше