wpspeed.ru wordpress wpspeed.ru

Как закрыть от индексации страницы поиска и архивы в WordPress

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

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

Что именно мешает индексации и как это увидеть

Перед правкой стоит понять, какие URL уже попали в индекс. Чаще всего это:

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

Проверка простая: в Google Search Console откройте отчёт по страницам и посмотрите, какие URL помечены как обнаруженные или просканированные, но не проиндексированные. Дополнительно можно вручную проверить несколько адресов через поиск по оператору site:.

Когда нужен robots.txt, а когда noindex

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

ПодходЧто делаетКогда применятьОграничение
robots.txtЗапрещает сканированиеДля служебных и бесполезных разделовНе гарантирует удаление из индекса, если URL уже известен
noindexПросит не индексировать страницуДля архивов, поиска, пагинацииСтраница должна быть доступна для обхода роботом
Код в темеТочный контроль шаблоновКогда плагин не даёт нужной гибкостиНужно аккуратно тестировать после обновлений темы

Пошаговое решение для WordPress

1. Закройте внутренний поиск от индексации

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

В robots.txt можно добавить запрет на сканирование поисковых URL:

User-agent: *
Disallow: /?s=
Disallow: /search/

Но этого недостаточно, если такие страницы уже в индексе. Тогда добавьте noindex в шаблон поиска:

<?php
if ( is_search() ) {
    echo '<meta name="robots" content="noindex,follow">' . "\n";
}
?>

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

2. Закройте архивы дат и авторов, если они не нужны

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

Надёжный вариант — добавить фильтр в тему или мини-плагин:

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

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

3. Уберите пагинацию архивов из индекса, если она создаёт дубли

Страницы вида /page/2/, /page/3/ часто не должны конкурировать с основной страницей архива. Для них обычно ставят noindex,follow, чтобы робот мог пройти по ссылкам, но не индексировал саму пагинацию.

Пример для functions.php или отдельного плагина:

<?php
add_action( 'wp_head', function () {
    if ( is_paged() && ( is_home() || is_archive() || is_search() ) ) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
}, 1 );

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

4. Проверьте robots.txt, но не переусердствуйте

robots.txt полезен для экономии обхода, но он не должен блокировать то, что нужно поиску для понимания страницы. Не стоит закрывать CSS, JS и изображения без причины: это мешает рендерингу и может ухудшить оценку страницы.

Базовый пример для служебных разделов:

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

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

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

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

  • Откройте страницу поиска и архивов в браузере, посмотрите исходный код и убедитесь, что есть meta name="robots" content="noindex,follow".
  • Проверьте robots.txt по адресу /robots.txt и убедитесь, что правила не конфликтуют между собой.
  • В Google Search Console отправьте URL на проверку и посмотрите, как робот видит страницу.
  • Через несколько дней проверьте отчёт по страницам: новые служебные URL не должны накапливаться в индексе.

Если страница всё ещё индексируется, проверьте, не отдаёт ли кэш старую версию без noindex. Это частая проблема после внедрения через плагин кэширования или CDN.

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

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

Это ожидаемо. Disallow запрещает сканирование, но не удаляет уже известный URL из индекса. Решение: временно разрешить обход, добавить noindex, дождаться переобхода и только потом при необходимости оставить запрет в robots.txt.

Поставили noindex через robots.txt

Так не работает. В robots.txt нельзя задать noindex для обычных страниц. Для этого нужен HTTP-заголовок или meta robots в HTML.

Сломали пагинацию архивов

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

Получили дубли из-за кэша

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

Что выбрать: плагин или код

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

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

Практический чек-лист перед публикацией правок

  • Проверил, какие служебные URL уже есть в индексе.
  • Решил отдельно для поиска, дат, авторов и пагинации.
  • Добавил noindex,follow туда, где нужен обход без индексации.
  • Обновил robots.txt только для экономии сканирования, а не вместо noindex.
  • Очистил кэш и проверил исходный код страницы.
  • Отправил проблемные URL на повторную проверку в Search Console.

Если после этого в индексе остаются старые адреса, не пытайтесь «додавить» их полным запретом в robots.txt. Сначала добейтесь корректного noindex и нормального переобхода, иначе поисковик просто перестанет видеть сигнал об удалении.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее