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

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

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

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

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

При этом не стоит трогать:

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

Если у вас есть отдельная страница с описанием поиска, справкой или каталогом, это уже другой тип страницы. Закрывать нужно именно результаты внутреннего поиска, а не всё подряд с упоминанием слова «поиск».

Самый надёжный вариант: отдавать noindex для страниц поиска

Для WordPress практичнее всего поставить для страниц поиска мета-тег noindex. Тогда поисковик сможет зайти на страницу, но не должен включать её в индекс. Это более точный подход, чем попытка закрыть всё через robots.txt, потому что robots.txt запрещает обход, но не всегда гарантирует удаление уже известного URL из выдачи.

Если у вас установлен SEO-плагин, проверьте, умеет ли он отдельно задавать правила для страниц поиска. Во многих случаях это делается в настройках индексации или в шаблонах мета-тегов. Логика простая: для search results ставится noindex, follow или эквивалентная настройка, чтобы поисковик не индексировал саму страницу, но мог пройти по ссылкам внутри неё, если они есть.

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

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

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

    return $robots;
} );

Этот код не трогает остальные страницы сайта. Условие is_search() срабатывает только на результатах поиска WordPress. Если вы добавляете код в тему, помните, что при смене темы он исчезнет. Для постоянного решения лучше использовать дочернюю тему или mu-plugin.

Когда имеет смысл дополнительно закрыть поиск в robots.txt

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

Для WordPress можно добавить правило, которое блокирует URL с параметром s=:

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

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

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

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

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

Чтобы ускорить процесс, проверьте три вещи:

  • на страницах поиска действительно появился noindex в HTML-коде;
  • эти URL не попадают в sitemap;
  • на них нет внутренних ссылок с сайта в заметном количестве.

Если в sitemap по ошибке попадают search URL, их нужно убрать. WordPress сам по себе обычно не добавляет результаты поиска в XML-карту сайта, но плагины или кастомные решения могут это делать. Если такие адреса есть в sitemap, поисковик получает лишний сигнал, что страница важна.

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

Как не сломать полезные страницы сайта

Самая частая ошибка — закрыть слишком широко и задеть не только поиск, но и нормальные страницы. Обычно это происходит, когда пытаются решить задачу через грубые правила в robots.txt или через шаблонные настройки плагина без проверки.

Чтобы не навредить сайту, держитесь трёх правил:

  1. закрывайте только страницы результатов поиска, а не весь сайт с параметром в URL;
  2. проверяйте исходный код страницы после изменения настроек;
  3. не блокируйте в robots.txt то, что должно оставаться доступным для обхода и индексации.

Если на сайте есть поиск по товарам, записям или каталогу с полезными фильтрами, не смешивайте его с обычными результатами поиска WordPress. Фильтры и фасетная навигация — отдельная история, и для них правила могут быть другими. Здесь речь именно о внутренних search results, которые не несут самостоятельной ценности для выдачи.

Как проверить, что страницы поиска закрыты правильно

После настройки откройте несколько URL поиска вручную, например с разными запросами, и посмотрите исходный код страницы. В HTML должен быть мета-тег robots с noindex, если вы использовали этот способ. Если вы ставили правило через wp_robots, оно должно появляться только на страницах поиска, а на обычных страницах — нет.

Дальше проверьте:

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

Если страница всё ещё индексируется, обычно причина одна из трёх: noindex не выводится на реальной странице, robots.txt блокирует обход раньше, чем поисковик увидит мета-тег, или URL продолжает активно ссылаться внутри сайта и снаружи. В таком случае нужно смотреть не только на настройку WordPress, но и на то, как именно формируются ссылки и карта сайта.

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

}
Как отключить или ограничить архивы в WordPress: рубрики, теги, даты и авторов
31.10.2026
Как изменить slug записей, страниц и рубрик в WordPress без ошибок
22.10.2026
Как настроить хлебные крошки в WordPress для SEO и удобной навигации
09.11.2026
Как закрыть от индексации страницы поиска WordPress
28.10.2026
Как отключить лишние скрипты и стили WordPress на отдельных страницах
15.10.2026