Как запретить индексацию отдельных страниц WordPress через noindex и robots

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

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

Обычно поводом становится не абстрактная «SEO-оптимизация», а конкретные симптомы в Search Console или в поиске по сайту:

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

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

Диагностика: что именно закрывать

Перед правками полезно разделить URL на три группы. Это экономит время и помогает не переборщить с запретами.

1. Страницы, которые должны открываться, но не индексироваться

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

2. Страницы, которые не должны даже обходиться

Это внутренние endpoint'ы, временные URL, технические файлы и некоторые параметры, которые не имеют смысла для краулинга. Их можно ограничить через robots.txt, но только если вы понимаете, что они не должны попадать в индекс как отдельные страницы.

3. Страницы, которые лучше исправить, а не закрывать

Если у вас дубли из-за неправильных canonical, одинаковых title, пагинации или параметров фильтра, сначала стоит устранить причину. Иначе вы просто спрячете симптом, а не решите проблему.

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

Пошаговое решение без лишнего риска

Ниже — рабочая схема, которую удобно применять на обычном сайте WordPress без WooCommerce-специфики.

Шаг 1. Закройте от индексации служебные страницы через мета-тег

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

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_search() || is_author() ) {
        $robots['noindex']  = true;
        $robots['nofollow'] = false;
    }

    if ( is_paged() && is_archive() ) {
        $robots['noindex'] = true;
    }

    return $robots;
} );

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

Шаг 2. Для отдельных шаблонов используйте условие по типу записи или таксономии

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

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_tax( 'project_tag' ) ) {
        $robots['noindex'] = true;
    }

    return $robots;
} );

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

Шаг 3. Добавьте ограничения в robots.txt только для технических URL

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

User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

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

Шаг 4. Проверьте canonical и пагинацию

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

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

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

После внедрения не ограничивайтесь просмотром исходника. Проверьте несколько уровней:

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

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

curl -I https://example.com/sample-page/

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

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

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

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

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

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

Путаете canonical и noindex

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

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

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

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

Технически это не тяжёлая оптимизация, но есть несколько моментов, которые лучше учесть заранее:

  • не редактируйте functions.php основной темы без бэкапа — лучше вынести логику в мини-плагин;
  • если правила завязаны на типы страниц, тестируйте их после обновления темы и SEO-плагина;
  • не закрывайте от индексации страницы, которые используются в sitemap, если вы не понимаете последствия;
  • для массовой чистки дублей сначала проверьте логику шаблонов, а уже потом директивы для роботов.

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

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

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

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

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

Как автоматически удалять неиспользуемые категории в WordPress
03.04.2026
Как установить автоматический редирект после изменения слага в WordPress
20.12.2025
Как использовать WP-Cron для автоматизации задач в WordPress
26.04.2026
Как правильно отлаживать REST API в WordPress: практическое руководство
31.12.2025
Как запретить индексацию отдельных страниц WordPress через noindex и robots
21.08.2026