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

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

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

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

Не стоит закрывать всё подряд. Для WordPress типичный список выглядит так:

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

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

Диагностика: где именно ломается индексация

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

Проверьте исходный код страницы

Откройте проблемный URL и найдите в <head> мета-тег:

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

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

Проверьте robots.txt

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

Пример, который часто встречается на практике:

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

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

Посмотрите карту сайта

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

Пошаговое решение без лишних правок в ядре

Самый безопасный путь — сначала закрыть страницы на уровне мета-тегов, затем убрать их из sitemap и только после этого при необходимости ограничить обход через robots.txt.

Шаг 1. Добавьте noindex для конкретных шаблонов

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

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

    return $robots;
} );

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

Шаг 2. Уберите URL из XML sitemap

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

Для собственного типа записей можно отключить его попадание в sitemap через аргументы регистрации, если это действительно служебный контент:

<?php
register_post_type( 'docs', array(
    'public'              => true,
    'show_in_rest'        => true,
    'exclude_from_search' => true,
    'publicly_queryable'  => true,
    'has_archive'         => false,
    'rewrite'             => false,
) );

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

Шаг 3. Ограничьте обход в robots.txt

Если нужно сократить нагрузку на сайт и убрать мусорные URL из обхода, добавьте правила в robots.txt. Для WordPress это можно сделать через фильтр robots_txt:

<?php
add_filter( 'robots_txt', function( string $output, bool $public ) {
    $output .= "\nDisallow: /search/";
    $output .= "\nDisallow: /?s=";
    $output .= "\nDisallow: /author/";

    return $output;
}, 10, 2 );

Но не добавляйте туда всё подряд. Если закрыть CSS, JS или изображения, можно сломать рендеринг и ухудшить диагностику в поисковых системах.

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

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

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

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

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

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

  1. Откройте URL в браузере и убедитесь, что в <head> появился noindex.
  2. Проверьте, что URL исчез из XML sitemap.
  3. Посмотрите статус в Google Search Console или другой панели вебмастера: страница должна перейти в состояние, связанное с исключением из индекса, а не продолжать считаться канонической.

Дополнительно можно проверить ответ сервера командой:

curl -I https://example.com/search/?s=test

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

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

Закрыли страницу в robots.txt, но не поставили noindex

Это самая частая ошибка. Поисковик может продолжать хранить URL в индексе, потому что запрет на обход не равен удалению из выдачи. Исправление: сначала noindex, потом при необходимости Disallow.

Добавили noindex, но URL остался в sitemap

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

Закрыли слишком много архивов

Иногда под раздачу попадают полезные рубрики, которые реально собирают трафик. Исправление: пересмотрите структуру сайта и закройте только пустые или дублирующие архивы.

Положились только на плагин и забыли про тему

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

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

Чем меньше лишних URL индексируется и обходится, тем проще поддерживать сайт. Но не стоит превращать robots.txt в свалку правил.

  • не закрывайте ресурсы, нужные для рендеринга страницы;
  • не используйте Disallow как замену noindex;
  • не добавляйте правила в файл темы, если они должны пережить обновление;
  • проверяйте, не создаёт ли плагин SEO дубли мета-тегов;
  • после изменений смотрите не только HTML, но и sitemap, и внутренние ссылки.

Если на сайте много технических дублей, иногда удобнее сначала навести порядок в шаблонах и архивных страницах, а уже потом править индексацию. Для этого полезно держать под рукой инструменты, которые умеют чистить дубли и служебные элементы без ручного редактирования каждой страницы, например Clearfy Pro: https://wpshop.ru/plugins/clearfy.

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

WooCommerce: как автоматически удалять товары из корзины по атрибутам и условиям
29.09.2026
Как удалить старые ревизии постов WordPress для оптимизации базы данных
03.10.2026
Как использовать хук filter pre_get_posts для автоматической фильтрации записей в WordPress
23.09.2026
WooCommerce: как автоматически удалять товары из корзины по атрибутам
27.09.2026
WooCommerce: автоматическое удаление неоплаченных заказов после истечения срока
28.09.2026
×
-15%
на премиум-тему
Bono

Создай магазин мечты
на WordPress!

↓ ↓ ↓ ↓ ↓
Купить со скидкой »