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

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

Проблема обычно не в самом поиске, а в том, что сайт не объясняет роботам, что эти страницы не должны индексироваться. Ниже — рабочие способы закрыть поиск от индексации, проверить результат и не сломать поведение сайта для пользователей.

Как понять, что проблема именно в страницах поиска

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

  • в выдаче есть URL вида /?s=запрос или /search/запрос/;
  • в сниппете отображается заголовок вроде «Результаты поиска по запросу…»;
  • в Google Search Console или Яндекс.Вебмастере видны страницы с параметром поиска;
  • на таких страницах мало уникального контента, а иногда вообще только список записей.

Если поиск уже индексируется, это не всегда ошибка шаблона. Часто причина в том, что тема не выводит noindex, а плагин SEO не настроен на исключение search-страниц. Вторая типовая причина — сайт отдаёт доступный HTML без запрета в robots, и поисковик сам решает, что страница полезна.

Что именно нужно закрыть: robots.txt, meta robots или canonical

Для внутреннего поиска лучше не полагаться на один механизм. У каждого свой смысл:

СпособЧто делаетКогда использоватьОграничение
noindexЗапрещает индексацию страницыОсновной способ для search-страницНе всегда быстро убирает URL из индекса
robots.txtОграничивает обходДополнительная защита от лишнего сканированияНе гарантирует удаление уже проиндексированных URL
canonicalПодсказывает предпочтительный URLЕсли нужно сохранить страницу, но указать канонический адресДля внутреннего поиска обычно не решает задачу полностью

Для search-страниц чаще всего нужен именно noindex, follow. Это позволяет не индексировать саму страницу поиска, но не ломает переходы по ссылкам внутри неё.

Пошаговое решение без плагина

1. Добавьте meta robots для страниц поиска

Если тема не делает этого сама, можно добавить код в functions.php дочерней темы или в небольшой mu-plugin. Для классических тем WordPress подойдёт такой вариант:

<?php
add_action('wp_head', function () {
    if (is_search()) {
        echo '<meta name="robots" content="noindex, follow" />' . "\n";
    }
});

Этот код выводит мета-тег только на страницах поиска. Он не влияет на обычные записи, страницы и архивы.

2. Ограничьте обход в robots.txt

Если хотите дополнительно снизить нагрузку на сайт, можно запретить обход поисковых URL в robots.txt. Важно: это не замена noindex, а только дополнительный слой.

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

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

3. Проверьте canonical на странице поиска

Некоторые темы и SEO-плагины ставят canonical на главную или на саму search-страницу. Для внутреннего поиска это не всегда критично, но если canonical указывает на нерелевантный URL, поисковик может дольше переосмысливать страницу. В идеале search-страница должна быть либо noindex, либо вообще не попадать в индекс, а canonical не должен конфликтовать с этим поведением.

Если используете SEO-плагин, проверьте его настройки для архивов и search-страниц. У многих плагинов есть отдельный переключатель для закрытия страниц поиска от индексации.

Если нужен плагин: когда это проще и безопаснее

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

Например, в Clearfy Pro есть инструменты для технической чистки сайта и управления SEO-обвязкой. Если у вас уже используется такой плагин, проверьте, не дублируете ли вы его функции вручную: два разных источника noindex или canonical могут только запутать диагностику. Подробности по плагину: Clearfy Pro.

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

После внедрения не ограничивайтесь просмотром исходника в браузере. Нужна проверка в нескольких местах:

  • откройте страницу поиска и убедитесь, что в <head> есть <meta name="robots" content="noindex, follow" />;
  • проверьте, что страница отдаёт код ответа 200, а не редирект на главную;
  • в Search Console используйте проверку URL и посмотрите, видит ли робот директиву noindex;
  • через несколько дней проверьте, уменьшается ли число проиндексированных search-URL;
  • если у вас включён кеш, очистите его и проверьте страницу в режиме инкогнито.

Для быстрой локальной проверки удобно посмотреть заголовки и HTML через curl:

curl -I "https://example.com/?s=test"
curl -s "https://example.com/?s=test" | grep -i robots

Если мета-тег не находится, значит код не сработал, кеш отдал старую версию или тема перехватывает вывод head.

Частые ошибки и почему они возникают

Закрыли только robots.txt и ждут удаления из индекса

Это самая частая ошибка. Disallow не удаляет уже известный URL из индекса автоматически. Если страница уже проиндексирована, нужен noindex и время на переобход.

Ставят noindex на все страницы сайта

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

Дублируют настройки в теме и SEO-плагине

Если один код ставит noindex, а другой — canonical на главную, диагностика становится сложнее. Оставьте один источник правды: либо SEO-плагин, либо собственный код.

Не очищают кеш

После правки шаблона или functions.php старый HTML может продолжать отдаваться из кеша. Особенно это заметно на сайтах с серверным кешем, CDN или плагином кеширования.

Чек-лист перед публикацией правки

  • Проверен тип URL поиска: ?s= или ЧПУ-поиск.
  • Добавлен noindex, follow только для search-страниц.
  • При необходимости обновлён robots.txt.
  • Проверен canonical и отсутствие конфликтов с SEO-плагином.
  • Очищен кеш сайта и CDN.
  • Проверка URL в Search Console показывает нужную директиву.

Практические советы по безопасности и производительности

Если на сайте много поискового трафика от ботов, внутренний поиск может создавать лишнюю нагрузку. В таком случае полезно:

  • ограничить кеширование динамических search-страниц, если они часто меняются;
  • проверить, не генерирует ли тема слишком тяжёлую выдачу поиска;
  • не выводить на search-странице лишние блоки, которые не помогают пользователю найти результат;
  • следить, чтобы поиск не раскрывал приватные типы записей или черновики.

Если нужен более системный подход к технической чистке WordPress, имеет смысл держать SEO-правки в одном месте и не размазывать их по теме, плагинам и ручным сниппетам. Тогда проще понять, почему страница всё ещё индексируется и где именно сломалась логика.

Руководство по созданию собственного REST API в WordPress
08.09.2026
WooCommerce: как отключить автологин после регистрации пользователя
25.09.2026
Как отключить XML-RPC в WordPress и не сломать нужные интеграции
02.10.2026
Как убрать дубли страниц из индексации в WordPress
10.09.2026
WooCommerce: запрет изменения адреса доставки после подтверждения заказа
21.09.2026
×
-15%
на премиум-тему
Bono

Создай магазин мечты
на WordPress!

↓ ↓ ↓ ↓ ↓
Купить со скидкой »