Дубли в WordPress обычно появляются не из-за одной ошибки, а из-за набора мелких настроек: архивы тегов и категорий, страницы пагинации, версии с параметрами UTM, http/https, www/без www, а иногда и одинаковые материалы в нескольких URL. Для поисковика это не «косметика», а несколько адресов с похожим содержимым. В итоге в индексе остаётся лишнее, а основной URL может ранжироваться слабее, чем должен.
Ниже разберём, как быстро понять, где именно у вас дубли, и что делать: когда достаточно canonical, когда нужен 301-редирект, а когда лучше закрыть страницу от индексации или вообще убрать её из генерации.
Как понять, что у сайта есть проблема с дублями
Первый признак — в поиске всплывают не те URL: с параметрами, с /page/2/, с /amp/, с вложенными архивами или с разными вариантами главного домена. Второй признак — в Google Search Console или Яндекс Вебмастере одна и та же страница фигурирует под несколькими адресами. Третий — в отчётах краулинга много одинаковых title, description и H1.
Что проверить вручную
- откройте один и тот же материал с
httpиhttps; - проверьте вариант с
wwwи безwww; - сравните URL записи и её архивов: категория, тег, автор, дата;
- посмотрите, не индексируются ли страницы с параметрами вроде
?utm_source=; - проверьте пагинацию архивов и поиск по сайту.
Если у вас стоит SEO-плагин, он может уже добавлять canonical, но это не всегда решает проблему. Canonical помогает поисковику выбрать основной адрес, но не убирает сам дубль из обхода и не исправляет внутренние ссылки, которые продолжают вести на лишние URL.
Какие дубли в WordPress встречаются чаще всего
| Сценарий | Что происходит | Что обычно делать |
|---|---|---|
| HTTP и HTTPS | Один и тот же контент доступен по двум протоколам | Настроить 301 на основной вариант |
| www и без www | Сайт открывается в двух доменных версиях | Выбрать одну версию и склеить редиректом |
| Параметры UTM | Одна страница получает много URL с параметрами | Оставить canonical на чистый URL, иногда закрыть параметры от индексации |
| Архивы таксономий | Одинаковые фрагменты текста дублируются в категориях и тегах | Сократить архивы, убрать лишние таксономии, при необходимости noindex |
| Пагинация | Страницы /page/2/, /page/3/ содержат повторяющиеся блоки | Проверить canonical и структуру архива |
Пошаговое решение: что делать в правильном порядке
1. Сначала выберите один основной URL
До любых правок нужно зафиксировать, какой вариант считается главным: https, без www, без лишних слэшей в середине, с понятной структурой постоянных ссылок. Если этого не сделать, редиректы и canonical будут конфликтовать между собой.
2. Настройте 301-редирект для технических дублей
Если у вас доступны настройки сервера, лучше решать на уровне веб-сервера. Для Apache это обычно .htaccess. Пример для принудительного перехода на HTTPS и без www:
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC]
RewriteRule ^(.*)$ https://example.ru/$1 [R=301,L]Если сайт работает на Nginx, аналогичная логика настраивается в конфигурации сервера, а не в WordPress. Это важно: редирект на уровне PHP или плагина работает, но обычно медленнее и хуже контролируется.
3. Проверьте canonical на страницах, где редирект неуместен
Для параметров сортировки, UTM-меток, страниц фильтрации или похожих служебных URL редирект не всегда подходит. Иногда нужен именно canonical на основную страницу, чтобы не ломать аналитику и не мешать пользователю открывать ссылку с параметрами.
Если вы пишете код в теме или плагине, canonical можно задать через фильтр wpseo_canonical в Yoast SEO или через стандартную логику темы, если SEO-плагина нет. Но не стоит дублировать canonical вручную в шаблоне, если SEO-плагин уже делает это сам.
add_filter('wpseo_canonical', function ($canonical) {
if (is_home()) {
return home_url('/');
}
if (is_singular()) {
return get_permalink();
}
return $canonical;
});Этот пример не «лечит» все дубли, а лишь показывает принцип: canonical должен указывать на один стабильный URL, а не на текущий вариант с параметрами.
4. Уберите лишние архивы и служебные страницы из индекса
Если у сайта много пустых тегов, бесполезных архивов авторов или страниц поиска, их часто лучше закрыть от индексации. Но не путайте noindex и удаление дубля: если страница продолжает активно связываться внутренними ссылками, поисковик всё равно будет её обходить.
Практический подход такой:
- архивы тегов оставить только если они реально помогают навигации;
- пустые или слабые архивы закрыть от индексации;
- страницы внутреннего поиска не индексировать;
- служебные параметры не плодить в ссылках без необходимости.
5. Исправьте внутренние ссылки
Очень частая ошибка — редиректы настроены, но меню, хлебные крошки, кнопки и карточки продолжают вести на старые URL. Поисковик всё равно будет тратить краулинговый бюджет на лишние адреса. После настройки канонического адреса пройдитесь по шаблонам темы и убедитесь, что везде используется home_url(), get_permalink() и другие штатные функции WordPress, а не захардкоженные ссылки.
Когда лучше использовать код, а когда плагин
Если проблема ограничена одним-двумя типами дублей, код в теме или небольшом mu-plugin часто надёжнее. Если же на сайте много архивов, параметров и технических исключений, удобнее взять инструмент, который закрывает сразу несколько задач: canonical, noindex, очистку дублей, управление robots.txt и лишними мета-тегами.
| Подход | Плюсы | Минусы |
|---|---|---|
| Код в теме / mu-plugin | Точный контроль, минимум лишней логики | Нужно поддерживать руками, легко ошибиться |
| SEO-плагин | Быстро закрывает типовые случаи | Не всегда удобно для нестандартных правил |
| Комбинированный вариант | Плагин для базы, код для точечных исключений | Нужно следить, чтобы правила не конфликтовали |
Если нужен именно набор для чистки дублей и технической оптимизации, в экосистеме WPShop для этого есть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с таким инструментом важно понимать, какие URL вы закрываете и почему.
Проверка результата после внедрения
После правок не ограничивайтесь открытием страницы в браузере. Нужно проверить, что сервер отдаёт правильный код ответа, canonical указывает на нужный адрес, а поисковый робот не видит несколько версий одной страницы.
Что проверить технически
- основной URL отдаёт
200 OK; - старые варианты возвращают
301 Moved Permanently; - в исходном коде страницы один canonical;
- в sitemap нет лишних URL;
- внутренние ссылки ведут на основной адрес;
- в Search Console уменьшается число страниц с дублирующимся каноническим URL.
Для быстрой проверки можно использовать curl:
curl -I https://example.ru/staryj-url/
curl -I https://example.ru/Если первый запрос не возвращает 301, редирект не сработал. Если на странице с параметрами canonical указывает на саму себя или на другой параметризированный URL, настройка сделана неправильно.
Частые ошибки и как их исправить
Редирект и canonical указывают в разные стороны
Например, старая версия страницы редиректит на новую, а canonical на новой странице всё ещё ведёт на старую. Это ломает логику склейки. Исправление простое: редирект должен вести на основной URL, а canonical на целевом URL должен совпадать с ним.
Закрыли от индексации, но не убрали из навигации
Если страница не нужна в поиске, но остаётся в меню, хлебных крошках и блоках «похожие материалы», робот будет продолжать её обходить. В таких случаях лучше убрать ссылку из шаблона или заменить её на более полезную.
Используют несколько SEO-плагинов одновременно
Два плагина, которые управляют canonical, robots meta и sitemap, почти гарантированно создадут конфликт. Оставьте один основной инструмент, а второй отключите или уберите его SEO-функции.
Путают дубли и похожие страницы
Не каждая похожая страница — дубль. Если у материалов разный смысл, разные заголовки и разная цель, не нужно склеивать их в один URL только ради «чистоты». В WordPress часто проблема не в контенте, а в технических копиях одного и того же материала.
Практические советы по безопасности и производительности
Редиректы и правила индексации лучше хранить централизованно. Если вы добавляете код в functions.php, помните, что ошибка в синтаксисе может положить сайт. Для точечных правок безопаснее использовать mu-plugin или отдельный мини-плагин, который можно отключить без потери темы.
Ещё несколько рабочих правил:
- не плодите редиректы цепочками из трёх и более шагов;
- не закрывайте от индексации всё подряд, если не понимаете, как это повлияет на обход сайта;
- не меняйте структуру ссылок без карты редиректов;
- после массовых правок очищайте кеш страницы и, если есть, объектный кеш;
- проверяйте sitemap после изменения таксономий и архивов.
Если дублей много и они связаны с общей технической чисткой сайта, иногда выгоднее сначала убрать лишние архивы, мета-данные и служебные URL, а уже потом настраивать редиректы. Так меньше шансов, что вы будете склеивать то, что вообще не должно существовать в индексе.