Как закрыть страницы внутреннего поиска WordPress от индексации и убрать дубли в результатах

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

Если задача именно техническая, а не «просто спрятать всё от роботов», сначала нужно понять, какие URL реально генерируются на сайте и как они сейчас отдаются поисковикам. Иначе легко закрыть не только мусор, но и полезные страницы поиска, которые нужны для навигации внутри сайта.

Что именно ломает индексацию

В WordPress внутренний поиск обычно живёт на URL вида / ?s=запрос или на ЧПУ-версии, если её формирует тема или плагин. Проблема не в самом поиске, а в том, что поисковый робот может обходить:

  • страницы с разными вариантами одного и того же запроса;
  • пустые результаты поиска;
  • пагинацию поиска, если она есть;
  • поисковые URL с UTM-метками и другими параметрами;
  • страницы поиска по служебным словам вроде ?s=, ?s=the, ?s=1.

Если такие URL индексируются, в выдаче появляются страницы без ценности, а в отчётах Search Console растёт число «Просканировано, но не проиндексировано» или похожих сигналов. Это не всегда критично, но на больших сайтах быстро становится шумом.

Диагностика: какие поисковые страницы уже доступны роботам

Перед правками проверьте, как сайт отвечает на поисковые URL. Самый простой путь — открыть несколько вариантов поиска и посмотреть заголовки ответа, мета-теги и каноникал.

curl -I                 
⭐⭐⭐⭐⭐