WordPress Notes Premiumwp

Как запретить индексацию отдельных страниц WordPress без вреда для SEO

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

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

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

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

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

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

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

Перед правкой кода проверьте, какие URL уже индексируются. Это можно сделать в Google Search Console, через поиск по сайту и в логике самого шаблона. Если на сайте много дублей, полезно сравнить:

СценарийЧто видно в индексеЧто делать
Внутренний поискURL с ?s=Закрыть от индексации и, при необходимости, от сканирования
Архивы теговСтраницы тегов с похожими анонсамиОставить только полезные теги, остальные закрыть
Пагинация/page/2/, /page/3/Проверить, не создают ли они мусорный индекс
Параметры URL?orderby=, ?filter=Нормализовать URL или закрыть технические варианты

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

Пошаговое решение через noindex в шаблоне

Самый надежный вариант для конкретных шаблонов — добавить мета-тег robots через wp_head. Так вы управляете индексацией на уровне темы или дочерней темы и не зависите от внешнего плагина.

1. Закрываем внутренний поиск и архивы тегов

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

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

2. Закрываем архив автора на сайте с одним автором

<?php
add_action('wp_head', function () {
    if (is_author() && count_users()['total_users'] === 1) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
});

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

3. Закрываем технические страницы по шаблону

<?php
add_action('wp_head', function () {
    if (is_page(array('spasibo', 'politika-konfidencialnosti', 'usloviya')) ) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
});

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

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

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

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

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

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

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

  1. Откройте страницу в браузере и проверьте исходный код: должен быть виден <meta name="robots" content="noindex,follow">.
  2. Проверьте ответ URL через инструменты разработчика или командой curl -I, если вы используете заголовок X-Robots-Tag.
  3. В Google Search Console отправьте URL на повторную проверку и посмотрите, как меняется статус индексации.

Если страница все еще индексируется, проверьте, не конфликтует ли ваш код с SEO-плагином. Некоторые плагины уже выводят свой robots meta, и тогда нужно не дублировать тег, а менять настройку в одном месте.

Альтернатива через SEO-плагин: когда это проще

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

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

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

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

Ставят noindex и одновременно закрывают URL в robots.txt

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

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

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

Дублируют robots meta из нескольких источников

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

Проверяют только главную страницу

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

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

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

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

<?php
add_action('wp_head', function () {
    $noindex_pages = array('spasibo', 'politika-konfidencialnosti', 'usloviya');

    if (is_page($noindex_pages)) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
});

Такой вариант проще сопровождать: список страниц меняется в одном месте, а логика остается прозрачной.

Что должно быть в чек-листе перед публикацией

  • Определен конкретный тип страниц, который нужно закрыть.
  • Проверено, не конфликтует ли код с SEO-плагином.
  • На странице есть один понятный robots-сигнал.
  • Robots.txt не блокирует обход там, где нужен noindex.
  • URL проверен в исходном коде и через Search Console.
  • После правки не появились новые дубли с параметрами или пагинацией.

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

×
Quizle
Получите больше лидов и увеличьте продажи!
-15%

на премиум плагин WordPress

Получить скидку ⋙