WPFAQ

Как запретить индексацию отдельных страниц WordPress: noindex, robots.txt и canonical без лишних ошибок

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

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

Какие страницы обычно стоит закрывать

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

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

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

Диагностика: как понять, что именно индексируется лишнего

Перед правкой проверьте фактическое поведение сайта, а не только настройки в админке. Частая ошибка — закрыть страницу в плагине, но оставить её доступной через sitemap, внутренние ссылки или каноникал на саму себя.

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

  • исходный код страницы: есть ли <meta name="robots" content="noindex,follow">;
  • заголовок ответа сервера: нет ли случайного X-Robots-Tag;
  • канонический URL: не указывает ли он на ту же страницу с параметрами;
  • наличие URL в XML-карте сайта;
  • внутренние ссылки из меню, виджетов и хлебных крошек;
  • реакцию Google Search Console на конкретный URL.

Проверить мета-тег можно прямо в браузере или через curl:

curl -I https://example.com/?s=test

Если страница должна быть закрыта, а в ответе нет ни X-Robots-Tag, ни noindex в HTML, значит настройка не сработала или применяется не к тому шаблону.

Пошаговое решение: закрываем страницы от индексации правильно

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

ПодходКогда использоватьПлюсМинус
SEO-плагинДля большинства типовых архивов и страницБыстро и без кодаМеньше контроля над логикой
Код в теме/плагинеКогда нужны точечные правилаТочный контрольНужно следить за обновлениями
robots.txtЧтобы ограничить обход служебных URLПросто и быстроНе удаляет URL из индекса сам по себе

1. Добавляем noindex для конкретных шаблонов

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

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

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

2. Закрываем служебные URL через X-Robots-Tag

Для файлов, PDF, выгрузок или отдельных endpoint-страниц удобнее использовать заголовок ответа. Так поисковик увидит правило еще до загрузки HTML.

add_action('send_headers', function () {
    if (is_search()) {
        header('X-Robots-Tag: noindex, follow', true);
    }
});

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

3. Ограничиваем обход в robots.txt

robots.txt нужен не вместо noindex, а вместе с ним, когда вы хотите сократить обход мусорных URL. Например, для внутреннего поиска и некоторых параметров:

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

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

Как настроить canonical, чтобы не плодить дубли

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

Пример: URL /category/news/?sort=popular должен указывать canonical на /category/news/, если параметр не меняет смысл страницы.

add_filter('get_canonical_url', function ($canonical, $post) {
    if (is_search()) {
        return false;
    }

    return $canonical;
}, 10, 2);

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

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

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

  • Откройте страницу в режиме просмотра исходного кода и найдите noindex.
  • Проверьте заголовки ответа через curl -I или DevTools.
  • Убедитесь, что URL не попал в XML-sitemap.
  • Посмотрите, не осталось ли на него внутренних ссылок из меню, виджетов и хлебных крошек.
  • В Google Search Console отправьте проверку URL и посмотрите, как робот его видит.

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

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

Блокируют URL в robots.txt, но не ставят noindex

В итоге страница может продолжать висеть в индексе как «запрещенная к обходу», потому что поисковик не видит HTML и не получает явную директиву на исключение. Решение: сначала noindex, потом ограничение обхода, если оно действительно нужно.

Закрывают страницу, но оставляют её в карте сайта

Это создает противоречие: sitemap говорит «страница важна», а robots — «не индексировать». Уберите URL из sitemap, если он не должен ранжироваться.

Ставят noindex на все архивы подряд

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

Дублируют правила в плагине и в теме

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

Практические советы по безопасности и производительности

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

Еще один практический момент: не пытайтесь закрыть от индексации все подряд ради «чистоты». Чем больше исключений, тем выше шанс сломать полезные страницы. Сначала определите, какие URL реально создают дубли или технический шум, и только потом добавляйте правила.

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

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

×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее