Страницы внутреннего поиска в WordPress часто создают лишний мусор в индексе: URL с параметром ?s= могут попадать в выдачу, размножаться по разным запросам и тянуть за собой дубли. На небольшом сайте это выглядит как мелочь, но на практике такие страницы быстро засоряют отчёты в Search Console и мешают поисковикам тратить краулинговый бюджет на полезные страницы.
Задача здесь не в том, чтобы «сломать поиск», а в том, чтобы корректно закрыть от индексации результаты поиска и при этом оставить пользователю рабочий поиск по сайту. Ниже — рабочие варианты для WordPress: через robots, через noindex и через код темы или плагина.
Когда страницы поиска становятся проблемой
Типичный сценарий: в индексе появляются URL вида /?s=запрос, /page/2/?s=запрос или другие вариации, зависящие от темы и настроек ЧПУ. Поисковик видит их как отдельные страницы, хотя по сути это динамические результаты поиска без самостоятельной ценности для выдачи.
Проблема усиливается, если на сайте:
- есть много внутренних ссылок на поиск;
- поиск доступен из шапки, футера и мобильного меню;
- тема генерирует отдельные шаблоны для результатов поиска с заголовками и мета-тегами;
- в поиске отображаются пустые или слабые результаты, которые не стоит индексировать.
Что именно нужно проверить перед правкой
Сначала убедитесь, что речь действительно о страницах поиска, а не о фильтрах, которые нужны для индексации. Для этого откройте несколько URL с параметром ?s= и посмотрите:
- есть ли в исходном коде
noindex; - не закрыты ли страницы в
robots.txtслишком грубо; - не создаёт ли тема отдельный title для поиска без ограничения индексации;
- не используются ли дополнительные параметры, которые поисковик воспринимает как новые страницы.
Как закрыть поиск от индексации: рабочие варианты
На практике есть три подхода. Выбор зависит от того, чем вы управляете: SEO-плагином, кодом темы или серверной логикой.
| Способ | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
| SEO-плагин | Быстро, без кода | Зависит от плагина и его настроек | Если уже используете Yoast SEO, Rank Math или аналог |
noindex через код | Контроль на уровне темы | Нужно править шаблон или хук | Если нужен точечный и предсказуемый результат |
Закрытие в robots.txt | Просто | Не гарантирует удаление из индекса, если URL уже известен | Только как дополнительная мера, не как единственная |
Вариант 1: добавить noindex для страниц поиска
Если у вас есть доступ к wp_head, можно добавить мета-тег noindex,follow только для результатов поиска. Это безопаснее, чем закрывать весь путь в robots.txt, потому что поисковик увидит директиву на самой странице.