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

Если в поиске уже всплывают URL вида ?s=, это обычно не «полезные страницы», а внутренние результаты поиска по сайту. Для посетителя они редко нужны в выдаче, а для сайта создают лишние дубли и засоряют индекс. Задача решается не одним способом: можно запретить индексацию самих страниц поиска, убрать их из карты сайта и, если нужно, дополнительно подсказать поисковикам через заголовок noindex.

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

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

В WordPress поиск обычно открывается по адресу с параметром ?s=, например / ?s=запрос или /search/?s=запрос — конкретный вид зависит от темы и настроек ЧПУ. Для поисковых систем это отдельные URL, и каждый введённый запрос может породить новую страницу. Если не ограничить индексацию, робот начнёт собирать десятки и сотни таких адресов.

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

Самый надёжный способ: отдать страницам поиска мета-тег noindex

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

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

Для WordPress достаточно повесить фильтр на robots meta. Этот вариант работает на уровне генерации HTML и не требует правок сервера:

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

    return $robots;
} );

Здесь is_search() срабатывает только на странице результатов поиска. noindex запрещает индексацию, а nofollow дополнительно говорит не передавать вес по ссылкам на этой странице. Для самой задачи убрать из индекса страницы поиска достаточно noindex; nofollow можно оставить, если вы не хотите, чтобы поисковик обходил ссылки из результатов поиска.

Код лучше добавлять в дочернюю тему или в отдельный мини-плагин. Не вставляйте его в файл основной темы, если тема обновляется: после обновления правка пропадёт.

Что делать с robots.txt

Частая ошибка — пытаться решить проблему только через robots.txt. Запрет в robots.txt не убирает URL из индекса сам по себе. Если поисковик уже знает адрес, он может продолжать показывать его без содержимого страницы. Поэтому robots.txt полезен как дополнительная мера, но не как единственный способ.

Если вы всё же хотите ограничить обход страниц поиска, можно добавить правило:

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

Но используйте его только как дополнение к noindex. На практике безопаснее сначала поставить noindex, а уже потом при необходимости ограничивать обход. Иначе робот может перестать заходить на страницу и не увидеть мета-тег с запретом индексации.

Как убрать страницы поиска из карты сайта

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

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

Если страницы уже в индексе: как ускорить их исчезновение

Когда URL с ?s= уже есть в выдаче, одного изменения на сайте может быть недостаточно для быстрого эффекта. Обычно нужно:

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

Если у вас подключены Яндекс Вебмастер или Google Search Console, можно проверить конкретный URL и запросить переобход. Это не гарантирует мгновенное удаление, но помогает ускорить обновление данных в индексе.

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

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

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

  • страница поиска открывается для пользователя и работает;
  • в исходном коде есть noindex;
  • URL с ?s= не попадает в sitemap.

Если используете Search Console или Яндекс Вебмастер, отправьте тестовый URL на проверку. Сначала статус может оставаться старым — это нормально. Поисковик обновляет данные не сразу.

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

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

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

В итоге рабочая схема простая: поставить noindex на страницы поиска, не включать их в sitemap и не пытаться заменить это одним запретом в robots.txt. Тогда поисковики постепенно уберут URL с ?s= из выдачи, а сайт перестанет раздавать мусорные адреса в индекс.

Как запретить индексацию отдельных страниц в WordPress через robots.txt, noindex и каноникал
12.09.2026
Как убрать из индекса страницы поиска WordPress
06.10.2026
Решение ошибки WP Mail SMTP в WordPress: практические методы и примеры
25.09.2026
Решение ошибки 403 Forbidden при загрузке медиафайлов в WordPress
21.09.2026
WooCommerce: решение проблемы с не обновляющейся ценой вариативных товаров
27.09.2026