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

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

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

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

Не каждая search-страница обязана быть запрещена. Если у вас каталог материалов с хорошей навигацией и отдельная посадочная страница поиска, её можно оставить. Но стандартный результат WordPress по адресу /?s=запрос почти всегда плохой кандидат для индексации: он нестабилен, зависит от запроса пользователя и часто не несёт самостоятельной ценности.

Типичные признаки проблемы

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

Диагностика: где именно появляется индексируемый поиск

Сначала проверьте, как у вас формируется поиск. В WordPress это может быть стандартный query-параметр ?s=, отдельный красивый URL через плагин или кастомный шаблон поиска в теме. От этого зависит, достаточно ли поставить noindex или нужно ещё убрать ссылку из sitemap и настроить редирект для пустых запросов.

Что смотреть:

  • результаты поиска по запросу site:вашдомен.ru ?s=;
  • отчёт «Страницы» в Google Search Console;
  • исходный код шаблона поиска — есть ли там <meta name="robots";
  • не попадают ли search-URL в XML-карту сайта через сторонний плагин.

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

Пошаговое решение: закрываем поиск от индексации правильно

Самый надёжный вариант для стандартного поиска WordPress — отдать для search-страниц noindex, follow. Это позволяет поисковику не индексировать страницу поиска, но при этом не ломает переходы по ссылкам на сайте.

Вариант 1. Через код в теме или мини-плагине

Добавьте фильтр в functions.php дочерней темы или, лучше, в отдельный мини-плагин. Так вы не потеряете настройку при обновлении темы.

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

    return $robots;
} );

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

Вариант 2. Убрать пустые поисковые запросы и мусорные URL

Частая проблема — пустой поиск, который создаёт URL без запроса или с пробелами. Такие адреса лучше не отдавать как полноценную страницу. Можно перенаправлять пустой поиск на главную или на страницу поиска с подсказкой.

<?php
add_action( 'template_redirect', function() {
    if ( is_search() ) {
        $query = trim( (string) get_search_query( false ) );

        if ( $query === '' ) {
            wp_safe_redirect( home_url( '/' ), 302 );
            exit;
        }
    }
} );

Здесь важен именно 302, если вы не уверены, что поведение должно быть постоянным. Для пустого поиска это обычно безопаснее, чем сразу ставить 301.

Вариант 3. Если поиск генерирует отдельные URL через плагин

Некоторые плагины поиска или темы создают собственные страницы результатов. В этом случае смотрите документацию конкретного инструмента: иногда есть отдельная настройка noindex, иногда — исключение из sitemap. Не пытайтесь закрыть всё только через robots.txt, если URL уже успели попасть в индекс.

ПодходКогда подходитМинус
Код через wp_robotsСтандартный поиск WordPressНужно аккуратно внедрять в тему или мини-плагин
Настройка SEO-плагинаЕсли плагин уже управляет robots и sitemapЗависимость от стороннего интерфейса
Редирект пустого поискаДля мусорных и пустых запросовНельзя бездумно редиректить все search-страницы

Что делать с поиском в sitemap и внутренними ссылками

Если search-URL попали в sitemap, их нужно убрать отдельно. Иначе поисковик будет снова и снова находить эти адреса, даже если на самих страницах стоит noindex. Проверьте настройки SEO-плагина и генератора карты сайта: search-страницы не должны туда попадать.

Также посмотрите, нет ли в шаблоне ссылок на поиск в виде обычных HTML-ссылок, которые массово размножаются по сайту. Сам по себе поиск может быть полезен для пользователей, но индексировать его обычно не нужно.

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

После правок не полагайтесь на визуальную проверку в браузере. Нужно подтвердить три вещи: мета robots отдается, search-URL не попадает в sitemap и поисковик видит изменение при обходе.

  • Откройте страницу поиска и посмотрите исходный код: должен быть noindex.
  • Проверьте HTTP-ответ через DevTools или curl, если используете серверные заголовки.
  • Убедитесь, что search-страницы исчезли из XML-sitemap.
  • В Search Console отправьте URL на повторную проверку, если они уже были в индексе.

Пример быстрой проверки через командную строку:

curl -I https://example.com/?s=test

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

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

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

Это частая ошибка. Robots.txt запрещает обход, но не гарантирует удаление URL из индекса. Если страница уже известна поисковику, лучше дать ей noindex или убрать через редирект, когда это уместно.

Поставили noindex на все страницы сайта

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

Редиректят все поисковые запросы на главную

Так делать не стоит, если поиск реально используется пользователями. Вы потеряете полезный сценарий навигации. Редирект имеет смысл только для пустых или явно мусорных запросов.

Не убирают URL из sitemap

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

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

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

  • не выводите поиск как индексируемую страницу без необходимости;
  • не храните в шаблоне лишние query-переменные;
  • проверяйте, не ломает ли кастомный поиск кеш страниц;
  • если используете SEO/cleanup-плагины, следите, чтобы они не дублировали друг друга по robots и sitemap.

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

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

Есть исключения. Если у вас крупная база знаний, каталог статей или внутренний поиск как отдельная полезная функция, можно оставить индексируемой не саму search-страницу, а отдельную посадочную страницу с объяснением, фильтрами и статичным контентом. В таком случае стандартный ?s= всё равно лучше закрыть, а для пользователей сделать отдельный сценарий поиска.

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

Как закрыть дубли страниц в WordPress: canonical, noindex и редиректы без потери индексации
16.08.2026
Как отключить XML Sitemap в WordPress, если карта сайта генерируется дважды
28.08.2026
Как отключить XML-RPC в WordPress и не сломать нужные интеграции
22.08.2026
Как отключить архивы авторов в WordPress без потери индексации
31.08.2026
Устранение 404 после смены структуры постоянных ссылок в WordPress
16.08.2026

Как зарабатывать на ВордПресс: самые актуальные способы, полезные советы и практики.