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

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

Здесь важно не смешивать две задачи: запрет обхода через robots.txt и запрет индексации через meta robots или заголовок X-Robots-Tag. Это не одно и то же, и ошибка в выборе инструмента часто приводит к тому, что страница остается в выдаче, хотя на нее уже никто не должен попадать.

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

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

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

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

Диагностика: что именно сейчас индексируется

Перед правкой проверьте, что поисковик реально видит. Не ориентируйтесь только на настройки плагина SEO.

Проверка через браузер и исходный код

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

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

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

Проверка robots.txt

Откройте /robots.txt и убедитесь, что там нет слишком широких правил. Например, вот так делать опасно:

User-agent: *
Disallow: /

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

Проверка в поисковой консоли

Если есть доступ к Google Search Console или Яндекс.Вебмастеру, проверьте статус URL: индексируется ли страница, есть ли у нее каноникал, не блокируется ли она robots.txt. Это помогает понять, что именно мешает исключению из выдачи.

Рабочая схема: когда использовать robots.txt, а когда meta robots

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

ПодходКогда подходитМинус
robots.txtНужно ограничить обход технических разделовНе убирает URL из индекса сам по себе
meta robots noindexСтраница доступна, но не должна индексироватьсяСтраница все еще доступна по прямой ссылке
X-Robots-TagНужно закрыть от индексации файл или тип ответа без HTMLТребует серверной настройки

Для большинства WordPress-сценариев достаточно noindex на конкретных типах страниц и аккуратного robots.txt для обхода служебных путей.

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

Шаг 1. Закройте отдельную страницу через meta robots

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

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

    return $robots;
} );

Замените 123 на ID нужной страницы. Если нужно закрыть несколько страниц, можно использовать массив ID или проверку по слагу через is_page( 'slug' ).

Шаг 2. Закройте архивы или поиск по условию

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

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

    return $robots;
} );

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

Шаг 3. Добавьте точечные правила в robots.txt

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

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

Sitemap: https://example.com/sitemap_index.xml

Здесь важно не копировать правила вслепую. Например, Disallow: /tag/ имеет смысл только если у вас действительно архивы тегов не должны обходиться. На некоторых проектах теги дают трафик и их закрывать не нужно.

Шаг 4. Если нужно закрыть файлы, используйте X-Robots-Tag

Для PDF, CSV и других файлов HTML-мета-тег не сработает. Тогда удобнее отправлять заголовок ответа. В WordPress это можно сделать через send_headers или на уровне сервера. Пример для PHP:

<?php
add_action( 'send_headers', function() {
    if ( is_singular() ) {
        return;
    }

    if ( isset( $_SERVER['REQUEST_URI'] ) && str_ends_with( $_SERVER['REQUEST_URI'], '.pdf' ) ) {
        header( 'X-Robots-Tag: noindex, nofollow', true );
    }
} );

Этот пример нужно адаптировать под реальный способ раздачи файлов. Если файлы отдает не WordPress, а веб-сервер или CDN, правка должна быть там.

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

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

  • откройте страницу в браузере и проверьте наличие <meta name="robots";
  • посмотрите заголовки ответа через DevTools или curl -I;
  • проверьте, не блокируется ли URL в robots.txt раньше, чем поисковик увидит noindex;
  • в Search Console отправьте URL на повторную проверку, если страница уже была в индексе;
  • убедитесь, что канонический URL не указывает на закрытую страницу, если это не задумано специально.

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

curl -I https://example.com/search/

В ответе ищите X-Robots-Tag или косвенно проверяйте, что страница отдает нужный HTML с noindex.

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

Закрыли в robots.txt, но URL остался в индексе

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

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

Проверьте, не конфликтует ли ваш код с плагином SEO. Иногда тема или плагин выводят собственный robots-мета-тег, а ваш фильтр не срабатывает из-за приоритета или условий. Еще одна причина — страница закрыта от сканирования в robots.txt, и поисковик не видит noindex.

Скрыли слишком много

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

Использовали nofollow вместо noindex

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

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

Если вы правите robots.txt и robots-мета вручную, держите изменения в коде темы или в небольшом mu-plugin, а не в случайных сниппетах из админки. Так проще отследить, что именно сломало индексацию после обновления.

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

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

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

WooCommerce: автоматическое отключение товаров по запасу с помощью кода
04.08.2026
Как автоматизировать удаление спам-комментариев в WordPress
22.02.2026
WooCommerce: как автоматически отключать товары после продажи
13.06.2026
WooCommerce: как автоматически удалять старые заказы по расписанию без плагинов
16.07.2026
WooCommerce: автоматическое отключение товара после продажи
10.06.2026