wpcompany.ru wordpress WPCompany

Как отключить индексацию архивов таксономий и страниц пагинации в WordPress

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

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

Когда это действительно нужно

Сначала стоит понять, что именно вы хотите убрать из индекса. Не все архивы одинаково бесполезны. Например, категории с сильным трафиком часто лучше оставить открытыми, а вот теги, служебные рубрики и архивы с 1–2 записями обычно только размывают структуру сайта.

Типичные симптомы

  • в Google Search Console много URL вида /tag/..., /topic/..., /page/2/ и похожих, но они не дают трафика;
  • в выдаче появляются дубли архивов с почти одинаковыми сниппетами;
  • краулер тратит время на страницы, которые не несут самостоятельной ценности;
  • SEO-плагин уже ставит canonical, но страницы всё равно индексируются.

Что не стоит закрывать без проверки

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

Диагностика: какие URL уже попали в индекс

Перед изменениями проверьте, какие типы страниц уже индексируются. Самый быстрый способ — поиск по site: и отчёт в Search Console. Если у вас есть доступ к логам краулера, посмотрите, какие архивы чаще всего обходятся ботом.

Полезно сравнить три вещи:

  • какие архивы существуют физически на сайте;
  • какие из них получают внутренние ссылки;
  • какие URL уже есть в индексе и приносят показы.

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

Пошаговое решение через SEO-плагин

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

Что обычно настраивают

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

Плюс такого подхода в том, что плагин сам управляет meta robots и canonical. Минус — не всегда можно настроить точечно именно то, что нужно. Если интерфейса недостаточно, переходите к коду.

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

Решение через код: noindex для архивов таксономий

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

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

    return $robots;
} );

Этот вариант удобен, если вы хотите закрыть, например, только теги и кастомную таксономию topic, но оставить категории открытыми. Если у вас другой набор таксономий, замените их на свои слагы.

Как закрыть только пустые архивы

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

<?php
add_filter( 'wp_robots', function( $robots ) {
    if ( is_tax() ) {
        $term = get_queried_object();

        if ( $term instanceof WP_Term ) {
            $count = (int) $term->count;

            if ( $count < 3 ) {
                $robots['noindex'] = true;
            }
        }
    }

    return $robots;
} );

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

Что делать со страницами пагинации

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

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

<?php
add_filter( 'wp_robots', function( $robots ) {
    if ( is_archive() && get_query_var( 'paged' ) > 1 ) {
        $robots['noindex'] = true;
    }

    return $robots;
} );

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

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

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

Чек-лист проверки

  • откройте исходный код страницы архива и найдите meta robots;
  • проверьте, что на нужных URL есть noindex;
  • убедитесь, что на открытых категориях директива не появилась случайно;
  • посмотрите canonical: он должен вести на корректный основной URL;
  • в Search Console отправьте URL на повторную проверку после переобхода;
  • проверьте, не закрыли ли вы важные страницы пагинации, если они реально дают трафик.

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

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

Путают noindex и disallow

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

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

Так часто ломают полезные категории. Исправление простое: разделите архивы по типам и закрывайте только те, которые не несут ценности. Для этого и нужен точечный код с is_tax() или списком нужных таксономий.

Дублируют логику SEO-плагина

Если плагин уже добавляет robots meta, а вы сверху добавляете свой фильтр, можно получить конфликтующие директивы. В таком случае оставьте один источник истины: либо настройки плагина, либо код.

Забывают про canonical

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

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

Код для robots лучше хранить не в шаблоне, а в отдельном мини-плагине или mu-plugin. Тогда он не пропадёт после обновления темы. Это особенно важно, если вы закрываете архивы на продакшене и не хотите случайно откатить настройку при редизайне.

Если на сайте много архивов и таксономий, не делайте тяжёлые запросы на каждом хите. Для проверки количества записей достаточно данных термина, а не дополнительного SQL-запроса. Чем проще условие, тем меньше нагрузка на фронтенд.

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

Если после внедрения часть URL всё равно остаётся в индексе, это не всегда ошибка. Поисковику нужно время на переобход и переоценку страницы. Смотрите не на один день, а на динамику в Search Console и в логах обхода.

×
Прокачай свой сайт WordPress!

WordPress

-20% на премиум темы и плагины

Создай сайт своей мечты ⋙