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

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

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

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

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

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

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

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

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

  1. в коде страницы нет мета-тега noindex;
  2. страница доступна по нескольким адресам, а canonical указывает не туда;
  3. в sitemap попадают URL, которые вы не хотите индексировать.

Откройте проблемную страницу и посмотрите исходный код. Если у вас нет SEO-плагина, WordPress сам не добавит noindex для служебных URL. Значит, сигнал нужно добавить вручную.

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

  • есть ли в <head> тег <meta name="robots" content="noindex,follow">;
  • не закрыта ли страница случайно через robots.txt вместо мета-тега;
  • не ведёт ли canonical на другой URL без причины;
  • не попадает ли страница в XML-карту сайта;
  • не создаёт ли тема или плагин собственный вывод архивов.

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

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

Пример ниже закрывает поиск, архивы тегов и авторов, а также отдельные страницы по ID. Код можно положить в functions.php дочерней темы или в собственный мини-плагин.

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

    // Закрыть конкретные страницы по ID.
    $noindex_ids = array( 12, 34, 56 );
    if ( is_page( $noindex_ids ) ) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1 );

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

Если нужно закрыть только часть архивов

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

<?php
add_action( 'wp_head', function () {
    if ( is_tag() ) {
        $term = get_queried_object();

        if ( $term instanceof WP_Term && (int) $term->count < 3 ) {
            echo '<meta name="robots" content="noindex,follow" />' . "\n";
        }
    }
} );

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

Что делать с canonical и sitemap

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

Проверьте два момента:

  • страница не должна быть в XML sitemap;
  • canonical должен указывать на саму страницу, если это нормальная страница, или на основную версию, если это дубль.

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

Сравнение подходов: плагин, код, robots.txt

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

Важно не путать robots.txt и noindex. Первый ограничивает обход, второй — индексацию. Если страница уже в поиске, чаще нужен именно мета-тег или заголовок X-Robots-Tag.

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

После правки не полагайтесь на «вроде работает». Проверьте результат вручную и через инструменты поисковиков.

  1. Откройте страницу в браузере и посмотрите исходный код.
  2. Убедитесь, что в <head> появился noindex,follow.
  3. Проверьте, не выводится ли этот тег на страницах, которые должны индексироваться.
  4. Если страница уже в индексе, отправьте её на переобход через инструменты вебмастера.
  5. Через несколько дней проверьте статус: исключена ли страница из индекса или помечена как «запрещено к индексации».

Для быстрой локальной проверки можно использовать curl и посмотреть HTML без браузерного кэша:

curl -s https://example.com/sample-page/ | grep -i robots

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

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

Ставят noindex через CSS или JavaScript

Поисковик не обязан исполнять ваш фронтенд-код так, как это делает браузер. Метка должна быть в HTML-ответе или в HTTP-заголовке.

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

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

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

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

Забывают про дубли с параметрами

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

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

Чем меньше логики вы размазываете по шаблонам, тем проще сопровождать сайт. Если решение нужно не на один день, лучше вынести его в небольшой mu-plugin или отдельный мини-плагин, а не править родительскую тему.

Ещё один практический момент: не добавляйте условные проверки в десятки файлов темы. Один аккуратный хук в functions.php или в мини-плагине проще отключить, протестировать и перенести на другой проект.

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

Когда лучше не трогать индексацию вручную

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

Рабочее правило простое: закрывайте то, что не должно быть в поиске по смыслу, а не то, что «не нравится в отчёте». Тогда настройка не начнёт конфликтовать с SEO и не создаст лишних сюрпризов после следующего обновления темы.

WooCommerce: использование атрибутов товаров для фильтрации и SEO
14.09.2026
WooCommerce: автоматическое удаление неактивных заказов
27.08.2026
Как автоматически редактировать изображения при загрузке в WordPress
15.09.2026
Как добавить динамический фильтр записей в шаблон WordPress
26.09.2026
WooCommerce: как быстро использовать хуки для добавления контента на страницы товара
27.09.2026