Дубли в WordPress обычно появляются не из-за одной ошибки, а из-за набора мелочей: архивы тегов, пагинация, параметры в URL, версии страниц для печати, дубли с www и без него, а иногда — из-за темы или плагина, который создал второй путь к тому же контенту. В итоге поисковик видит несколько адресов с одинаковым текстом и начинает выбирать канонический вариант сам. Это не всегда тот URL, который вам нужен.
Ниже — рабочий сценарий: как быстро диагностировать проблему, что именно править в WordPress, как не сломать индексацию и чем проверить результат после изменений.
Как понять, что у вас именно дубли, а не обычная просадка трафика
Сначала смотрим не на позиции, а на структуру URL. Если одна и та же страница открывается по нескольким адресам, это уже повод разбираться. Типичные признаки: в Search Console растёт число страниц со статусом «Дубликат, Google выбрал другой канонический URL», в индексе есть и /page/2/, и исходный архив, а в выдаче всплывают URL с параметрами вроде ?replytocom= или ?utm_.
Что проверить в первую очередь
- открывается ли одна и та же запись по
httpиhttps; - есть ли доступ к сайту с
wwwи безwww; - дублируются ли архивы рубрик, тегов, авторов и дат;
- появляются ли в индексе URL с параметрами;
- не создаёт ли тема отдельные страницы для одного и того же контента: «похожие записи», «версия для печати», «комментарии на отдельной странице».
Если у вас есть доступ к серверным логам или аналитике, полезно посмотреть, какие URL реально получают трафик, а какие существуют только как технические копии. Это помогает не удалять то, что уже работает как точка входа.
Диагностика проблемы: где искать источник дублей
В WordPress дубли чаще всего возникают в четырёх местах: настройки сайта, тема, плагины и правила индексации. Начинать лучше с настроек, потому что это самый дешёвый способ убрать лишние варианты URL.
1. Проверьте базовые настройки WordPress
Откройте Настройки → Общие и убедитесь, что адрес WordPress и адрес сайта совпадают по протоколу и домену. Если один вариант с www, а другой без него, WordPress сам по себе не всегда создаёт дубль, но в связке с сервером и внешними ссылками это быстро превращается в проблему.
Также проверьте структуру постоянных ссылок. Если вы меняли её несколько раз, старые URL могли остаться в индексе и вести на те же материалы через редиректы или архивы.
2. Посмотрите, что делает тема
Некоторые темы выводят один и тот же материал в нескольких шаблонах: на главной, в архиве, в блоке «похожие», в слайдере и в отдельной странице автора. Сам по себе повтор текста на страницах сайта не всегда критичен, но если тема создаёт отдельные URL для одинакового контента, это уже технический дубль.
Особенно часто проблема встречается в шаблонах архивов: рубрика, тег, автор и дата могут показывать почти одинаковые списки записей, а если у них ещё и одинаковые title/meta description, поисковику сложно понять, какой раздел важнее.
3. Проверьте плагины SEO и фильтров
SEO-плагины иногда автоматически создают канонические URL, но не всегда закрывают все варианты. Плагины фильтрации, сортировки, комментариев и кэширования могут добавлять параметры к адресам. Если параметр не меняет содержимое страницы, его лучше не индексировать.
Отдельно посмотрите на плагины, которые генерируют страницы для печати, AMP-версии или альтернативные представления контента. Если они не нужны, их лучше отключить или закрыть от индексации.
Как убрать дубли: рабочая схема без лишнего риска
Задача не в том, чтобы удалить всё подряд, а в том, чтобы оставить один основной URL на каждый смысловой блок. Для этого обычно комбинируют редиректы, канонические ссылки и настройку индексации архивов.
Шаг 1. Настройте единый вариант домена
Если сайт должен работать на https://example.ru, все альтернативы должны вести туда через 301-редирект. Это делается на уровне сервера или через .htaccess, если у вас Apache. Пример для перенаправления с www на без www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC]
RewriteRule ^(.*)$ https://example.ru/$1 [L,R=301]Если у вас Nginx, правило будет другим, и его лучше править в конфиге сервера, а не в WordPress. Смысл один: один домен, один протокол, один канонический путь.
Шаг 2. Закройте лишние архивы от индексации
Если рубрики полезны для навигации, оставьте их в индексе. Если теги дублируют рубрики и не дают отдельной ценности, их можно закрыть от индексации. То же относится к архивам автора и даты на небольших сайтах, где они просто повторяют список записей.
В WordPress это можно сделать через SEO-плагин или кодом, если вы точно понимаете, что отключаете. Пример для вывода noindex на архивы тегов и авторов:
add_filter('wp_robots', function ($robots) {
if (is_tag() || is_author()) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
return $robots;
});Этот вариант не удаляет страницу, а только подсказывает поисковику не индексировать её. Для части проектов это безопаснее, чем массово удалять архивы и ломать внутреннюю перелинковку.
Шаг 3. Уберите параметры, которые создают псевдодубли
Если сайт генерирует URL с параметрами, которые не меняют содержимое, лучше не давать им индексироваться. Например, ?replytocom= часто создаёт лишние версии страниц комментариев. В ряде случаев достаточно отключить такие ссылки в настройках темы или комментариев, а иногда — добавить редирект или canonical.
Для параметров, которые вы не можете убрать сразу, проверьте, не ставит ли SEO-плагин canonical на чистый URL. Это не панацея, но помогает сократить число дублей в индексе.
Шаг 4. Проставьте canonical там, где контент повторяется частично
Если у вас есть страницы с похожим содержимым, но одна из них должна считаться основной, canonical помогает явно указать приоритет. В WordPress это можно сделать в шаблоне или через SEO-плагин. Пример вручную в <head> для конкретного шаблона:
<link rel="canonical" href="https://example.ru/category/news/" />Но вручную это стоит делать только для точечных случаев. Если проблема системная, лучше настроить canonical на уровне шаблона или использовать SEO-плагин, который умеет управлять каноническими URL без правки темы.
Сравнение подходов: плагин, код или сервер
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы, задать canonical, убрать мета-robots | Меньше ручного кода, проще поддержка | Не всегда закрывает все нестандартные URL |
| Код в теме или mu-plugin | Нужна точечная логика для архивов и robots | Гибко, не зависит от интерфейса плагина | Требует аккуратного тестирования |
| Редиректы на сервере | Нужно склеить домены, протоколы и старые URL | Быстро и надёжно | Ошибки в конфиге могут положить сайт |
На практике лучше не выбирать один инструмент, а разделить задачи: сервер отвечает за домен и протокол, WordPress — за canonical и robots, SEO-плагин — за удобное управление архивами.
Проверка результата после внедрения
После изменений не полагайтесь на ощущение «вроде всё работает». Проверьте конкретные признаки.
- Откройте старые URL с
www,httpи параметрами — они должны вести на один основной адрес. - Посмотрите исходный код страницы и убедитесь, что canonical указывает на нужный URL.
- Проверьте robots meta на архивах, которые вы закрывали от индексации.
- В Search Console отправьте на проверку важные страницы и дождитесь переобхода.
- Сравните количество дублей в отчётах до и после изменений, но не делайте выводы по одному дню.
Если используете инструмент проверки URL в Search Console, смотрите не только на статус индексации, но и на выбранный Google canonical. Если поисковик продолжает выбирать другой адрес, значит, где-то остался более сильный сигнал: внутренняя ссылка, редирект, sitemap или старый canonical.
Частые ошибки и как их исправить
Ставят noindex на всё подряд
Это частая ошибка после попытки «почистить» сайт. В итоге из индекса исчезают не только теги и авторы, но и полезные рубрики, которые приводили трафик. Исправление простое: сначала определите, какие архивы реально нужны, и закрывайте только лишние.
Удаляют страницы вместо склейки
Если у дубля уже есть внешние ссылки или он попал в индекс, удаление без 301-редиректа создаёт 404 и теряет накопленный вес. Правильнее сначала склеить URL, а уже потом решать, нужен ли старый адрес как редирект навсегда.
Путают canonical и редирект
Canonical — это подсказка для поисковика, а не принудительное перенаправление пользователя. Если у вас реально два разных адреса с одинаковым контентом, а нужен только один, ставьте 301-редирект. Canonical оставляйте для случаев, когда страницы похожи, но не идентичны.
Не проверяют sitemap
Иногда в карту сайта попадают URL, которые уже закрыты от индексации или должны отдавать 301. Это создаёт лишний шум и мешает переобходу. После чистки обязательно обновите sitemap и проверьте, что в нём остались только нужные адреса.
Безопасность и производительность: что не стоит делать
Не правьте редиректы и canonical в продакшене без бэкапа. Ошибка в одном правиле может отправить весь сайт в цикл перенаправлений или закрыть от индексации важные разделы. Если меняете конфиг сервера, сначала тестируйте на staging-копии.
Если дублей много из-за темы или набора плагинов, иногда проще убрать источник проблемы, чем лечить последствия. Например, если SEO-задачу закрывает один плагин, а другой параллельно генерирует свои мета-теги и архивы, это создаёт конфликт. В таких случаях полезно сократить число инструментов, а не добавлять ещё один «для исправления».
Для сайтов, где много технических дублей и лишних архивов, имеет смысл использовать инструменты, которые помогают чистить мета-данные и управлять индексированием без лишнего кода. Например, в Clearfy Pro есть функции для удаления дублей и технической чистки сайта, но применять такие решения стоит только после проверки, какие именно URL вам нужны в индексе, а какие нет.
Мини-чек-лист перед публикацией изменений
- Единый домен и протокол настроены через 301.
- Canonical указывает на основной URL.
- Лишние архивы закрыты от индексации, нужные — оставлены.
- Параметры, создающие дубли, не попадают в sitemap.
- Старые адреса не отдают 200 там, где должен быть редирект.
- Search Console показывает уменьшение числа дублей после переобхода.
Если после чистки дубли всё ещё появляются, ищите источник не в SEO-настройках, а в шаблонах темы и логике плагинов. В WordPress именно там чаще всего и прячется проблема: не в одной «плохой странице», а в том, что один и тот же контент доступен по нескольким маршрутам.