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

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

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

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

В стандартном WordPress результаты поиска открываются по адресу с параметром ?s=. Например, https://site.ru/?s=wordpress. Именно такие URL и нужно исключать из индекса, если вы не хотите видеть их в выдаче.

Есть два типичных варианта:

  • обычная страница результатов поиска по сайту;
  • страницы поиска с дополнительными параметрами, которые создают ещё больше дублей, например сортировки, фильтры или пагинация поиска, если тема или плагины их добавляют.

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

Самый правильный способ: поставить noindex на результаты поиска

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

Если вы правите тему, добавьте в functions.php дочерней темы или в собственный мини-плагин такой код:

add_action('wp_head', function () {
    if (is_search()) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
});

Здесь noindex запрещает индексацию страницы, а follow оставляет поисковику возможность переходить по ссылкам на ней. Для страницы результатов поиска это обычно нормальный вариант: сама страница не нужна в выдаче, но ссылки с неё не обязательно блокировать.

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

Почему одного robots.txt недостаточно

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

Для внутренних страниц поиска правильнее использовать связку:

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

То есть robots.txt — это вспомогательный инструмент, а не основной способ убрать страницу из индекса.

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

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

Для WordPress можно добавить правило такого вида:

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

Первое правило закрывает стандартный поиск с параметром ?s=. Второе пригодится, если у вас есть отдельный URL поиска на красивом адресе, например через тему или плагин. Но конкретный путь зависит от того, как именно реализован поиск на сайте.

У этого способа есть ограничение: если поисковик не может просканировать страницу из-за Disallow, он может не увидеть мета-тег noindex. Поэтому лучше сначала поставить noindex, а уже потом, если нужно, ограничивать обход.

Если нужен более жёсткий вариант: X-Robots-Tag в заголовке

Иногда удобнее отдавать запрет на индексацию не через HTML, а через HTTP-заголовок X-Robots-Tag. Это полезно, если шаблон страницы формируется нестандартно или вы хотите управлять индексацией на уровне сервера.

Для Apache можно добавить правило в .htaccess, если на хостинге разрешён модуль mod_headers:

<IfModule mod_headers.c>
  <If "%{QUERY_STRING} =~ /(^|&)s=/">
    Header set X-Robots-Tag "noindex, follow"
  </If>
</IfModule>

Для Nginx это настраивается в конфигурации сервера, а не в .htaccess. Если у вас обычный shared-хостинг, скорее всего, доступ к Nginx-конфигу отсутствует, и тогда проще использовать вариант с wp_head или SEO-плагином.

Этот способ имеет смысл только если вы понимаете, где именно обрабатываются запросы и есть ли у вас доступ к серверной конфигурации. Для большинства сайтов на WordPress он не обязателен.

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

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

Проверьте три вещи:

  1. Откройте страницу поиска в браузере и посмотрите исходный код: в <head> должен быть <meta name="robots" content="noindex,follow"> или аналогичный тег от SEO-плагина.
  2. Убедитесь, что страница доступна без ошибок и не отдаёт редирект на главную без причины.
  3. Если используете Google Search Console или Яндекс Вебмастер, отправьте URL на повторную проверку после обновления страницы и дождитесь переобхода.

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

Что делать, если поиск уже попал в индекс

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

Но временное удаление — это не замена noindex. Если не убрать причину появления страниц поиска, они вернутся в индекс снова.

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

Какой способ выбрать в обычном проекте

Если нужен короткий ответ: для WordPress почти всегда достаточно закрыть страницу поиска через noindex. Это самый безопасный и предсказуемый вариант.

СпособКогда использоватьКомментарий
noindex в HTMLПочти всегдаОсновной способ убрать страницу поиска из индекса
robots.txtДополнительно, если нужно сократить обходНе заменяет noindex
X-Robots-TagЕсли нужен серверный контрольПодходит при доступе к конфигурации сервера

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

Как закрыть от индексации страницы поиска WordPress
12.10.2026
Как убрать дубли title и meta description в WordPress
18.10.2026
Как отключить архивы дат в WordPress и не потерять SEO
15.10.2026
Оптимизация базы данных WordPress: как правильно ускорить сайт
30.09.2026
Как настроить robots.txt в WordPress для SEO
09.10.2026