wpurok.ru wordpress WPUrok

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

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

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

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

Типичный сценарий: в Google Search Console или Яндекс.Вебмастере появляются страницы, которые не должны ранжироваться. Это могут быть:

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

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

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

  • Есть ли у страницы мета-тег noindex в исходном коде.
  • Не закрыта ли она только в robots.txt — этого может быть мало.
  • Не прописан ли на ней канонический URL на другую страницу.
  • Не генерирует ли тема или плагин дубли с параметрами.
  • Не отдаёт ли страница код ответа 200 там, где должен быть редирект или 404.

Как выбрать способ: плагин, код или серверная настройка

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

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

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

Диагностика: почему страница всё ещё индексируется

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

Проверьте исходный код страницы и ответ сервера. Для этого удобно использовать:

  • просмотр HTML в браузере;
  • curl -I https://example.com/page/ для проверки кода ответа;
  • инструменты проверки URL в Search Console;
  • поиск по сайту через site:domain.ru как быстрый индикатор, но не как точный источник.

Если страница отдаёт 200 OK и не содержит noindex, поисковик имеет полное право держать её в индексе.

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

Ниже пример для мини-плагина или functions.php. Он добавляет noindex, nofollow для поисковой страницы, архивов автора и тегов. Такой вариант подходит, если вы хотите управлять индексацией без отдельного SEO-плагина.

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

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

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

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

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

Если нужен канонический URL

Иногда страницу лучше не закрывать полностью, а указать каноническую версию. Например, если у вас есть дубли с параметрами сортировки или пагинации. В этом случае noindex может быть лишним, а rel="canonical" поможет объединить сигналы.

<?php
add_action('wp_head', function () {
    if (is_page('search-results')) {
        echo '<link rel="canonical" href="' . esc_url(home_url('/')) . '" />' . "\n";
    }
}, 1);

Но не ставьте каноникал на случайные URL без логики. Канонический адрес должен быть действительно основным вариантом страницы.

Как закрыть архивы, теги и поиск через SEO-плагин

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

Логика обычно такая:

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

Если используете Clearfy Pro, проверьте, не дублирует ли тема SEO-логику. Два плагина, которые одновременно добавляют мета-теги robots, часто создают конфликт: в коде может оказаться сразу несколько директив.

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

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

  • Откройте исходный код страницы и убедитесь, что есть только одна директива robots.
  • Проверьте, что страница отдаёт ожидаемый код ответа: 200, 301 или 404.
  • Посмотрите, не попала ли страница в XML-карту сайта.
  • Отправьте URL на повторную проверку в Search Console.
  • Сравните статус URL до и после изменения через несколько обходов робота, а не сразу.

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

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

Закрыли страницу только в robots.txt

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

Поставили noindex, но оставили страницу в карте сайта

Так поисковик получает противоречивые сигналы. Если страница не должна индексироваться, уберите её из sitemap.

Добавили несколько meta robots от разных плагинов

Иногда в коде одновременно есть index, follow и noindex, nofollow. В такой ситуации поведение может быть непредсказуемым. Оставьте один источник управления.

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

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

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

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

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

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

В итоге рабочая схема обычно такая: сначала диагностировать, какие URL реально мешают, затем выбрать один способ управления индексированием, после этого проверить исходный код, sitemap и статус в панели вебмастера. Именно эта последовательность даёт предсказуемый результат без лишних правок в robots.txt.

×

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

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

пишет статьи

готовит SEO

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

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