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

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

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

Какие страницы обычно мешают индексации

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

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

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

Диагностика: что именно индексируется лишнего

Перед изменениями проверьте, какие URL уже попали в поиск и откуда они взялись. Удобнее идти от факта, а не от догадки.

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

  • Отчёт по страницам в Google Search Console: какие URL обнаружены, но не проиндексированы, и какие уже в индексе.
  • Результаты поиска по сайту через site:example.com с добавлением inurl: для архивов и поиска.
  • Логи обхода, если они доступны: туда хорошо видно, что бот ходит по бесполезным URL.
  • Список архивов в теме: авторы, даты, теги, таксономии, которые создаются автоматически.

Если сайт небольшой, часто проблема видна уже по шаблону URL: /author/, /tag/, /date/, /?s=. Но не все такие страницы надо закрывать одинаково.

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

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

<?php
add_action('admin_notices', function () {
    if (!current_user_can('manage_options')) {
        return;
    }

    $flags = [
        'is_author_archive' => is_author(),
        'is_date_archive'    => is_date(),
        'is_tag_archive'     => is_tag(),
        'is_search'          => is_search(),
    ];

    echo '<div class="notice notice-info"><p><strong>Archive flags:</strong> ' . esc_html(wp_json_encode($flags)) . '</p></div>';
});

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

Пошаговое решение: что закрывать, что удалять, что оставлять

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

Тип страницыЧто делатьКомментарий
Архив автора на сайте с одним авторомОтключить или поставить noindexПочти всегда не нужен в поиске
Архивы датОтключить или закрыть от индексацииПолезны только для новостных проектов
Теги без контентаУдалить/объединить или noindexЕсли тегов много, они часто создают мусор
Внутренний поискЗакрыть от индексацииСтраницы поиска редко нужны в выдаче

Вариант 1. Закрыть служебные страницы через SEO-плагин

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

Проверьте в настройках:

  • архивы автора;
  • архивы дат;
  • архивы тегов;
  • страницы поиска;
  • страницы пагинации, если они не несут ценности.

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

Вариант 2. Отключить архивы автора и дат кодом

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

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

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

Вариант 3. Оставить страницу, но запретить индексацию

Когда URL нужен пользователю, но не нужен поиску, используйте noindex. Это типичный случай для внутреннего поиска и некоторых архивов.

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

    return $robots;
});

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

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

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

  • страница действительно отдаёт нужный статус и мета-робот;
  • редирект ведёт на правильный URL;
  • в индексе не остаются старые версии;
  • внутренние ссылки не ведут на удалённые архивы.

Проверка в браузере и через исходный код

Откройте страницу архива и посмотрите:

  • нет ли редиректа в цепочке;
  • есть ли meta name="robots" content="noindex,follow";
  • не дублируется ли canonical на главную без причины.

Если используете редирект, проверьте код ответа через инструменты разработчика или curl -I. Для страницы, которую вы отключили, ожидается 301, а не 200.

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

Проверка в Search Console

После изменения отправьте URL на повторную проверку. Для массовых правок полезно посмотреть:

  • сколько страниц ушло из раздела «Индексирование»;
  • не появились ли ошибки 404 после удаления архивов;
  • не выросло ли число «Просканировано, но не проиндексировано» по тем же URL.

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

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

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

Так бывает, если URL уже известен поисковику. Robots.txt запрещает обход, но не всегда удаляет уже проиндексированную страницу. Для таких случаев лучше сначала поставить noindex или сделать 301-редирект, а потом уже при необходимости ограничивать обход.

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

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

Сделали редирект на главную для всех архивов

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

Удалили архив, но забыли внутренние ссылки

После отключения архивов проверьте меню, блоки «последние записи», виджеты и хлебные крошки. Если там остались ссылки на несуществующие URL, вы получите лишние 404 и потеряете часть внутреннего веса.

Чек-лист перед публикацией изменений

  • Проверил, какие архивы реально нужны пользователям.
  • Отдельно разобрал авторские, датированные, теговые и поисковые страницы.
  • Для ненужных URL выбрал одно действие: noindex, 301 или удаление.
  • Не закрыл важные рубрики и записи.
  • Проверил canonical и мета-robots на целевых страницах.
  • Обновил внутренние ссылки, если удалял архивы.
  • Перепроверил статус URL в Search Console после внедрения.

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

Если вы отключаете архивы кодом, делайте это в дочерней теме или в небольшом mu-plugin, а не в ядре темы. Тогда обновление шаблона не сотрёт правки. Для редиректов используйте wp_safe_redirect(), а не произвольный header() — так меньше шансов случайно отправить пользователя на внешний URL.

Если на сайте много служебных страниц, имеет смысл посмотреть на SEO-настройки и чистку дублей в одном месте. В реальных проектах это часто удобнее делать через аккуратный набор настроек, чем разносить логику по нескольким файлам. Например, у Clearfy Pro есть инструменты для отключения лишних архивов и служебных элементов, но использовать такой плагин стоит только если он действительно закрывает вашу задачу без лишнего функционала: https://wpshop.ru/plugins/clearfy?utm_source=wpaction.ru&utm_medium=article&utm_campaign=kak-ubrat-lishnie-arkhivy-i-tonkie-stranitsy-v-wordpress

Главное правило простое: не пытайтесь «почистить SEO» одним переключателем. Сначала определите, какие URL реально полезны, потом уберите только лишнее. Тогда сайт станет чище для поисковика и не потеряет нормальную навигацию для людей.

⭐⭐⭐⭐⭐