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

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

Если у вас в выдаче появляются адреса вида ?s=..., а в Search Console растёт число страниц с низкой ценностью, имеет смысл закрыть именно поисковую выдачу, а не весь поиск как функцию. Ниже — рабочая схема без лишней магии: что проверить, как закрыть, чем отличается noindex от robots.txt и как убедиться, что решение не сломало поиск на сайте.

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

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

Признаки, что закрытие нужно

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

Что проверить в первую очередь

  • открываются ли результаты поиска по ?s=текст без ошибок;
  • есть ли у темы отдельный шаблон search.php;
  • не добавляет ли SEO-плагин свои мета-теги для search results;
  • не попадает ли поиск в XML-карту сайта;
  • не закрыт ли поиск уже через robots.txt, но без noindex.

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

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

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

ПодходЧто делаетКогда подходитОграничение
noindexПросит не индексировать страницуДля результатов поиска и служебных страницСтраница должна быть доступна роботу
robots.txtЗапрещает обходДля снижения нагрузки и экономии краулингаНе гарантирует удаление из индекса
Код в темеТочный контроль по типу страницыЕсли нужен безплагинный вариантТребует аккуратной поддержки

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

Если вы не хотите ставить отдельный плагин только ради одной настройки, проще всего добавить мета-тег noindex, follow для страниц поиска. Это безопаснее, чем пытаться «ломать» шаблон или удалять поиск целиком. Ниже пример для functions.php дочерней темы или собственного мини-плагина.

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

Этот вариант закрывает именно результаты поиска. Ссылки внутри страницы остаются доступными для обхода, а сам поиск продолжает работать для пользователей. Если у вас SEO-плагин уже выводит robots-мета, проверьте, не дублируется ли тег. Два разных robots-тега на одной странице — плохая идея.

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

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

<?php
add_action( 'wp_head', function () {
    if ( is_search() && ! have_posts() ) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1 );

Такой код лучше тестировать на реальном сайте с разными запросами. Важно не забыть, что have_posts() в wp_head может зависеть от порядка выполнения шаблона. Если тема нестандартная, безопаснее проверять это в шаблоне search.php или через SEO-плагин, если он умеет управлять мета-тегами на уровне шаблонов.

Как сделать это через SEO-плагин

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

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

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

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

  1. Откройте страницу поиска с запросом, например /?s=test.
  2. Посмотрите исходный код страницы и найдите <meta name="robots" content="noindex,follow" />.
  3. Убедитесь, что на странице нет второго конфликтующего robots-тега от темы или плагина.
  4. Проверьте, что поиск по сайту по-прежнему выдаёт результаты.
  5. В Search Console отправьте URL на повторную проверку, если страница уже была в индексе.

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

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

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

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

Добавили два robots-тега

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

Закрыли все страницы поиска, хотя они дают трафик

Иногда внутренний поиск по брендовым запросам или по каталогу полезен. В таком случае не нужно рубить всё подряд. Закрывайте только пустые результаты или только запросы с параметрами, которые создают мусор.

Сломали шаблон search.php

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

Чек-лист перед публикацией правки

  • проверен текущий статус страниц поиска в индексе;
  • выбран один способ управления robots-мета — код или SEO-плагин;
  • поиск остаётся доступным пользователям;
  • нет дубля robots-тега в исходном коде;
  • кэш очищен после изменений;
  • страницы поиска не попадают в XML-карту сайта без необходимости;
  • в Search Console отправлена повторная проверка важных URL.

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

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

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

Как настроить noindex для страниц пагинации в WordPress без поломки индексации
24.08.2026
Как автоматически отключить неиспользуемые плагины в WordPress
25.06.2026
Как закрыть страницы поисковой выдачи в WordPress от индексации
27.08.2026
Как отключить XML sitemap для отдельных типов записей в WordPress без поломки индексации
02.09.2026
Как создать собственный шорткод WordPress: подробное руководство с примерами кода
10.11.2025
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше