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

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

Задача здесь не в том, чтобы «сломать поиск», а в том, чтобы оставить его рабочим для пользователей и одновременно убрать результаты поиска из индекса. Ниже — рабочая схема без вымышленных хуков и без лишней магии.

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

Сначала проверьте, что именно индексируется. На практике чаще всего встречаются такие сценарии:

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

Как быстро диагностировать

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

  • откройте URL поиска в браузере, например https://site.ru/?s=test;
  • посмотрите исходный код страницы и наличие noindex в <meta name="robots">;
  • проверьте заголовки ответа, если используете серверные правила;
  • в Search Console или Яндекс.Вебмастере найдите страницы поиска в отчётах об индексировании;
  • сравните, не появляются ли разные URL с одинаковой выдачей.

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

Что лучше: плагин, код или серверные правила

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

ПодходКогда подходитПлюсыМинусы
Плагин SEOЕсли уже используется SEO-плагин и нужна быстрая настройкаМеньше кода, проще поддержкаЗависимость от интерфейса и логики плагина
Код в теме или мини-плагинеЕсли нужен точечный контроль без лишних зависимостейПрозрачно, легко проверитьНужно аккуратно сопровождать обновления
Серверные правилаЕсли нужно жёстко закрыть конкретные URLРаботает до загрузки WordPressЛегко ошибиться и закрыть лишнее

Для большинства сайтов достаточно кода в WordPress: он понятен, не ломает поиск и позволяет гибко управлять мета-тегами и заголовками.

Пошаговое решение через код

Если у вас нет SEO-плагина или вы не хотите завязываться на его настройки, добавьте запрет индексации для страниц поиска через фильтр wp_robots. Это современный и безопасный способ для WordPress 5.7+.

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

    return $robots;
} );

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

Если нужно ещё и убрать поиск из карты сайта

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

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

Диагностика после внедрения

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

  1. Откройте страницу поиска в режиме инкогнито.
  2. Посмотрите исходный код и найдите noindex.
  3. Проверьте заголовок ответа через curl -I или инструменты браузера.
  4. Очистите кэш сайта, если используется плагин кэширования или CDN.
  5. Повторно проверьте URL через инспекцию в Search Console.
curl -I "https://site.ru/?s=test"

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

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

Добавили noindex, но страница всё равно в индексе

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

Закрыли поиск в robots.txt вместо noindex

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

Сломали поиск для пользователей

Иногда в попытке закрыть индексацию разработчик начинает отдавать 404 или редиректить все поисковые URL на главную. Так делать не стоит: пользовательский поиск должен работать. Закрывайте от индексации, а не от доступа.

Конфликт с SEO-плагином

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

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

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

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

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

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

Признаки корректной настройки простые и проверяемые:

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

Если всё это выполняется, значит вы закрыли именно индексацию, а не доступ к поиску. Для WordPress это обычно и есть правильный баланс между SEO и удобством сайта.

Как использовать WP-Cron для автоматического удаления старых тикетов в WordPress
23.06.2026
Как настроить безопасный импорт тикетов в WordPress
12.07.2026
Как закрыть от индексации страницы авторов в WordPress
22.08.2026
Как создать автоматический импорт тикетов в WordPress
07.03.2026
Добавление автоматического присоединения файлов к тикетам в WordPress
04.01.2026