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

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

Что именно нужно отключать: поиск как функцию или только его страницы

Здесь важно не перепутать две задачи. Первая — убрать сам поиск на сайте, чтобы посетители не могли отправлять запросы через стандартную форму WordPress. Вторая — оставить поиск для людей, но не пускать в индекс страницы результатов, которые открываются по адресу с параметром ?s=.

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

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

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

Добавьте запрет в robots.txt

Если у вас есть доступ к корню сайта, откройте файл robots.txt и добавьте правило для поисковых URL WordPress:

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

Первое правило закрывает стандартные запросы WordPress с параметром s. Второе пригодится, если на сайте используется человекопонятный поиск вида /search/запрос/ через тему или плагин. Если такого формата у вас нет, вторую строку можно не добавлять.

После правки проверьте, что файл доступен по адресу https://ваш-домен/robots.txt и не перезаписывается кэширующим плагином или настройками хостинга.

Поставьте noindex на страницы поиска

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

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

Перед изменениями сделайте резервную копию файла или работайте через дочернюю тему: ошибка в functions.php может уронить сайт.

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

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

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

Как полностью отключить встроенный поиск WordPress

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

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

Ниже более мягкий вариант: если кто-то всё же откроет URL поиска вручную, вы отправите его на главную страницу. Такой подход подходит, когда поиск не нужен, но старые ссылки ещё могут встречаться.

add_action('template_redirect', function () {
    if (is_search()) {
        wp_safe_redirect(home_url('/'), 301);
        exit;
    }
});

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

Что делать, если поиск нужен, но он создаёт мусорные URL

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

Что обычно имеет смысл сделать:

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

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

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

После настройки откройте в браузере несколько адресов вида /?s=тест и убедитесь, что:

  • страница поиска либо не открывается, либо перенаправляет на нужный URL;
  • в исходном коде страницы есть meta name="robots" content="noindex,follow", если поиск оставлен;
  • в robots.txt присутствует правило для ?s=;
  • в выдаче поисковиков новые страницы поиска не появляются.

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

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

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

Если же поиск на сайте почти не нужен, а в логах и индексе уже накопились бесполезные URL, самый чистый вариант — убрать форму поиска, закрыть результаты от индексации и при необходимости настроить редирект со старых адресов. Так вы сохраните структуру сайта без лишнего мусора в выдаче и без ненужной нагрузки на сервер.

Как отключить встроенный поиск WordPress и убрать страницы результатов из индекса
26.10.2026
Как закрыть от индексации страницы вложений изображений в WordPress
16.10.2026
Как проверить и исправить canonical в WordPress, если страницы индексируются не туда
23.10.2026
Как установить ограничения на регистрацию пользователей в WordPress
01.10.2026
Как создать свой плагин в WordPress с назначением и примерами кода
03.10.2026