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

Страницы внутреннего поиска в WordPress часто попадают в индекс не потому, что это полезные посадочные страницы, а потому что поисковик находит URL с параметром ?s=. В результате в выдаче появляются пустые или почти пустые страницы, дубли запросов и мусорный трафик. Если сайт активно растёт, это быстро превращается в техническую проблему: краулинговый бюджет уходит на бесполезные URL, а в отчётах Search Console появляются странные страницы с низким качеством.

Ниже разберём, как закрыть такие страницы от индексации в WordPress без поломки самого поиска, как проверить результат и где чаще всего ошибаются.

Когда это действительно проблема

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

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

Что именно нужно закрывать

Обычно речь идёт не о самом поиске как функции, а о страницах результатов поиска. Пользователь должен по-прежнему искать по сайту, но поисковым системам не нужно индексировать такие страницы. Это разные задачи.

Диагностика: какие URL уже индексируются

Сначала проверьте, какие варианты поиска реально существуют на сайте. В WordPress это может быть стандартный параметр s, а в некоторых темах и плагинах — человекочитаемый путь вроде /search/term/. Посмотреть это можно в браузере и в Search Console.

Быстрая проверка через поиск по сайту:

site:example.com inurl:?s=

Если в выдаче есть страницы поиска, значит они уже доступны для индексации. Дополнительно проверьте исходный код таких страниц: есть ли там noindex, не закрыт ли URL в robots.txt и не генерируются ли канонические ссылки на саму страницу поиска.

Что смотреть в Search Console

  • раздел «Страницы» — есть ли URL поиска в индексе;
  • «Проверка URL» — как Google видит метатеги и каноникал;
  • «Статистика сканирования» — не тратится ли бот на поисковые URL слишком часто.

Пошаговое решение

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

Вариант 1: добавить noindex через код

Подходит, если вы контролируете тему или используете дочернюю тему. Добавьте код в functions.php дочерней темы или в небольшой mu-plugin.

add_filter( 'wp_robots', function( array $robots ) {
    if ( is_search() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    return $robots;
} );

Этот вариант хорош тем, что он работает на уровне WordPress и не зависит от конкретного SEO-плагина. Но если у вас уже есть плагин, который управляет robots-метатегами, проверьте, не конфликтует ли он с этим фильтром.

Вариант 2: закрыть поиск через SEO-плагин

Если на сайте уже стоит SEO-плагин, часто проще использовать его настройки. Важно только убедиться, что он действительно ставит noindex именно на страницы поиска, а не просто меняет robots.txt. Запрет в robots.txt не гарантирует удаление URL из индекса, если они уже известны поисковику.

ПодходПлюсыМинусы
Код через wp_robotsПрозрачно, без лишних зависимостейНужно следить за темой и обновлениями
SEO-плагинУдобно для редактора и SEO-специалистаНастройки могут отличаться между плагинами
robots.txtБыстро ограничивает обходНе решает проблему индексации уже известных URL

Вариант 3: убрать поисковые URL из выдачи сайта

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

<?php if ( is_search() ) : ?>
    <meta name="robots" content="noindex,follow" />
<?php endif; ?>

Этот фрагмент полезен только как ориентир. В реальном проекте лучше не дублировать метатеги вручную, если уже используется wp_robots или SEO-плагин. Иначе легко получить два разных robots-мета в одной странице.

Проверка результата после внедрения

После правки не ограничивайтесь просмотром кода страницы. Нужно проверить, что поисковик видит именно то, что вы ожидали.

  1. Откройте страницу поиска в браузере и посмотрите исходный код.
  2. Убедитесь, что в <meta name="robots"> есть noindex.
  3. Проверьте, что страница не закрыта случайно через nofollow, если вам важно сохранить переходы по внутренним ссылкам.
  4. В Search Console отправьте URL на проверку и посмотрите, как он распознаётся.
  5. Через несколько дней проверьте отчёт по индексированию: URL поиска должен уходить из «Проиндексировано» или не попадать туда заново.

Если у вас есть доступ к серверным логам, полезно посмотреть, не уменьшилось ли количество обходов поисковых URL. Это особенно заметно на больших сайтах с активным внутренним поиском.

Частые ошибки и как их исправить

Закрыли только robots.txt

Это самая частая ошибка. Disallow в robots.txt мешает обходу, но не гарантирует исключение из индекса. Если URL уже известен поисковику, он может остаться в выдаче без содержимого или с фрагментом текста. Исправление простое: добавьте именно noindex.

Поставили noindex на весь сайт

Иногда фильтр написан слишком грубо и срабатывает не только на is_search(), но и на архивы, страницы пагинации или даже на главную. Это уже критическая ошибка. Проверяйте условие строго и тестируйте на нескольких типах страниц.

Сломали канонические ссылки

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

Ожидали мгновенного удаления из индекса

noindex не удаляет URL сразу. Поисковику нужно заново обойти страницу и увидеть новый метатег. Поэтому после внедрения не делайте выводы по одному дню наблюдений.

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

  • страницы поиска доступны для пользователей;
  • на них стоит noindex, follow;
  • robots.txt не используется как единственный способ закрытия;
  • нет дублей метатега robots в теме и плагине;
  • в Search Console можно проверить URL поиска;
  • внутренние ссылки на поиск не создают лишние URL без необходимости;
  • после правки проверен исходный код и кэш.

Что делать, если сайт на кэше или CDN

Если на сайте есть серверный кэш, плагин кэширования или CDN, обновление robots-метатега может не сразу попасть в ответ. Очистите кэш страницы поиска и, если нужно, кэш на уровне CDN. Иначе вы будете проверять старую версию и решите, что правка не сработала.

На практике полезно сначала открыть страницу поиска в режиме инкогнито, затем проверить заголовки ответа и только после этого смотреть исходный код. Если кэш отдаёт старую HTML-версию, поисковик увидит то же самое.

Когда лучше не закрывать поиск полностью

Если внутренний поиск у вас — важный навигационный инструмент и страницы результатов реально содержат полезный контент, можно оставить их открытыми для индексации выборочно. Но это редкий случай. Обычно лучше индексировать только нормальные посадочные страницы, а поиск держать как функциональность для посетителей.

Если нужна более широкая техническая чистка сайта — дубли, служебные страницы, лишние архивы и похожие SEO-ошибки — имеет смысл смотреть на комплексные инструменты вроде Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpvideo.ru&utm_medium=article&utm_campaign=zakryt-ot-indeksacii-stranicy-poiskovogo-zaprosa-v-wordpress. Но даже в этом случае логику закрытия поиска стоит проверить вручную, а не полагаться только на чекбокс в интерфейсе.

Как сделать автоматический транскодер видео в WordPress
23.09.2026
Как добавить адаптивный видео плеер в WordPress с поддержкой мобильных устройств
27.09.2026
Как удалить видео из медиабиблиотеки WordPress без потери данных
16.09.2026
Как использовать видео как фон для секций в WordPress без потери производительности
24.09.2026
Как найти и убрать дубли title и meta description в WordPress
14.09.2026