На небольших и средних WordPress-сайтах дубли чаще всего появляются не из-за контента, а из-за служебных архивов: страницы автора, даты, рубрики, теги, вложения, пагинация, а иногда и отдельные архивы кастомных типов записей. Проблема обычно всплывает после проверки в Search Console: в индексе есть страницы, которые не несут самостоятельной ценности, но конкурируют с основными материалами и размывают сигнал.
Ниже — рабочая схема, как понять, какие архивы закрывать, чем закрывать и как проверить, что после правок сайт не потерял нужные страницы из поиска.
Когда дубли archive и author-страниц действительно мешают
Не каждый архив нужно убирать из индекса. Если на сайте есть сильные рубрики с уникальными описаниями и полезной навигацией, они могут приносить трафик. Но на практике чаще встречается другое:
- страницы автора дублируют список записей без дополнительной ценности;
- архивы по дате создаются автоматически, но почти не используются посетителями;
- теги размножают один и тот же набор записей;
- страницы вложений индексируются отдельно, хотя содержат только медиафайл;
- пагинация архивов попадает в индекс и создаёт лишние URL.
Если у вас в выдаче есть десятки URL с одинаковыми заголовками, а в отчёте по страницам видно, что часть архивов получает показы, но не клики, это уже повод навести порядок. Важно не просто «закрыть всё подряд», а оставить только те типы страниц, которые реально полезны пользователю и поиску.
Диагностика: что смотреть перед правками
Сначала проверьте, какие именно архивы уже индексируются. Для этого удобно смотреть три источника: Search Console, sitemap и саму структуру темы.
Что проверить в Search Console
- раздел «Страницы» — какие URL помечены как проиндексированные;
- запросы, по которым ранжируются author, tag, category и date archive;
- есть ли дубли title и description у архивов;
- появляются ли страницы вложений в индексе.
Если архивы уже получают трафик, не спешите закрывать их массово. Сначала оцените, есть ли у них отдельная ценность: уникальное описание, фильтрация, подборка материалов, полезная навигация.
Что посмотреть в коде темы и плагинах
Часто проблема не в SEO-плагине, а в теме, которая выводит архивы без настройки мета-тегов или создаёт лишние шаблоны. Проверьте:
- есть ли в теме шаблоны
author.php,date.php,tag.php; - не создаёт ли плагин отдельные архивы для таксономий, которые не нужны;
- не добавляет ли SEO-плагин в sitemap URL, которые вы хотите исключить;
- не включена ли индексация страниц вложений.
Если вы используете плагин для технической чистки, например Clearfy Pro, удобно сначала собрать список дублей, а потом уже применять точечные настройки, а не отключать всё подряд.
Пошаговое решение: что закрывать, а что оставить
Самый безопасный подход — разделить архивы на три группы: оставить в индексе, закрыть от индексации, убрать из sitemap. Это не одно и то же.
| Тип страницы | Оставить в индексе | Закрыть noindex | Убрать из sitemap |
|---|---|---|---|
| Полезные рубрики | Да, если есть уникальный текст и спрос | Нет | Нет |
| Author archive | Только если это профиль автора с ценностью | Чаще да | Чаще да |
| Date archive | Обычно нет | Да | Да |
| Tag archive | Только при строгой структуре тегов | Часто да | Часто да |
| Attachment pages | Нет | Да | Да |
Вариант 1: закрыть архивы через SEO-плагин
Если у вас уже стоит плагин SEO-настройки, проще всего использовать его интерфейс. Важно не путать «noindex» и «remove from sitemap»: поисковик может ещё какое-то время обходить URL, но не должен считать их основными страницами сайта.
Для author-страниц и архивов дат обычно достаточно отключить их индексацию в настройках SEO-плагина. Если плагин позволяет отдельно управлять sitemap, уберите туда же и эти типы архивов.
Плюс этого подхода — минимум кода и меньше риска сломать шаблон. Минус — зависимость от конкретного плагина и его интерфейса.
Вариант 2: точечно добавить noindex через код
Если нужно закрыть только часть архивов, можно сделать это в теме или в небольшом mu-plugin. Ниже пример для author и date архивов через wp_robots:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_author() || is_date() ) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
} );Этот вариант не удаляет страницу, а только просит поисковик не индексировать её. Для большинства технических задач этого достаточно. Но если архив уже есть в sitemap, его нужно убрать отдельно — иначе вы просто продолжите отправлять поисковику лишний URL.
Вариант 3: убрать архивы из sitemap
Если sitemap генерирует SEO-плагин, ищите отдельные переключатели для архивов, тегов и авторов. Если sitemap собирается кодом, исключайте ненужные типы страниц на уровне генерации. Для встроенного WordPress sitemap можно фильтровать элементы, но на практике чаще удобнее управлять этим через SEO-плагин, чтобы не дублировать логику.
Не стоит полагаться только на robots.txt. Запрет в robots.txt не убирает URL из индекса, если он уже известен поисковику. Для дублей это слабое решение.
Как закрыть страницы вложений и почему это важно
Attachment pages — частый источник мусора. WordPress может создавать отдельную страницу для каждого загруженного изображения, и если тема или плагин не перенаправляют её на сам файл или родительскую запись, в индексе появляется бесполезный URL.
Для большинства сайтов правильнее либо отключить индексацию attachment pages, либо сделать редирект на родительскую запись. Если изображение используется как самостоятельная медиа-страница, это редкий частный случай, а не стандартная настройка.
Пример редиректа вложения на родительскую запись:
<?php
add_action( 'template_redirect', function() {
if ( is_attachment() ) {
$post = get_post();
if ( $post && $post->post_parent ) {
wp_redirect( get_permalink( $post->post_parent ), 301 );
exit;
}
wp_redirect( home_url( '/' ), 301 );
exit;
}
} );Такой код лучше размещать в небольшом плагине или mu-plugin, а не в теме: при смене оформления правило не потеряется.
Проверка результата после внедрения
После изменений не ограничивайтесь визуальной проверкой. Нужно убедиться, что поисковик видит правильные сигналы.
- Откройте несколько архивов и проверьте исходный код страницы: должен быть
noindexтам, где вы его ожидаете. - Проверьте sitemap: закрытые архивы не должны в нём присутствовать.
- В Search Console отправьте на переобход несколько URL и посмотрите, как меняется статус.
- Убедитесь, что важные рубрики и записи остались доступны без лишних ограничений.
- Проверьте, что страницы вложений отдают 301 на родительскую запись или не индексируются.
Для быстрой проверки можно открыть страницу в браузере и посмотреть мета-тег robots в исходнике, а также заголовки ответа сервера, если вы используете редиректы. Если у вас есть доступ к командной строке, полезно проверить код ответа:
curl -I https://example.com/author/ivan/
curl -I https://example.com/2025/01/В ответе вы должны видеть либо 200 с noindex в HTML, либо 301 на нужный URL, если вы выбрали редирект.
Частые ошибки и как их исправить
Закрыли архив в robots.txt вместо noindex
Это распространённая ошибка. Если URL уже в индексе, запрет в robots.txt не решит проблему быстро и предсказуемо. Поисковик может продолжать хранить адрес без содержимого. Используйте noindex или редирект, а robots.txt оставляйте для обхода, а не для удаления дублей.
Отключили все архивы подряд
Иногда после массовой чистки исчезают полезные рубрики, которые реально ранжировались. Перед отключением проверьте, какие архивы дают трафик и какие имеют уникальный контент. Если рубрика — это просто список записей без описания, её можно закрыть. Если это полноценная посадочная страница, её лучше оставить.
Оставили noindex, но не убрали URL из sitemap
Такой конфликтный сигнал замедляет переобход и создаёт лишнюю работу для поисковика. Если страница не должна индексироваться, она не должна и попадать в sitemap.
Сделали редирект на все архивы без разбора
Это ломает навигацию и может ухудшить поведенческие сигналы. Редирект уместен для attachment pages и некоторых служебных архивов, но не для всех типов страниц.
Внесли правки в тему, а потом обновили её
Если код лежит в functions.php активной темы, он пропадёт после обновления или смены шаблона. Для технических правил лучше использовать mu-plugin или отдельный мини-плагин.
Практика безопасности и производительности
Чем меньше лишних URL генерирует сайт, тем проще его обходить и тем меньше мусора попадает в отчёты. Это не ускоряет сайт магически, но снижает нагрузку на обход и упрощает поддержку.
Если вы часто правите SEO-логику вручную, держите изменения в одном месте: mu-plugin, отдельный технический плагин или централизованные настройки SEO-плагина. Это уменьшает риск конфликтов между темой, кэшем и SEO-модулем.
Для сайтов с большим количеством дублей полезно сначала навести порядок в архивной структуре, а уже потом заниматься тонкой оптимизацией title, description и хлебных крошек. Иначе вы будете улучшать мета-теги у страниц, которые вообще не должны участвовать в индексации.
Если нужен более широкий набор инструментов для технической чистки WordPress, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpvideo.ru&utm_medium=article&utm_campaign=zakryt-dubli-archive-author-v-wordpress. Но даже с плагином логика остаётся той же: сначала диагностика, потом точечное закрытие, потом проверка в Search Console.
В рабочем проекте лучше не делать «косметическую» настройку на глаз. Сначала определите, какие архивы реально нужны, затем закройте лишние, уберите их из sitemap и только после этого проверяйте переобход. Так вы не потеряете полезные страницы и не оставите в индексе технический мусор.