На 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 реально полезны, потом уберите только лишнее. Тогда сайт станет чище для поисковика и не потеряет нормальную навигацию для людей.