Как закрыть дубли страниц тегов от индексации в WordPress

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

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

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

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

Типичные признаки проблемы

  • в индексе есть десятки или сотни страниц тегов, но трафика они не дают;
  • страницы тегов повторяют категории почти один в один;
  • в Search Console растёт число «Просканировано, но не проиндексировано»;
  • на сайте есть теги с одинаковыми названиями, разными регистрами или транслитерацией;
  • архивы тегов доступны с пагинацией, сортировками и параметрами, которые не несут пользы пользователю.

Диагностика: что именно создаёт дубли

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

Проверка через поиск и Search Console

Сначала посмотрите, какие URL уже попали в индекс. В Google Search Console откройте отчёт по страницам и отфильтруйте URL, содержащие /tag/. Если видите большое число страниц без кликов и показов, это первый сигнал.

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

Быстрая проверка в коде темы

Иногда проблема не в самих тегах, а в том, что тема выводит одинаковые мета-теги для всех архивов. Это уже вопрос шаблонов и SEO-настроек. Если у вас нет отдельной SEO-системы, посмотрите, как формируется <title> и meta description для архивов.

<?php
if ( is_tag() ) {
    single_tag_title();
}
?>

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

Пошаговое решение: как закрыть теги от индексации

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

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

Вариант 1: через SEO-плагин

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

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

Вариант 2: через код для точечного управления

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

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

    return $robots;
} );

Такой код лучше размещать в дочерней теме или в небольшом mu-plugin, а не в functions.php активной темы, если вы часто обновляете тему.

Вариант 3: закрыть только пустые и слабые теги

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

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_tag() ) {
        $tag = get_queried_object();

        if ( $tag instanceof WP_Term ) {
            $count = (int) $tag->count;
            $description = trim( (string) term_description( $tag, 'post_tag' ) );

            if ( $count < 5 || '' === $description ) {
                $robots['noindex'] = true;
                $robots['follow']  = true;
            }
        }
    }

    return $robots;
} );

Логика с порогом < 5 — это не универсальное правило, а пример. Порог нужно подбирать по структуре конкретного сайта.

Что делать с дублями тегов и категорий

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

Чек-лист перед чисткой

  • оставить только те теги, которые используются как навигационные метки, а не как мусорные ключи;
  • объединить дубли с разным написанием: seo, SEO, сео;
  • удалить теги без записей или с одной записью, если они не несут смысла;
  • проверить, не создаёт ли импорт контента новые теги автоматически;
  • убедиться, что в шаблоне архива тега есть уникальный заголовок и описание, если архив оставляется открытым.

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

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

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

Что проверить вручную

  1. Откройте страницу тега в браузере и посмотрите исходный код.
  2. Найдите мета-роботс: должен быть noindex, если вы закрывали архив.
  3. Проверьте, что страница не отдаёт 404 и не закрыта в robots.txt, если вы рассчитываете на удаление из индекса через noindex.
  4. Убедитесь, что пагинация тегов не ломается и страницы постов продолжают открываться нормально.

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

curl -I https://example.com/tag/seo/

В заголовках вы не всегда увидите noindex, потому что чаще он выводится в HTML. Поэтому дополнительно откройте сам документ и проверьте наличие мета-роботов в исходнике.

Что смотреть в Search Console

После переобхода страницы не исчезнут сразу. Это нормально. Смотрите динамику: уменьшается ли число проиндексированных тегов, исчезают ли дубли в отчётах и не растёт ли количество исключённых URL из-за неправильных директив.

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

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

Закрыли тег в robots.txt вместо noindex

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

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

Иногда вместе с тегами случайно закрывают категории, авторов и даже пагинацию. Это уже может ударить по внутренней структуре сайта. Проверяйте условия в коде: is_tag() — это не то же самое, что is_tax() вообще.

Удалили теги, но не настроили редиректы

Если вы удаляете старые URL тегов, а на них есть внешние ссылки или внутренние переходы, настройте 301-редирект на релевантную категорию или на главную страницу раздела. Иначе получите цепочку 404 и потерю накопленного веса.

Оставили пустые архивы с индексом

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

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

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

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

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

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

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

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

Как закрыть страницы поиска WordPress от индексации
18.08.2026
Как закрыть дубли страниц тегов от индексации в WordPress
14.08.2026