В WordPress дубли чаще всего появляются не из-за «плохого SEO», а из-за штатной логики CMS: архивы рубрик, теги, авторы, страницы пагинации, версии с параметрами в URL, а иногда и из-за темы или плагина, который генерирует лишние точки входа. Если это не контролировать, поисковик начинает индексировать несколько почти одинаковых страниц и размывает сигналы релевантности.
Ниже — рабочая схема: как найти источник дублей, что закрывать, что оставлять открытым и как проверить, что canonical и индексация настроены корректно.
Какие дубли в WordPress встречаются чаще всего
Сначала полезно понять, что именно у вас дублируется. В WordPress это обычно один из следующих сценариев:
- страница записи доступна по нескольким URL из-за параметров сортировки, utm-меток или фильтров;
- архив рубрики и архив тега показывают почти одинаковый набор материалов;
- страницы пагинации создают много слабых URL с одинаковыми сниппетами;
- главная страница и архивы категорий дублируют блоки контента;
- в теме есть отдельные шаблоны для одного и того же контента;
- плагин добавляет технические страницы, которые не должны попадать в индекс.
Если у сайта уже есть трафик, не стоит массово закрывать всё подряд. Сначала нужно понять, какие URL реально индексируются и какие из них приносят переходы.
Диагностика проблемы: где искать дубли
Самый быстрый путь — посмотреть, что уже видит поисковик и что отдаёт сам сайт. Для этого не нужен сложный стек: достаточно Search Console, карты сайта и пары ручных проверок.
Проверка в Search Console
Откройте отчёт по страницам и посмотрите причины исключения. Если там много URL с пометками вроде «дубликат, Google выбрал другой канонический URL» или «просканировано, но не проиндексировано», это уже сигнал. Дальше проверьте несколько примеров вручную: совпадает ли canonical с ожидаемым адресом, нет ли редиректов и не ведёт ли страница на другой шаблон.
Проверка в исходном коде
На проблемной странице посмотрите тег canonical и robots. В WordPress canonical часто выводит SEO-плагин или тема. Если canonical указывает на не ту страницу, поисковик может игнорировать вашу основную версию.
<link rel="canonical" href="https://example.com/category/news/" />Если на странице записи canonical неожиданно указывает на архив, это уже ошибка шаблона или фильтра плагина.
Быстрая проверка через консоль
Для технической диагностики удобно сравнить заголовки и canonical у нескольких URL. Например, у записи, её версии с параметром и страницы пагинации.
curl -I https://example.com/post-name/?utm_source=testСмотрите не только код ответа, но и то, не создаёт ли сайт отдельную страницу вместо канонической версии. Если URL с параметром отдаёт 200 и индексируется как отдельная страница, это кандидат на чистку.
Что делать: пошаговое решение
Логика простая: сначала убрать технические дубли, потом сократить индексируемые архивы, затем проверить canonical и карту сайта.
1. Закройте мусорные параметры и служебные URL
Если у вас в индекс попадают URL с ?replytocom=, UTM-метками, внутренними фильтрами или сортировкой, сначала проверьте, можно ли решить это редиректом или настройкой плагина. Не всегда нужно ставить noindex на всё подряд: иногда лучше вообще не создавать отдельную страницу.
Для параметров, которые не должны жить как отдельные страницы, можно добавить редирект на чистый URL. Пример для functions.php или собственного мини-плагина:
add_action('template_redirect', function () {
if (is_admin()) {
return;
}
if (!empty($_GET['replytocom'])) {
wp_safe_redirect(remove_query_arg('replytocom'), 301);
exit;
}
});Это не универсальное решение для всех параметров, но для типового мусора работает предсказуемо.
2. Оставьте индексируемыми только нужные архивы
Если у сайта много рубрик и тегов, часть архивов почти всегда будет пустой или дублирующей. Оставляйте открытыми только те таксономии, которые реально помогают навигации и имеют уникальный смысл. Остальные лучше закрыть от индексации на уровне SEO-плагина или шаблона.
Если вы используете Yoast SEO, Rank Math или аналог, не полагайтесь на «автоматически всё правильно». Проверьте отдельно:
- рубрики;
- теги;
- архивы авторов;
- архивы дат;
- страницы поиска;
- страницы вложений.
Чаще всего именно архивы авторов и дат создают слабые страницы без самостоятельной ценности.
3. Настройте canonical для записей и архивов
Canonical нужен не для «магии SEO», а чтобы явно указать основную версию страницы. Если у вас один и тот же контент доступен по нескольким адресам, canonical должен вести на чистый URL без параметров и без альтернативных шаблонов.
Если нужно принудительно поправить canonical для конкретного типа записей, можно использовать фильтр WordPress. Это полезно, когда тема или плагин ошибается.
add_filter('get_canonical_url', function ($canonical, $post) {
if ($post instanceof WP_Post && $post->post_type === 'post') {
return get_permalink($post);
}
return $canonical;
}, 10, 2);Фильтр не надо применять бездумно ко всему сайту. Сначала убедитесь, что проблема именно в неправильном canonical, а не в лишних URL.
4. Сократите индексируемые страницы пагинации
Пагинация сама по себе не ошибка. Ошибка начинается, когда страницы 2, 3, 4 и дальше не несут самостоятельной ценности, но всё равно попадают в индекс и конкурируют с первой страницей архива. Для новостных и контентных сайтов это особенно заметно.
Если архив большой, оставляйте пагинацию доступной для обхода, но не делайте её отдельной SEO-целью. Важно, чтобы canonical указывал на саму страницу пагинации, а не на первую страницу архива, если это ломает навигацию. Здесь лучше ориентироваться на фактическую реализацию SEO-плагина и не переписывать поведение без причины.
Сравнение подходов: плагин, код или ручная настройка
| Подход | Когда подходит | Минусы |
|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы, теги, авторов, страницы медиа | Не всегда решает точечные дубли и параметры URL |
| Код в теме/плагине | Нужно убрать конкретный технический дубль или поправить canonical | Требует теста после обновлений темы и плагинов |
| Ручная настройка в админке | Нужно ограничить индексирование без разработки | Сложнее контролировать нестандартные URL и шаблоны |
На практике лучше комбинировать: массовые правила — в SEO-плагине, точечные проблемы — кодом или редиректом.
Проверка результата после внедрения
После изменений не ограничивайтесь просмотром страницы в браузере. Нужно проверить, что поисковик видит именно ту версию, которую вы считаете основной.
- Откройте проблемный URL и убедитесь, что canonical указывает на нужный адрес.
- Проверьте, что URL с параметрами не создаёт отдельную индексируемую страницу.
- Посмотрите, не исчезли ли из индекса важные архивы, которые должны работать как точки входа.
- Сравните карту сайта до и после: в ней не должно быть технических страниц.
- В Search Console запросите переобход нескольких ключевых URL.
Если у вас есть доступ к логам или аналитике, полезно посмотреть, не выросло ли количество обходов мусорных URL после изменений. Иногда проблема не в индексации, а в том, что бот продолжает тратить краулинговый бюджет на лишние адреса.
Частые ошибки и как их исправить
Ставят noindex на всё подряд
Это типичная реакция на дубли, но она часто ломает структуру сайта. Если закрыть все архивы, можно потерять полезные посадочные страницы и внутреннюю перелинковку. Сначала определите, какие архивы реально нужны пользователю.
Удаляют canonical, чтобы «не мешал»
Canonical не мешает, если он правильный. Убирать его — плохая идея, потому что тогда поисковик сам выберет основную страницу, а выбор может оказаться не тем, который нужен вам.
Редиректят все параметры без разбора
Это может сломать фильтры, сортировки и часть внешних ссылок. Сначала отделите служебные параметры от рабочих. Для рабочих параметров лучше настраивать логику отдельно, а не рубить всё 301-редиректом.
Не проверяют тему и шаблоны
Иногда дубли создаёт не WordPress, а тема: отдельные шаблоны для мобильной версии, кастомные архивы, блоки с одинаковыми сниппетами. Если canonical и robots настроены правильно, а дубли остаются, ищите проблему в шаблонах и хуках.
Практические советы по безопасности и производительности
Чистка дублей полезна не только для SEO. Чем меньше мусорных URL, тем меньше лишних обходов и тем проще поддерживать сайт. Но изменения в canonical, редиректах и robots лучше вносить аккуратно:
- не правьте ядро WordPress, используйте дочернюю тему или отдельный мини-плагин;
- перед изменениями сохраните список URL, которые уже индексируются;
- после правок очистите кеш страницы и объектный кеш, если он есть;
- не закрывайте от индексации страницы, которые уже получают входящий трафик без анализа;
- проверяйте изменения на staging, если сайт большой или трафик стабильный.
Если нужен более системный аудит дублей, технической чистки и SEO-настроек, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином всё равно стоит вручную проверить canonical и индексируемые архивы — автоматическая настройка не заменяет диагностику.
Хороший критерий, что вы всё сделали правильно: в индексе остаются только те URL, которые реально нужны пользователю и поиску, а технические дубли перестают конкурировать с основными страницами.