WordPress Notes Hueman

Как найти и отключить лишние archive-страницы в WordPress без потери индексации

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

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

Когда archive-страницы становятся проблемой

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

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

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

Диагностика: какие архивы уже открыты и индексируются

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

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

В Search Console откройте отчёт по страницам и посмотрите, какие типы URL попадают в индекс. Отдельно проверьте:

  • /author/;
  • /date/ или архивы по году и месяцу;
  • /tag/;
  • /attachment/;
  • архивы пользовательских таксономий.

Полезно также сделать ручную проверку через поиск в Google по шаблону site:example.com author или site:example.com tag. Это не заменяет Search Console, но быстро показывает масштаб проблемы.

Проверка настроек темы и SEO-плагина

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

  • в настройках SEO-плагина;
  • в functions.php темы;
  • через robots.txt;
  • через noindex в шаблоне или фильтрах.

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

Что отключать: сравнение подходов

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

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

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

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

1. Закрываем архивы авторов, дат и вложений

Этот вариант ставит noindex,follow на конкретные типы архивов. Он не ломает доступ к страницам для пользователя, но подсказывает поисковику не держать их в индексе.

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

    return $robots;
});

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

2. Отключаем архивы автора, если на сайте один автор

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

<?php
add_action('template_redirect', function () {
    if (is_author()) {
        wp_redirect(home_url('/'), 301);
        exit;
    }
});

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

3. Убираем страницы вложений в медиафайлы

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

<?php
add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_queried_object_id());

        if ($parent) {
            wp_redirect(get_permalink($parent), 301);
        } else {
            wp_redirect(home_url('/'), 301);
        }
        exit;
    }
});

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

Если удобнее через SEO-плагин

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

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

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

  • Открыть несколько архивов в браузере и проверить исходный код страницы.
  • Убедиться, что на закрытых страницах есть noindex.
  • Проверить, что редирект с архивов автора и вложений ведёт туда, куда задумано.
  • Посмотреть, не пропали ли из индекса нужные категории и рубрики.
  • Сканировать сайт краулером или хотя бы пройтись по основным архивам вручную.
  • Проверить, не появились ли циклические редиректы и 404.

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

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

Проверка HTML

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

Проверка редиректа

Для архивов автора и вложений выполните запрос через браузер или curl и убедитесь, что ответ — 301, а конечный URL правильный.

curl -I https://example.com/author/admin/
curl -I https://example.com/sample-image/

Если вместо 301 вы видите 200, значит условие в template_redirect не сработало или код подключён не там, где нужно.

Проверка в Search Console

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

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

Закрыли архив в robots.txt, но он всё равно в индексе

Это ожидаемо. Robots.txt управляет обходом, а не удалением из индекса. Если URL уже известен поисковику, используйте noindex или редирект.

Поставили редирект на все архивы и сломали навигацию

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

Добавили noindex и одновременно закрыли URL в robots.txt

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

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

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

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

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

Если у вас много технического мусора, имеет смысл дополнительно проверить:

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

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

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

×
-15%
на премиум-тему
Reboot

Создай сайт мечты
на WordPress!

Купить со скидкой »