Как исключить страницы из поиска в WordPress через noindex и robots.txt

В WordPress часто нужно убрать из поиска не весь сайт, а только отдельные страницы: служебные разделы, внутренние фильтры, результаты поиска по сайту, архивы с дублями, страницы благодарности, черновые посадочные. Ошибка здесь одна и та же: в robots.txt закрывают то, что уже успело попасть в индекс, или ставят noindex там, где поисковик вообще не может увидеть страницу из-за запрета на обход.

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

Когда проблема именно в индексации, а не в доступе

Сначала стоит понять, что именно нужно исправить. Если страница уже есть в поиске, но не должна там быть, задача решается через мета-robots или заголовок X-Robots-Tag. Если страница не должна даже обходиться роботами, тогда уместен robots.txt. Это разные механизмы, и они не заменяют друг друга.

Типичные сценарии

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

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

Диагностика: что сейчас стоит на странице

Перед правкой проверьте, какой сигнал уже отдаёт WordPress или тема. Часто проблема не в SEO-плагине, а в том, что шаблон выводит лишний meta-тег, а robots.txt закрывает не те пути.

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

  • исходный код страницы: есть ли <meta name="robots" content="noindex">;
  • HTTP-заголовки: не отдаёт ли сервер X-Robots-Tag: noindex;
  • robots.txt: не закрыт ли URL от обхода раньше, чем вы поставили noindex;
  • не генерирует ли SEO-плагин отдельные правила для архивов, таксономий или медиа;
  • не создаёт ли тема дубли через пагинацию, фильтры или параметры.

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

Как закрыть страницу от индексации через noindex

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

Вариант 1: через SEO-плагин

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

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

Вариант 2: через код для конкретного шаблона

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

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

Здесь 123 — ID страницы. Для служебных разделов лучше использовать не название, а ID или точное условие, чтобы не попасть в ловушку совпадающих слагов.

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

<?php
add_action( 'wp_head', function () {
    if ( is_page( array( 123, 124, 125 ) ) ) {
        echo '<meta name="robots" content="noindex, nofollow" />' . "\n";
    }
} );

Для более жёсткого контроля можно отправлять заголовок ответа:

<?php
add_action( 'send_headers', function () {
    if ( is_page( 123 ) ) {
        header( 'X-Robots-Tag: noindex, nofollow', true );
    }
} );

Этот вариант полезен, если страница может отдаваться не только как HTML, но и в других форматах, где мета-тег в <head> не сработает.

Когда использовать robots.txt, а когда не стоит

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

Но если URL уже в поиске, закрывать его только через robots.txt — плохая идея. Поисковик может оставить адрес в выдаче, потому что не увидит страницу и не получит сигнал на удаление.

Пример правил для robots.txt

User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Такой набор подходит не всем сайтам. Например, если внутренний поиск у вас живёт на другом пути, правило нужно менять под реальную структуру. Не копируйте чужой robots.txt без проверки URL на своём сайте.

Сравнение подходов

ПодходКогда применятьПлюсМинус
noindexСтраница уже доступна, но не должна быть в поискеДаёт прямой сигнал на исключение из индексаНужно дождаться переобхода
robots.txtНужно запретить обход технических URLЭкономит краулинговый бюджетНе удаляет URL из индекса сам по себе
X-Robots-TagНужен контроль на уровне ответа сервераРаботает без правки шаблонаТребует аккуратной настройки сервера или кода

Пошаговое решение без лишних рисков

  1. Определите, что именно нужно убрать: отдельную страницу, архив, таксономию или технический URL.
  2. Проверьте, есть ли страница уже в индексе.
  3. Если URL уже в поиске — ставьте noindex, а не только Disallow.
  4. Если URL технический и не должен обходиться — добавьте правило в robots.txt.
  5. Уберите внутренние ссылки на закрываемую страницу, если она больше не нужна пользователям.
  6. Проверьте исходный код и заголовки ответа.
  7. Отправьте URL на переобход в панели вебмастера, если страница уже была в индексе.

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

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

  • Откройте исходный код страницы и убедитесь, что есть noindex.
  • Проверьте ответ сервера через инструменты разработчика или curl -I.
  • Убедитесь, что в robots.txt нет правила, которое блокирует страницу раньше времени.
  • Если URL уже был в индексе, проверьте его статус в панели вебмастера после переобхода.

Пример проверки заголовков через консоль:

curl -I https://example.com/thank-you/

В ответе ищите X-Robots-Tag, если вы используете этот способ. Если его нет, а вы рассчитывали именно на заголовок, значит код не сработал или условие выбрано неверно.

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

Закрыли URL в robots.txt и ждёте удаления из индекса

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

Ставят noindex на страницу, которая уже заблокирована robots.txt

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

Используют слишком широкие условия в коде

Например, закрывают все страницы с похожим шаблоном, хотя нужно только одну. В результате из поиска пропадают полезные материалы. Решение — проверять ID, точный шаблон или конкретный тип записи.

Забывают про внутренние ссылки

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

Безопасность и производительность

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

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

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

Что должно получиться в итоге

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

WooCommerce: Автоматическое изменение стоимости товаров с точной границей и проверкой условий
16.08.2026
Как создать автоматический импорт продуктов в WooCommerce с примерами кода и плагинами
15.09.2026
Как отключить emoji-скрипты и лишние стили в WordPress без поломки редактора
27.08.2026
Как отключить открытые XML sitemap для приватных страниц в WordPress
06.09.2026
Автоматическое удаление неиспользуемых плагинов в WordPress: практическое руководство с примерами кода
15.09.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее