Дубли в WordPress часто появляются не из-за одной ошибки, а из-за набора мелочей: одна и та же запись доступна через архив категории, метки, автора, дату, пагинацию, а иногда ещё и через служебные URL темы или плагина. В итоге поисковик видит несколько страниц с почти одинаковым содержимым и сам выбирает, что оставить в индексе. Для сайта это обычно означает размывание релевантности и лишнюю нагрузку на обход.
Ниже разберём не абстрактную «борьбу с дублями», а конкретный сценарий: как найти повторяющиеся URL, понять, что именно индексируется лишним, и убрать это без поломки структуры сайта.
Когда проблема действительно в дублях, а не в контенте
Сначала стоит убедиться, что у вас именно технический дубль, а не просто слабая страница. Если текст уникальный, но URL несколько, поисковик может считать их копиями. Типичные признаки:
- одна и та же запись открывается по разным адресам через архивы таксономий;
- в индексе есть страницы пагинации, которые не несут самостоятельной ценности;
- в Search Console появляются URL с параметрами, которые не должны ранжироваться;
- в выдаче всплывают архивы автора или даты вместо основной записи;
- в HTML у разных адресов совпадают title и description.
Быстрая диагностика в браузере и через поиск
Проверьте несколько URL вручную: основную запись, архив категории, архив метки, страницу автора и пагинацию. Если на них одинаковый заголовок, одинаковый основной текст и нет явной причины существовать отдельно, это кандидат на дубль. Дополнительно можно посмотреть, какие адреса уже попали в индекс через оператор site:, но он показывает не всё и не всегда точно, поэтому использовать его стоит только как первичную подсказку.
Для более надёжной проверки откройте исходный код страницы и сравните:
<link rel="canonical">;<meta name="robots">;- заголовок
<title>; - наличие пагинации и архивных ссылок в хлебных крошках.
Какие дубли WordPress встречаются чаще всего
| Источник дубля | Что происходит | Что делать |
|---|---|---|
| Архивы категорий и меток | Одна запись доступна из нескольких списков | Оставить архивы, но закрыть от индексации слабые таксономии |
| Архивы автора и даты | Повторяют ленту записей без добавленной ценности | Скрыть из индекса или настроить canonical на основную страницу |
| Пагинация архивов | Страницы 2, 3, 4 почти не содержат уникального смысла | Проверить, нужна ли индексация пагинации вообще |
| Параметры URL | Сортировка, фильтры, UTM и служебные параметры плодят адреса | Закрыть от индексации и не создавать лишние ссылки |
| Дубли из темы или плагина | Одна и та же запись выводится в нескольких шаблонах | Исправить шаблон и canonical |
Пошаговое решение: от поиска к удалению дублей
Шаг 1. Составьте список подозрительных URL
Не начинайте с массового удаления. Сначала соберите список адресов, которые реально дублируют друг друга. Удобно выгрузить их из Search Console, логов сервера или хотя бы вручную пройтись по основным типам архивов. Если на сайте есть SEO-плагин, проверьте, не создаёт ли он отдельные архивы для автора, даты и меток без необходимости.
Шаг 2. Определите канонический адрес
Для каждой группы дублей должен быть один основной URL. Обычно это:
- основная запись — для статьи;
- категория — для архивной страницы;
- главная пагинированная страница — для списка;
- одна версия URL без параметров — для служебных страниц.
Если canonical указывает не туда, поисковик может индексировать не ту версию. Это особенно заметно, когда тема или плагин подставляют canonical автоматически, но не учитывают нестандартные шаблоны.
Шаг 3. Закройте лишние архивы от индексации
Если архив не нужен в поиске, лучше явно запретить его индексировать, чем надеяться на случайный canonical. Для WordPress это можно сделать через SEO-плагин или кодом. Ниже пример для functions.php или мини-плагина: он добавляет noindex для архивов автора и даты, если они не нужны сайту.
add_action('wp_head', function () {
if (is_author() || is_date()) {
echo '<meta name="robots" content="noindex,follow">' . "\n";
}
});Этот вариант рабочий, но использовать его стоит только если вы понимаете, что именно закрываете. Если архивы автора у вас дают трафик, просто так отключать их не надо.
Шаг 4. Уберите дубли на уровне шаблона
Иногда проблема не в индексации, а в том, что тема выводит один и тот же контент в нескольких местах. Например, в карточке записи повторяется полный текст, а в архиве — тот же текст без обрезки. Тогда поисковик видит почти идентичные страницы. В таком случае лучше ограничить вывод в архивах анонсом.
if ( is_archive() || is_home() ) {
the_excerpt();
} else {
the_content();
}Это не универсальная формула, а пример логики. Если у вас уже есть SEO-описания и нормальные анонсы, не дублируйте полный контент в списках.
Шаг 5. Настройте редиректы для удалённых URL
Если дубль уже был в индексе и вы его удаляете, не оставляйте 404 без плана. Для старых адресов, которые больше не нужны, лучше сделать 301 на ближайшую релевантную страницу. Это особенно важно для архивов, которые получали внешние ссылки или были в индексе долгое время.
Простой пример редиректа для старого URL в WordPress:
add_action('template_redirect', function () {
if ( is_page('old-archive') ) {
wp_redirect( home_url('/new-archive/'), 301 );
exit;
}
});Если таких адресов много, лучше управлять ими через сервер или отдельный плагин редиректов, а не размножать логику в теме.
Как проверить, что решение сработало
После правок не ограничивайтесь проверкой главной страницы. Нужна проверка по всей цепочке:
- откройте основной URL и дубль в браузере;
- сравните
canonicalиrobots; - проверьте HTTP-статус старого адреса;
- посмотрите, не остались ли ссылки на удалённые архивы в меню, хлебных крошках и sitemap;
- в Search Console отправьте важные URL на переобход и проверьте, какой адрес выбран каноническим.
Если всё настроено правильно, у дубля должен быть либо noindex, либо 301-редирект, либо canonical на основную страницу. Нежелательно, когда страница одновременно доступна, индексируется и конкурирует с оригиналом.
Частые ошибки и как их исправить
Ставят noindex на всё подряд
Это самая частая ошибка. Закрывают категории, метки, автора, дату и пагинацию без разбора, а потом теряют полезные страницы из поиска. Сначала оцените, какие архивы реально приносят трафик и помогают навигации.
Оставляют несколько canonical на одной странице
Такое бывает после конфликтов темы и SEO-плагина. В исходнике должен быть один канонический URL. Если их два, поисковик может проигнорировать оба.
Удаляют URL без редиректа
Если дубль уже индексировался, резкое удаление без 301 приводит к потере накопленных сигналов и внешних ссылок. Для старых адресов почти всегда лучше редирект, чем 404.
Меняют структуру архивов без проверки ссылок
После изменения категорий, меток или пермалинков в меню и контенте остаются старые ссылки. В итоге дубль формально удалён, но пользователи и боты продолжают ходить по старому адресу.
Практические советы по безопасности и производительности
Если вы правите canonical, robots и редиректы кодом, делайте это в дочерней теме или в небольшом mu-plugin, а не прямо в родительской теме. Так изменения не потеряются после обновления. Перед массовыми правками обязательно сделайте резервную копию базы и файлов.
Для сайтов с большим количеством архивов полезно уменьшить число бесполезных страниц в индексе. Это снижает количество обходов и упрощает контроль за качеством выдачи. Если нужен инструмент для чистки дублей, метатегов и служебной разметки, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpdo.ru&utm_medium=article&utm_campaign=kak-najti-i-udalit-dubli-zapisej-i-arhivov-wordpress
Но даже с плагином важно понимать логику: плагин помогает настроить правила, а не заменяет проверку URL и индексации.
Мини-чек-лист перед публикацией изменений
- У каждого дубля есть понятный основной URL.
- Лишние архивы закрыты или перенаправлены осознанно.
- В исходнике нет конфликтующих canonical.
- Старые адреса отдают 301, а не 404, если у них был трафик.
- В sitemap остались только нужные страницы.
- Меню, хлебные крошки и внутренние ссылки не ведут на удалённые URL.
- После правок выполнена проверка в Search Console и в браузере.
Если после внедрения дубль всё ещё появляется в индексе, обычно проблема в одном из трёх мест: ссылка на него осталась на сайте, canonical настроен неверно или страница не закрыта от обхода. В таких случаях проще идти от URL к шаблону, чем пытаться лечить всё одной настройкой SEO-плагина.