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

Когда в индексе начинают всплывать служебные страницы, архивы без ценности, результаты поиска по сайту или дубли пагинации, проблема обычно не в «плохом SEO», а в том, что WordPress по умолчанию публикует слишком много URL. Закрывать всё подряд нельзя: часть страниц должна оставаться доступной для обхода, но не попадать в поиск. Здесь важно разделить noindex и robots.txt, иначе легко получить ситуацию, когда страница не индексируется, но продолжает висеть в выдаче как «URL без описания».

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

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

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

Диагностика: что именно мешает индексации

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

Проверка в браузере и в исходном коде

Откройте проблемный URL и посмотрите исходный код страницы. Ищите строку вроде:

<meta name="robots" content="noindex,follow">

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

Что смотреть в robots.txt

Проверьте, не запрещены ли важные разделы слишком грубо. Типичная ошибка — закрыть весь /wp-content/ или даже весь сайт для роботов. Для индексации это уже не точечная настройка, а поломка обхода.

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

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

Пошаговое решение: закрываем URL без лишних побочных эффектов

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

Шаг 1. Добавьте noindex для нужных типов страниц

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

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

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

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

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

<?php
add_filter( 'robots_txt', function ( $output, $public ) {
    $output .= "\nDisallow: /search/";
    $output .= "\nDisallow: /author/";
    return $output;
}, 10, 2 );

Этот вариант уместен только если у вас действительно есть такие URL и вы понимаете, как они формируются. Для стандартного WordPress внутренний поиск обычно идёт через ?s=, а не через красивый путь /search/. Поэтому сначала проверьте реальные адреса на сайте.

Шаг 3. Для SEO-плагина проверьте настройки индексации архивов

Если на сайте уже стоит SEO-плагин, не дублируйте его логику кодом без необходимости. Сначала проверьте, не создаёт ли плагин собственные noindex и канонические URL. Иначе можно получить конфликт: тема выводит одно, плагин — другое, а в исходнике остаётся только последнее правило.

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

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

Проверка должна быть не «вроде исчезло из поиска», а по конкретным признакам. Сначала смотрим сам HTML, затем ответ сервера, затем статус в инструментах для вебмастеров.

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

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

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

Закрыли URL в robots.txt и забыли про noindex

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

Поставили noindex, но страница всё равно доступна в sitemap

Если URL остаётся в XML-карте сайта, вы отправляете поисковику противоречивый сигнал. Уберите такие страницы из sitemap на уровне SEO-плагина или генератора карты сайта. Иначе робот будет снова и снова получать URL, который вы хотите скрыть.

Закрыли архивы, которые реально дают трафик

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

Смешали каноникал, noindex и редирект

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

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

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

Если у вас много технических дублей, имеет смысл отдельно проверить:

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

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

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

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

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

Премиум шаблоны для WordPress Купить плагины для WordPress