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

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

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

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

Проверять нужно не по ощущениям, а по фактам. Откройте поиск по сайту и посмотрите, какой URL формируется. В классическом WordPress это обычно /?s=запрос или человекочитаемый вариант, если тема или плагин его меняют. Затем проверьте, есть ли такие страницы в индексе через поиск по сайту в Google или Яндексе и через отчёты в Search Console / Вебмастере.

Типичные признаки:

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

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

Обычно закрывают не сам поиск как функцию, а страницы результатов поиска. Это важно: форма поиска, AJAX-поиск или подсказки могут оставаться доступными, если они не создают индексируемые HTML-страницы.

Если у вас есть отдельные страницы поиска, созданные плагином, проверьте их отдельно. Иногда проблема не в WordPress как таковом, а в теме или поисковом плагине, который генерирует полноценные архивы результатов.

Рабочая схема: noindex для результатов поиска и запрет обхода в robots.txt

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

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

Вариант через код

Этот способ подходит, если вы хотите не зависеть от интерфейса плагина и держать правило в коде проекта:

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

    return $robots;
});

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

Если нужен жёсткий запрет обхода

Для некоторых сайтов имеет смысл добавить правило в robots.txt. Например, если внутренний поиск создаёт слишком много мусорных запросов:

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

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

Пошаговая настройка без лишнего риска

  1. Проверьте, как формируется URL поиска на вашем сайте.
  2. Посмотрите, есть ли страницы поиска в индексе.
  3. Добавьте noindex,follow для страниц поиска.
  4. При необходимости ограничьте обход в robots.txt.
  5. Проверьте, не генерирует ли тема отдельные шаблоны для поиска с лишними блоками и ссылками.
  6. После изменения отправьте страницу на переобход в поисковых системах.

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

Сравнение подходов

СпособКогда подходитПлюсыМинусы
SEO-плагинЕсли уже используется на сайтеБыстро, без кода, удобно для редактораЗависимость от настроек и интерфейса плагина
Код через wp_robotsЕсли нужен контроль в проектеПрозрачно, легко ревьюить в GitНужно аккуратно вносить в тему или mu-plugin
robots.txt толькоКак дополнительная мераПросто и быстроНе убирает уже проиндексированные URL

Как проверить, что решение сработало

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

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

В HTML-ответе ищите метатег robots или заголовки, если они используются. После этого проверьте, что страница всё ещё открывается для пользователя, но не претендует на индексирование.

Дополнительно полезно:

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

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

Закрыли поиск в robots.txt, но не добавили noindex

Это самая частая ошибка. Если URL уже в индексе, он может там остаться. Исправление простое: верните обход на время, добавьте noindex и дождитесь переобхода.

Поставили noindex на весь сайт через шаблон

Иногда разработчик добавляет условие слишком широко, и под раздачу попадают не только результаты поиска, но и обычные страницы. Проверяйте условие is_search() и не переносите его в общий шаблон без теста.

Конфликтуют SEO-плагин и код темы

Если плагин уже управляет robots-метками, а тема добавляет свои, итоговый HTML может содержать противоречивые директивы. Оставьте один источник истины: либо плагин, либо код проекта.

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

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

Что ещё стоит проверить рядом с поиском

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

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

Если нужен более широкий набор инструментов для чистки дублей и технической SEO-настройки, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но ставить плагин только ради одной директивы не обязательно — для точечной задачи часто достаточно кода и проверки индексации.

Как отключить XML-RPC в WordPress без поломки сайта
23.09.2026
Как удалить или заблокировать заблокированных пользователей в WordPress
07.09.2026
Автоматическое создание Sitemap в WordPress: лучшие плагины и примеры кода
28.09.2026
Автоматическое создание резервных копий WordPress: лучшие методы и примеры
10.09.2026
Автоматическое удаление старого контента в WordPress: практические методы и примеры кода
07.09.2026

Как работать с WordPress: основы работы с движком, обзор встроенных функций, советы по созданию и редактированию контента.