Страницы внутреннего поиска в WordPress часто попадают в индекс не потому, что кто-то специально их продвигает, а потому что поисковик находит ссылки вида ?s= и начинает обходить их как обычные URL. На небольшом сайте это выглядит как мелочь, но на практике такие страницы создают мусор в отчётах, раздувают индекс и иногда тянут за собой дубли с пустыми или почти пустыми результатами.
Задача здесь не в том, чтобы «сломать поиск», а в том, чтобы оставить его для пользователей и одновременно убрать поисковые страницы из индекса. Ниже — рабочие способы для WordPress: через noindex, через robots.txt и через точечную доработку темы или плагина.
Когда это действительно проблема
Сначала стоит убедиться, что речь именно о страницах поиска, а не о другом типе дублей. В Google Search Console и Яндекс Вебмастере обычно видно URL с параметром ?s= или похожими вариантами, если поиск на сайте кастомный. Признаки типичные:
- в индексе есть страницы поиска с пустым или почти пустым контентом;
- в отчётах появляются URL с одинаковым шаблоном, но разными запросами;
- поисковик тратит обход на бесполезные страницы вместо важных материалов;
- внутренний поиск генерирует много адресов по одному и тому же шаблону.
Если сайт маленький и поисковые URL не индексируются, можно ничего не трогать. Но если в индексе уже есть такие страницы, лучше закрыть их аккуратно и проверить, что они не возвращаются после переобхода.
Диагностика: что именно индексируется
Перед правками проверьте, как WordPress отдаёт страницу поиска. Откройте несколько URL вручную:
https://site.ru/?s=тестhttps://site.ru/?s=- кастомный поиск, если он реализован плагином или темой
Посмотрите исходный код страницы и найдите мета-тег robots. Если его нет, поисковик сам решит, индексировать страницу или нет. Если есть index,follow, это прямой сигнал к исправлению. Также полезно проверить заголовки ответа сервера через curl или DevTools.
curl -I