Проблема с URL вида ?s=... обычно всплывает не сразу: сайт уже проиндексировал десятки или сотни страниц поиска, а в отчётах Search Console появляются дубли, мусорные URL и странные сниппеты. Сам поиск при этом может работать нормально, но поисковики тратят краулинговый бюджет на бесполезные страницы.
Важно разделять две задачи: не показывать страницы поиска в индексе и не ломать сам поиск на сайте. Решение должно закрывать именно индексирование, а не отключать поиск целиком.
Когда это действительно проблема
Сначала проверьте, что у вас именно индексируются поисковые URL, а не просто есть внутренний поиск. Типичные признаки:
- в Google Search Console в отчёте по страницам есть URL с
?s=; - в выдаче находятся страницы поиска с пустым или почти пустым контентом;
- поисковик регулярно обходит много однотипных URL с разными запросами;
- в логах сервера видно частые обращения к поисковым страницам без полезного результата.
Если у вас на сайте поиск используется как полноценная посадочная страница с уникальным контентом и фильтрами, подход может быть другим. Но для обычного WordPress-сайта страницы поиска лучше закрывать от индексации.
Диагностика: что именно индексируется
Перед правками проверьте, как сейчас отдаётся страница поиска. Откройте несколько URL вручную:
https://example.com/?s=тестПосмотрите исходный код страницы и ответ сервера. Если в <head> уже есть noindex, значит проблема может быть не в WordPress, а в теме, SEO-плагине или кэше. Если noindex нет, поисковик получает обычную индексируемую страницу.
Ещё один практичный тест — проверить заголовки ответа:
curl -I