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

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

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

Что именно нужно закрывать

В WordPress внутренний поиск обычно открывается по адресу с параметром ?s=. Например:

https://example.com/?s=wordpress

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

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

Почему robots.txt сам по себе не решает проблему

Частая ошибка — закрыть поиск в robots.txt и считать задачу решённой. Это работает только частично.

Если вы запретите обход, например так:

User-agent: *
Disallow: /*?s=

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

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

Самый надёжный способ: noindex для страниц поиска

Для WordPress самый практичный вариант — отдать для страниц поиска мета-тег noindex,follow или HTTP-заголовок X-Robots-Tag: noindex. Оба варианта подходят, но в обычной практике проще всего сделать это через SEO-плагин или код темы.

Если у вас уже стоит SEO-плагин

Многие SEO-плагины умеют закрывать страницы поиска от индексации без ручного кода. Логика обычно такая: для типа страниц «Search Results» включается noindex. Это самый удобный путь, если плагин уже используется на сайте и вы не хотите править шаблоны.

Проверьте в настройках SEO-плагина, есть ли отдельная опция для страниц поиска, и включите для них запрет индексации. После этого сохраните настройки и очистите кэш, если он есть.

Если нужно сделать это кодом

Когда SEO-плагина нет или вы хотите контролировать поведение на уровне темы, добавьте в functions.php дочерней темы или в собственный мини-плагин такой код:

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

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

Если хотите использовать заголовок вместо мета-тега, можно отправлять X-Robots-Tag до вывода HTML:

add_action('template_redirect', function () {
    if (is_search() && !headers_sent()) {
        header('X-Robots-Tag: noindex, follow', true);
    }
});

Этот способ удобен, если вы хотите управлять индексацией на уровне ответа сервера. Но на практике для WordPress чаще достаточно мета-тега в <head>.

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

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

Пример для стандартного внутреннего поиска WordPress:

User-agent: *
Disallow: /*?s=

Но здесь есть нюанс: разные поисковые системы и разные конфигурации сайта могут по-разному трактовать шаблон. Кроме того, если у вас есть красивые URL поиска, этот шаблон может не покрыть их. Поэтому после правки robots.txt обязательно проверьте, какие именно адреса реально используются на сайте.

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

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

После настройки не стоит полагаться на предположение «должно работать». Лучше проверить результат вручную.

Откройте страницу поиска на сайте и посмотрите исходный код страницы. В <head> должен быть мета-тег:

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

Если вы использовали заголовок X-Robots-Tag, его можно увидеть в ответе сервера через инструменты разработчика браузера, команду curl -I или онлайн-проверку заголовков.

Пример проверки через консоль:

curl -I "https://example.com/?s=wordpress"

В ответе должен быть заголовок X-Robots-Tag: noindex, follow, если вы настраивали именно его.

Дальше проверьте страницу в Google Search Console или другом инструменте для вебмастеров. Если URL уже был в индексе, удаление не происходит мгновенно: робот должен заново обойти страницу и увидеть сигнал noindex. После этого адрес обычно постепенно исчезает из выдачи.

Что делать, если страницы поиска уже в индексе

Если мусорные URL уже попали в поиск, одной правки настроек мало. Нужно дать поисковику время переобойти страницы. Обычно порядок такой:

  1. включить noindex для страниц поиска;
  2. убедиться, что на этих страницах нет блокировки обхода, мешающей увидеть noindex;
  3. очистить кэш сайта и CDN, если они используются;
  4. дождаться переобхода или отправить URL на повторную проверку в панели вебмастера.

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

Какие ошибки чаще всего мешают убрать поиск из выдачи

На практике проблемы обычно связаны не с WordPress, а с тем, как именно сделано закрытие.

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

Что выбрать на практике

СпособКогда подходитКомментарий
noindex в мета-тегеНужно убрать страницы поиска из индексаСамый понятный и надёжный вариант для WordPress
X-Robots-TagУдобнее управлять через заголовки ответаПодходит, если есть доступ к серверной настройке или код темы
robots.txtНужно дополнительно сократить обходНе заменяет noindex для уже проиндексированных URL

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

Если на сайте уже стоит SEO-плагин, проще всего включить закрытие страниц поиска в его настройках. Если плагина нет, добавьте мета-тег или заголовок кодом. А robots.txt оставьте как дополнительную меру, а не как единственный способ.

Как удалить загрузку Google Fonts в WordPress для ускорения сайта
01.10.2026
Как удалить верхний padding в WordPress без кода
30.09.2026
Как избежать проблем с кэшированием в WordPress: практические методы
17.09.2026
Как закрыть дубли страниц от индексации в WordPress без поломки SEO
17.09.2026
Как автоматически удалять зависшие заказы WooCommerce с отчетом о действиях
16.05.2026
×

Увеличьте продажи!

Скидка на
My Popup!

-15%
плагин для WordPress

Успей купить ⋙