Если в отчётах поисковой консоли растут страницы тегов, архивов авторов и дат, а полезные записи теряются в индексе, проблема обычно не в «плохом SEO», а в том, что WordPress по умолчанию публикует слишком много служебных URL. Закрывать всё подряд нельзя: часть архивов может быть полезной для навигации и внутренней перелинковки. Поэтому задача не в том, чтобы «всё запретить», а в том, чтобы оставить нужные страницы и убрать мусорные дубли.
Когда это действительно проблема
Сначала стоит понять, что именно индексируется. В WordPress чаще всего всплывают:
- архивы тегов с почти одинаковыми списками записей;
- архивы авторов на сайтах с одним автором;
- архивы по датам, которые не дают ценности пользователю;
- страницы вложений, если они открыты как отдельные URL;
- страницы пагинации архивов, которые дублируют контент и мета-данные.
Если в выдаче вы видите много страниц с одинаковыми title и описаниями, а в Search Console растёт число «Просканировано, но не проиндексировано», это уже повод разбирать шаблоны архивов, а не только robots.txt.
Диагностика: что проверить до изменений
Перед правками полезно посмотреть, как именно тема и плагины формируют архивы. На практике я проверяю три вещи: мета-роботы, канонический URL и наличие дублей в sitemap. Для этого достаточно открыть несколько типовых страниц и посмотреть исходный код.
Что искать в HTML
На проблемной странице проверьте наличие:
<meta name="robots" content="noindex,follow">илиindex,follow;<link rel="canonical" href="...">;- одинаковых title у разных архивов;
- ссылок на страницы вложений, если они не нужны как отдельные посадочные.
Если на архиве тегов стоит index,follow, а сам архив не несёт самостоятельной ценности, поисковик будет тратить краулинговый бюджет на лишние страницы. Если же вы ставите noindex, но оставляете архив в sitemap, получается конфликт сигналов.
Пошаговое решение
Есть три рабочих подхода: через SEO-плагин, через код темы или через комбинацию обоих. Для большинства сайтов лучше начинать с плагина, а код использовать только там, где нужна точечная логика.
| Подход | Когда подходит | Минус |
|---|---|---|
| SEO-плагин | Нужно быстро закрыть теги, архивы, вложения без разработки | Меньше гибкости для нестандартных правил |
| Код в теме/плагине | Нужна точная логика по типам архивов и ролям | Требует поддержки при смене темы |
| Комбинированно | Часть страниц закрывается глобально, часть — по исключениям | Нужно следить, чтобы настройки не конфликтовали |
Вариант 1: закрыть архивы через код
Если вы хотите управлять мета-роботами без лишних плагинов, можно добавить фильтр в functions.php дочерней темы или в небольшой mu-plugin. Пример ниже закрывает архивы тегов, дат и авторов, но оставляет записи и страницы открытыми:
<?php
add_filter('wp_robots', function( $robots ) {
if ( is_tag() || is_date() || is_author() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Этот вариант работает только если тема и другие плагины не подменяют robots-meta своим выводом. После внедрения обязательно проверьте исходный код страницы архива: там должен появиться noindex.
Вариант 2: убрать страницы вложений с отдельного URL
Страницы вложений часто создаются автоматически и редко нужны как самостоятельные страницы. Если у вас нет задачи индексировать изображения отдельно, лучше перенаправлять attachment-страницы на сам файл или родительскую запись.
<?php
add_action('template_redirect', function() {
if ( is_attachment() ) {
$parent = wp_get_post_parent_id( get_queried_object_id() );
if ( $parent ) {
wp_safe_redirect( get_permalink( $parent ), 301 );
exit;
}
wp_safe_redirect( home_url('/'), 301 );
exit;
}
});Это не заменяет настройку индексации, но убирает отдельный класс дублей и снижает количество бесполезных URL в обходе.
Вариант 3: использовать SEO-плагин для точечных правил
Если на сайте уже стоит SEO-плагин, удобнее закрывать архивы в его настройках, а не дублировать логику кодом. Важно только не включать одновременно два механизма, которые делают одно и то же. Иначе можно получить ситуацию, когда один слой ставит noindex, а другой всё равно добавляет URL в sitemap.
Если нужен более широкий набор инструментов для чистки дублей и служебных страниц, можно посмотреть на Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином всё равно нужно вручную проверить, какие именно архивы закрыты и не сломалась ли навигация.
Как проверить, что решение сработало
После изменений не ограничивайтесь визуальной проверкой в админке. Нужно пройтись по фактическим URL.
- Откройте архив тега, автора и даты в браузере и проверьте исходный код.
- Убедитесь, что в
<meta name="robots">есть нужное значение. - Проверьте canonical: он должен указывать на саму страницу или на релевантную каноническую запись, а не на случайный URL.
- Посмотрите, исчезли ли закрытые страницы из sitemap, если вы убирали их на уровне SEO-плагина.
- В Search Console отправьте проверку конкретного URL и посмотрите, как робот видит страницу после переобхода.
Если страница всё ещё индексируется, проблема обычно в одном из трёх мест: кэш отдаёт старую версию HTML, другой плагин переписывает robots-meta, либо URL остался в sitemap и продолжает получать сигналы на обход.
Частые ошибки и как их исправить
Закрыли архив в robots.txt, но не поставили noindex
Это типичная ошибка. Robots.txt мешает обходу, но не гарантирует удаление из индекса, если URL уже известен поисковику. Для служебных страниц чаще нужен именно noindex, а не только запрет в robots.txt.
Оставили архивы в sitemap
Если URL закрыт от индексации, но продолжает попадать в карту сайта, вы отправляете поисковику противоречивые сигналы. В результате страница может дольше «болтаться» в отчётах и переобходе.
Закрыли всё подряд
Иногда после массовой настройки noindex исчезают и полезные архивы рубрик. Это уже бьёт по внутренней структуре сайта: пользователи теряют навигацию, а поисковик — тематические кластеры. Перед закрытием проверьте, какие архивы реально приводят трафик и помогают перелинковке.
Не учли кэш
Если на сайте стоит page cache или CDN, старый meta robots может сохраняться до очистки кэша. После правок очистите кэш плагина, серверный кэш и CDN, если он используется.
Практические советы по безопасности и производительности
Любые изменения в functions.php лучше вносить через дочернюю тему или отдельный mu-plugin, а не прямо в родительскую тему. Так вы не потеряете правки при обновлении. Если сайт большой, не делайте десяток разрозненных фильтров в разных плагинах: проще держать одну понятную точку управления.
Ещё один полезный момент — не полагаться на «магические» настройки без проверки HTML. В WordPress один и тот же архив может получать robots-мета из темы, SEO-плагина и кастомного кода. Когда что-то идёт не так, ищите источник в исходнике страницы, а не только в админке.
Если вам нужно не только закрыть дубли, но и навести порядок в технических страницах, иногда проще использовать набор инструментов, который умеет управлять индексированием, дублями и служебными URL в одном месте. Но даже тогда финальная проверка всегда остаётся за вами: исходный код, sitemap и отчёты поисковой консоли должны совпадать с вашей логикой.