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

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

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

Что именно считать дублем в WordPress

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

Типовые источники дублей

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

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

Диагностика: где искать проблему

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

Что смотреть в первую очередь

  • Google Search Console: отчёт по индексированию страниц и исключённым URL;
  • поисковую выдачу по оператору site:example.com с фильтром по типам страниц;
  • логи краулинга, если они доступны;
  • список URL в sitemap.xml и отдельные карты для записей, страниц, таксономий;
  • страницы с тонким контентом: теги без записей, архивы с 1–2 постами, пустые авторы.

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

# Пример: посмотреть частые запросы Googlebot в access.log (если лог в формате combined и есть user-agent в конце строки)
grep -i "Googlebot" access.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -30

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

Что закрывать, а что оставлять

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

ВариантКогда подходитМинус
Плагин SEO/чисткиНужно быстро закрыть типовые архивы без кодаМеньше контроля над нестандартными сценариями
Код в теме или mu-pluginНужна точечная логика для конкретных таксономий и архивовТребует аккуратного тестирования после обновлений
Удаление из sitemap и 301Страница не должна существовать как отдельная сущностьНужно убедиться, что нет внутренних ссылок и потерь трафика

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

Пошаговое решение через код

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

<?php
/**
 * Plugin Name: WPBlock Noindex Archives
 */

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

    return $robots;
});

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

Если нужно закрыть только часть тегов

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

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

        if ($term instanceof WP_Term) {
            $count = (int) $term->count;
            if ($count < 3) {
                $robots['noindex'] = true;
                $robots['follow']  = true;
            }
        }
    }

    return $robots;
});

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

Настройка через SEO-плагин без кода

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

Что обычно нужно проверить в настройках:

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

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

Ссылка на продукт, если нужен ориентир: Clearfy Pro.

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

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

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

  • открыть несколько архивов и проверить наличие <meta name="robots" content="noindex,follow"> или эквивалентного заголовка;
  • убедиться, что основные записи и страницы не получили noindex случайно;
  • проверить sitemap.xml: там не должно быть закрытых или пустых архивов;
  • посмотреть отчёт в Search Console через несколько дней после переобхода;
  • проверить внутренние ссылки на страницы, которые вы закрыли, чтобы не создавать лишние переходы;
  • сравнить количество страниц в индексе до и после, но не делать выводы по одному дню.

Если вы меняли только robots meta, а URL всё равно остаются в индексе, это нормально: поисковику нужно время на переобход. Если же страница продолжает активно попадать в поиск, проверьте, не ссылается ли на неё sitemap, меню, хлебные крошки или блоки похожих материалов.

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

Закрыли архив, но оставили его в sitemap

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

Поставили noindex на всё подряд

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

Использовали robots.txt вместо noindex

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

Удалили страницу, но не поставили редирект

Если архив или служебная страница больше не нужна, не оставляйте её с ошибкой 404 без причины. Для старых URL лучше настроить 301 на ближайший релевантный раздел. Это особенно важно, если на страницу есть внешние ссылки или она уже получала трафик.

Безопасность и производительность

Любая правка, связанная с индексацией, должна быть обратимой. Не вносите её прямо в functions.php основной темы, если у вас нет дисциплины по деплою. Лучше использовать отдельный мини-плагин или mu-plugin: так настройка не исчезнет после обновления темы.

Ещё один практический момент: не генерируйте лишнюю логику на каждом запросе. Проверка is_tag(), is_author() и похожих условных тегов дёшево обходится, но сложные запросы к базе внутри фильтра wp_robots уже могут быть лишними. Если нужна проверка счётчика термина, лучше ограничить её только нужной таксономией и не делать тяжёлых выборок.

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

Как закрыть дубли страниц, тегов и архивов от индексации в WordPress
19.08.2026
Как закрыть от индексации внутренний поиск WordPress и убрать мусорные страницы
23.08.2026

С появлением Gutenberg в WP появились и блоки. Однако не всем по душе новая версия редактора.