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

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

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

Когда проблема действительно есть

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

Проверить проблему можно по нескольким признакам:

  • в Google Search Console в отчёте по страницам есть URL с параметром s=;
  • в поиске по сайту через site:example.ru inurl:?s= видны страницы поиска;
  • в логах сервера или аналитике заметно, что поисковые URL часто обходят боты;
  • в выдаче появляются страницы с одинаковым заголовком, но разным запросом поиска.

Что обычно ломают при попытке исправить

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

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

Какой способ выбрать: плагин, код или настройка темы

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

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

Пошаговое решение через код

Если вам нужен предсказуемый результат без привязки к конкретному SEO-плагину, проще всего добавить noindex, follow для страниц поиска. Для WordPress это можно сделать через фильтр wp_robots, который поддерживается в современных версиях ядра.

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

    return $robots;
} );

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

Если у вас старая тема или кастомный шаблон, стоит дополнительно проверить, что в <head> не выводится второй meta robots tag. Дублирование мета-тегов часто возникает, когда SEO-плагин и тема одновременно пытаются управлять индексированием.

Если нужен запрет только для URL с параметром s

Иногда на сайте есть отдельные страницы поиска, а иногда параметр s используется в других местах. Тогда лучше ограничить условие именно страницами поиска WordPress:

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

    return $robots;
} );

В большинстве случаев этого достаточно. Не стоит усложнять проверку через разбор $_GET, если у вас обычный поиск ядра WordPress.

Как сделать это через SEO-плагин

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

Плюс этого пути в том, что плагин сам управляет мета-тегами и каноникалами. Минус — если тема выводит собственный meta name=

Как закрыть страницы поиска WordPress от индексации
18.08.2026
Как закрыть дубли страниц тегов от индексации в WordPress
14.08.2026