Дубли в WordPress обычно появляются не из-за одной ошибки, а из-за набора мелочей: архивы тегов, пагинация, страницы автора, версии с параметрами, дубли главной, служебные URL темы и плагинов. В результате поисковик видит несколько адресов с одинаковым или почти одинаковым содержимым, а сайт теряет качество индексации.
Ниже разберём не абстрактную теорию, а рабочий сценарий: как найти дубли, какие из них можно закрыть от индексации, а какие лучше убрать на уровне шаблона или редиректа.
Как понять, что на сайте есть дубли
Первый признак — в поиске всплывают лишние адреса: /page/2/, /tag/, /author/, страницы с параметрами ?replytocom=, ?utm_, а иногда и версии с www и без него одновременно. Второй признак — в отчётах Search Console растёт число страниц, но полезных посадочных не становится больше.
Что проверить в первую очередь
- одинаковый ли контент открывается по нескольким URL;
- есть ли у сайта одновременно
httpиhttps,wwwи безwww; - не индексируются ли архивы тегов, авторов и дат без реальной пользы;
- не создаёт ли тема отдельные шаблоны для одного и того же материала;
- не плодят ли параметры URL технические копии страниц.
Если сайт небольшой, достаточно вручную сравнить несколько адресов. На проекте побольше удобнее выгрузить список URL из Search Console, Screaming Frog или аналогичного краулера и посмотреть, где совпадает title, h1 и основной текст.
Диагностика: где именно рождаются дубли
В WordPress дубли чаще всего появляются в четырёх местах: в настройках постоянных ссылок, в шаблонах темы, в архивах таксономий и в плагинах, которые добавляют свои страницы или параметры. Если сразу закрывать всё подряд, можно случайно убрать из индекса полезные страницы.
| Источник дубля | Что делать | Риск |
|---|---|---|
| Архивы тегов и авторов | Закрыть от индексации или оставить только нужные | Потеря трафика, если архивы реально ранжируются |
| Параметры URL | Склеить через canonical или редирект | Ошибки в аналитике и лишние копии |
| Дубли главной | Настроить один основной адрес сайта | Смешение ссылочного веса |
| Пагинация и сортировки | Проверить meta robots и canonical | Индексирование мусорных страниц |
Пошаговое решение без плагинов
Шаг 1. Приведите сайт к одному основному URL
Сначала убедитесь, что сайт открывается только в одной версии: либо https://example.ru, либо https://www.example.ru. Это не косметика, а базовая склейка дублей. В WordPress проверьте адреса в Настройки → Общие и настройте редирект на уровне сервера или .htaccess.
Для Apache можно использовать такой вариант:
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC]
RewriteRule ^ https://example.ru%{REQUEST_URI} [L,R=301]Для Nginx логика та же, но правило пишется в конфиге сервера. Если вы не уверены, лучше не править боевой конфиг вслепую: сначала проверьте текущие редиректы через curl -I или любой HTTP checker.
Шаг 2. Закройте служебные архивы, которые не нужны в индексе
Если у сайта нет задачи продвигать страницы авторов, дат или тегов, их лучше не оставлять открытыми по умолчанию. В WordPress это можно сделать через wp_robots и условные теги.
add_filter('wp_robots', function ($robots) {
if (is_author() || is_date() || is_tag()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Такой подход не удаляет страницы физически, а только ограничивает их индексацию. Это безопаснее, чем сразу ломать архивы, которые могут использоваться внутри сайта.
Шаг 3. Уберите дубли от параметров URL
Частая проблема — страницы с параметрами, которые не меняют смысл контента: ?replytocom=, UTM-метки, сортировки, фильтры. Для них обычно нужен canonical на чистую версию страницы. Если параметр не нужен вообще, лучше редиректить или игнорировать его на уровне сервера.
В шаблоне можно добавить canonical вручную для нестандартных случаев:
add_filter('get_canonical_url', function ($canonical, $post) {
if (is_singular() && !empty($_GET['replytocom'])) {
return get_permalink($post);
}
return $canonical;
}, 10, 2);Это не универсальная панацея, но для точечных случаев помогает убрать лишнюю вариативность URL. Если у вас SEO-плагин уже генерирует canonical, проверьте, не конфликтует ли он с этой логикой.
Шаг 4. Проверьте архивы таксономий и пагинацию
Теги, рубрики и страницы /page/2/ часто индексируются без пользы, если на них почти нет уникального контента. Здесь важно не рубить всё подряд: рубрики иногда дают хороший трафик, а теги — нет. Решение зависит от структуры сайта.
- если архив полезен пользователю — оставьте его открытым и проверьте canonical;
- если архив пустой или почти дублирует записи — закройте его от индексации;
- если пагинация создаёт мусорные страницы — проверьте, не попадают ли они в sitemap.
Когда лучше править код темы, а не настройки SEO-плагина
Если дубли создаёт сама тема, например выводит отдельные страницы для одинакового контента или генерирует лишние шаблоны, настройки SEO-плагина не всегда помогут. Тогда нужно исправлять источник. Это особенно заметно в кастомных темах, где авторы дублируют блоки в single.php, page.php и архивных шаблонах.
Полезно проверить, не выводит ли тема одинаковые мета-теги дважды. Например, title и description могут дублироваться из-за ручной вставки и SEO-плагина одновременно. В таком случае оставьте один источник генерации мета-данных.
Проверка результата после внедрения
После правок не ограничивайтесь открытием пары страниц в браузере. Проверьте именно то, что влияет на индексацию и склейку.
- Откройте главную и несколько внутренних страниц с
curl -Iи убедитесь, что редиректов не стало больше одного. - Проверьте исходный код страницы: у нужного URL должен быть один canonical.
- Посмотрите
robots-мета на архивных страницах, которые вы закрывали. - Сравните список URL в Search Console до и после изменений.
- Переобойдите сайт краулером и найдите страницы с одинаковым title и h1.
Если после правок поисковик всё ещё показывает старые адреса, это нормально: переобход и переиндексация занимают время. Важно, чтобы новые правила уже были на месте и не создавали новых дублей.
Частые ошибки и как их исправить
Закрыли от индексации всё подряд
Так часто делают, когда видят много дублей. В итоге исчезают полезные архивы, а внутренние переходы и навигация становятся хуже. Исправление простое: верните индексацию тем страницам, которые реально нужны пользователю, и закрывайте только мусорные или повторяющиеся URL.
Поставили noindex, но не убрали canonical на дубль
Если canonical указывает на саму дубль-страницу или на неправильный URL, поисковик может продолжать считать её отдельной сущностью. Проверьте, чтобы canonical вёл на основную версию материала.
Редирект сделали через плагин, а тема продолжает генерировать старые ссылки
Это типичная ситуация после смены структуры URL. Редирект решает только переход, но не источник ссылок. Нужно обновить меню, хлебные крошки, виджеты и внутренние ссылки в контенте.
Не учли параметры аналитики
UTM-метки сами по себе не должны создавать индексируемые дубли, но если на сайте есть нестандартная логика шаблонов, они могут ломать canonical. Проверьте, что страницы с параметрами не получают отдельные мета-теги и не попадают в sitemap.
Чек-лист перед публикацией изменений
- основной домен выбран и отвечает с одним редиректом;
- canonical указывает на чистый URL;
- архивы, которые не нужны в поиске, закрыты через
noindex; - параметры URL не создают отдельные индексируемые страницы;
- sitemap содержит только нужные адреса;
- внутренние ссылки ведут на канонические URL;
- после правок проверен исходный код и ответ сервера.
Что делать, если дубли уже попали в индекс
Если страницы уже проиндексированы, не пытайтесь удалять их массово без плана. Сначала исправьте источник дубля, затем обновите sitemap, отправьте на переобход важные URL и дождитесь переобхода старых адресов. Для части страниц достаточно canonical и редиректа, для части — noindex, а для совсем лишних служебных URL можно оставить 404 или 410, если это действительно удалённый контент.
Если нужна более системная чистка сайта, можно посмотреть в сторону инструментов вроде Clearfy Pro: он помогает убрать часть технического мусора и дублирующих элементов, но даже с ним логику canonical, редиректов и индексации всё равно нужно проверять вручную. Автоматическая настройка не отменяет диагностику.
Главный критерий простой: после правок у каждой важной страницы должен быть один понятный адрес, а всё лишнее не должно конкурировать с ним в индексе.