На WordPress дубли чаще всего появляются не из-за «плохого SEO», а из-за стандартной структуры CMS: архивы авторов, дат, рубрик, меток, вложений и страниц пагинации начинают конкурировать с основными материалами. Если сайт небольшой или контент публикует один автор, поисковику обычно нечего индексировать в таких разделах. Проблема в том, что эти страницы всё равно отдают 200 OK, попадают в карту сайта и расходуют краулинговый бюджет.
Ниже — рабочая схема, как закрыть лишние архивы и не сломать навигацию, хлебные крошки и внутренние ссылки.
Какие дубли в WordPress стоит искать в первую очередь
Сначала проверьте, какие типы страниц реально создаёт ваш сайт. Не нужно закрывать всё подряд: иногда архивы авторов полезны, а иногда это просто пустая оболочка с повторяющимся списком записей.
Типичные кандидаты на закрытие
- архивы авторов на сайте с одним автором;
- архивы дат, если вы не ведёте новостной журнал по дням;
- метки, которые дублируют рубрики или создаются без контроля;
- страницы вложений медиафайлов;
- пагинация архивов, если она индексируется отдельно и даёт тонкий контент;
- страницы поиска и служебные URL с параметрами.
Если у вас уже есть SEO-плагин, сначала посмотрите его настройки. Часто нужный результат можно получить без кода. Но если нужно точечно закрыть только часть архивов, удобнее сделать это программно.
Диагностика: как понять, что именно создаёт дубли
Перед изменениями откройте несколько типовых URL и посмотрите, что они отдают: индексируются ли они, есть ли canonical, не попадают ли в sitemap. Для этого достаточно браузера, исходного кода страницы и панели поиска в Google Search Console.
Проверьте:
- есть ли у архивов уникальный текст или это просто список записей;
- отдают ли они мета-тег
noindex; - попадают ли они в XML-карту сайта;
- не ведут ли внутренние ссылки на пустые архивы;
- не создаёт ли тема отдельные шаблоны для автора, даты и меток.
Если сайт уже в индексе, полезно сравнить количество страниц в поиске с количеством реальных материалов. Когда служебных URL заметно больше, это почти всегда сигнал к чистке.
Пошаговое решение: закрываем лишние архивы без лишнего риска
Самый безопасный подход — не удалять архивы физически, а убрать их из индекса и, где нужно, отключить генерацию. Это сохраняет работоспособность сайта и не ломает старые ссылки.
Вариант 1: через SEO-плагин
Если вы используете плагин для SEO, проверьте настройки архивов. Обычно там можно отдельно отключить индексацию авторов, дат и меток. Это самый простой путь, если вам не нужен точечный контроль на уровне кода.
Плюс такого подхода — не нужно поддерживать собственный код. Минус — настройки могут быть слишком общими, особенно если на сайте часть архивов нужна, а часть нет.
Вариант 2: через functions.php или мини-плагин
Если нужен контроль на уровне темы или собственного плагина, можно задать noindex для конкретных архивов. Ниже пример для сайта, где нужно закрыть архивы авторов и даты, но оставить рубрики.
add_action('wp_head', function () {
if (is_author() || is_date() || is_attachment()) {
echo "<meta name=\"robots\" content=\"noindex,follow\" />\n";
}
}, 1);Этот вариант работает, если тема не выводит собственный robots meta раньше. Но для SEO лучше не ограничиваться только мета-тегом: если архивы не нужны в принципе, их стоит ещё и убрать из sitemap.
Если вы используете wp_robots, можно подключиться через фильтр и не печатать тег вручную:
add_filter('wp_robots', function ($robots) {
if (is_author() || is_date() || is_attachment()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Такой способ аккуратнее: WordPress сам соберёт корректный robots meta.
Вариант 3: отключить архивы авторов, если автор один
На сайте с одним автором архив автора почти всегда дублирует главную страницу блога или страницу автора в шапке. В этом случае можно перенаправить архив на 404 или на страницу «О сайте», если это логично для структуры.
add_action('template_redirect', function () {
if (is_author()) {
wp_redirect(home_url('/404/'), 301);
exit;
}
});Но используйте редирект только если вы уверены, что архивы авторов нигде не нужны. Если на сайте несколько авторов и у каждого есть своя страница с биографией и подборкой материалов, закрывать их не стоит.
Что делать с метками, рубриками и страницами вложений
Метки — частый источник дублей. Если они не несут отдельной смысловой нагрузки, их лучше либо не индексировать, либо вообще не использовать. Рубрики обычно полезнее, но и здесь важно не плодить пустые разделы.
Страницы вложений почти всегда лишние для SEO. Пользователь ищет не отдельный URL картинки, а сам материал или изображение в контексте статьи. Поэтому вложения обычно переводят на файл медиа или на родительскую запись.
Пример редиректа вложений на родительскую запись:
add_action('template_redirect', function () {
if (is_attachment()) {
$parent = wp_get_post_parent_id(get_the_ID());
if ($parent) {
wp_redirect(get_permalink($parent), 301);
exit;
}
wp_redirect(home_url('/'), 301);
exit;
}
});Сравнение подходов: плагин, код или ручная настройка
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть стандартные архивы | Просто, без кода, меньше риска | Меньше гибкости, не всегда точечный контроль |
| Код в теме/плагине | Нужны точечные правила для конкретного сайта | Гибко, прозрачно, можно учесть структуру проекта | Нужно тестировать после обновлений |
| Ручная правка robots.txt | Нужно закрыть обход, а не индексацию | Быстро | Не решает проблему дублей в индексе, если URL уже известны |
Если задача именно SEO, robots.txt сам по себе не закрывает дубли от индексации. Он лишь ограничивает обход. Для уже известных страниц этого недостаточно.
Проверка результата после внедрения
После изменений не полагайтесь на ощущения. Проверьте несколько конкретных признаков:
- открывается ли архив и есть ли на нём
noindex; - не попал ли он в XML sitemap;
- не изменился ли canonical на неожиданный URL;
- не появились ли ошибки 500 или циклические редиректы;
- не сломались ли хлебные крошки и ссылки в меню.
Практический тест:
- Откройте архив автора, дату и метку в браузере.
- Посмотрите исходный код страницы и найдите
robots. - Проверьте URL в Search Console через проверку страницы.
- Убедитесь, что в sitemap остались только нужные типы страниц.
Если вы закрывали архивы через код, дополнительно проверьте, что изменения не перетёрлись при обновлении темы. Для этого лучше вынести логику в небольшой mu-plugin или собственный плагин, а не держать её в functions.php дочерней темы без контроля версий.
Частые ошибки и как их исправить
Ставят noindex, но оставляют архив в sitemap
Это частая несостыковка. Поисковик видит URL в карте сайта и одновременно получает сигнал не индексировать его. В итоге страница может ещё долго висеть в отчётах. Решение — убрать архив из sitemap на уровне SEO-плагина или фильтра генерации карты сайта.
Закрывают всё через robots.txt
Так делают, когда хотят быстро «спрятать» служебные URL. Но если страница уже известна поисковику, запрет на обход не гарантирует удаление из индекса. Для дублей нужен именно noindex или редирект.
Редиректят архивы на главную без логики
301 на главную выглядит как простое решение, но для поисковика это часто слабый сигнал релевантности. Если архив действительно не нужен, лучше отправить его в 404/410 или закрыть от индексации. Если нужен — оставьте его доступным и оптимизируйте содержимое.
Ломают архивы авторов на многопользовательском сайте
Если у вас редакция с несколькими авторами, архивы могут быть полезны для навигации и E-E-A-T. В таком случае закрывать их целиком не стоит. Лучше убрать только пустые или технические страницы, а сами профили авторов оставить.
Практические советы по безопасности и производительности
Не встраивайте SEO-логику в активную тему, если сайт живёт долго и обновляется отдельно. Для таких задач лучше использовать мини-плагин или mu-plugin: так вы не потеряете правила при смене темы.
Если на сайте много архивов и пагинации, проверьте нагрузку на генерацию sitemap и запросы к базе. Иногда проблема не в индексации, а в том, что тема строит тяжёлые архивные шаблоны с лишними запросами. В этом случае чистка дублей даёт не только SEO-эффект, но и упрощает обход страниц ботами.
Если нужен более широкий набор инструментов для чистки дублей и технической оптимизации, можно посмотреть на Clearfy Pro. Но даже с плагином всё равно стоит понимать, какие именно URL вы закрываете и зачем.
Хорошая проверка после внедрения — сравнить список URL в Search Console через несколько обходов и убедиться, что в индексе остаются только страницы, которые реально нужны пользователю. Если служебные архивы исчезли из sitemap, получили noindex и перестали конкурировать с основными материалами, задача решена правильно.