Как найти и убрать дубли страниц в WordPress без потери индексации

Дубли в WordPress обычно появляются не из-за одной ошибки, а из-за набора мелочей: страницы с и без слэша, HTTP и HTTPS, www и без www, архивы тегов, пагинация, параметры сортировки, отдельные версии для печати, а иногда и дубли записей из-за шаблона темы или плагина. Если это не привести в порядок, поисковик начинает индексировать лишние URL, а вес страниц размазывается по копиям.

Ниже — рабочий сценарий: как быстро найти источник дублей, что закрывать редиректом, что оставлять с canonical, и как проверить, что после правок сайт не потерял нужные страницы из индекса.

Как понять, что у вас именно проблема дублей

Первый признак — в поиске всплывают одинаковые страницы с разными адресами. Второй — в отчётах краулинга видно много URL с одинаковым title, description или почти одинаковым контентом. Третий — в Google Search Console одна и та же страница может попадать в разные варианты, а в индексе остаётся не та версия, которую вы считаете основной.

Что проверить в первую очередь

  • открывается ли одна и та же страница по http и https;
  • есть ли доступ к версии с www и без www;
  • различаются ли URL со слэшем на конце и без него;
  • не индексируются ли архивы тегов, авторов, дат и страниц поиска;
  • не создаёт ли плагин фильтрации или сортировки URL с параметрами;
  • не дублируются ли записи через вложения медиафайлов.

Если у вас есть доступ к краулеру вроде Screaming Frog, Sitebulb или аналогичного инструмента, выгрузите список URL с одинаковыми title и H1. Это самый быстрый способ увидеть, где WordPress или тема плодят копии.

Какие дубли можно закрыть редиректом, а какие — canonical

Не все дубли нужно удалять физически. Часть из них лучше просто переадресовать на основную версию. Другая часть должна оставаться доступной для пользователя, но указывать поисковику на канонический URL.

СценарийЧто делатьКомментарий
HTTP / www / слэш301-редиректЭто технические копии одной и той же страницы
Параметры сортировки и фильтровcanonical или запрет индексацииЗависит от того, нужны ли такие страницы в поиске
Архивы тегов и авторовnoindex или отключениеЕсли они не несут самостоятельной ценности
Пагинация архивовоставить, но проверить canonicalНе ломайте навигацию по архивам

Если задача — убрать именно технические копии, начинайте с редиректов. Если же речь о страницах, которые нужны пользователю, но не должны конкурировать с основной страницей, используйте canonical и мета-robots.

Пошаговое решение: как убрать дубли в WordPress

1. Зафиксируйте основную версию сайта

В админке WordPress проверьте Настройки → Общие: адрес WordPress и адрес сайта должны быть в одной и той же версии — с HTTPS, с нужным доменом, без случайных расхождений. Если сайт должен работать на https://example.ru, не оставляйте в настройках старый http://.

Дальше проверьте, не создаёт ли сервер вторую версию домена. На уровне веб-сервера должен быть один канонический вариант: либо с www, либо без него. Это лучше делать на стороне nginx или Apache, а не через цепочку плагинов.

2. Настройте 301-редиректы для технических копий

Если сервер позволяет, редиректы лучше делать там. Но для типового WordPress-проекта можно начать с .htaccess на Apache. Пример ниже переводит весь трафик на HTTPS и убирает www:

RewriteEngine On

RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]

Для nginx логика будет другой, но смысл тот же: один основной хост и один протокол. Если у вас уже есть правила редиректов от хостинга, не дублируйте их в WordPress-плагинах, иначе легко получить цепочку из двух-трёх переходов.

3. Уберите дубли архивов, если они не нужны

Архивы тегов, авторов и дат часто создают десятки страниц с очень похожим содержимым. Если они не дают трафик и не используются в навигации, их лучше закрыть от индексации. Это можно сделать через SEO-плагин или кодом, если вы хотите контролировать поведение без лишних зависимостей.

Пример для functions.php или мини-плагина: добавляем noindex для архивов тегов и авторов.

add_action('wp_head', function () {
    if (is_tag() || is_author()) {
        echo "<meta name=\"robots\" content=\"noindex,follow\" />\n";
    }
});

Это не удаляет страницу, а только снижает шанс её индексации. Если архив нужен для пользователей, но не должен конкурировать с основными материалами, такой вариант обычно безопаснее, чем полное отключение.

4. Проверьте canonical на страницах записей и архивов

WordPress и большинство SEO-плагинов умеют выводить canonical автоматически. Проблема начинается, когда тема или кастомный шаблон подменяют head, и canonical либо отсутствует, либо указывает не туда.

Если вы пишете собственный шаблон, не вырезайте wp_head(). Без него легко потерять не только canonical, но и мета-теги, стили и скрипты плагинов.

Для проверки canonical откройте исходный код страницы и найдите строку вида:

<link rel="canonical" href="https://example.ru/stranica/" />

Адрес должен совпадать с основной версией страницы без лишних параметров и без альтернативного домена.

5. Закройте мусорные параметры и служебные URL

Если на сайте есть фильтры, сортировки, UTM-метки, внутренний поиск или страницы с параметрами, они могут генерировать почти бесконечное число дублей. Не все параметры нужно запрещать. Но если параметр не меняет смысл страницы для поисковика, его лучше не индексировать.

Например, если у вас есть служебные параметры, которые не должны попадать в индекс, можно добавить заголовок X-Robots-Tag на уровне сервера или использовать настройки SEO-плагина. Для WordPress-кода это обычно не лучший путь, если параметров много и логика сложная.

Диагностика проблемы: где именно WordPress создаёт копии

Перед тем как править код, полезно понять источник. В WordPress дубль может появиться в теме, в плагине, в настройках постоянных ссылок или на уровне сервера. Если исправлять не там, где проблема возникла, она вернётся после следующего обновления.

  • Тема — шаблон выводит одинаковый контент в нескольких шаблонах или не использует стандартные функции WordPress.
  • Плагин — создаёт отдельные страницы фильтров, сортировок, архивов или вложений.
  • Сервер — отдаёт сайт по нескольким доменам или протоколам.
  • Контент — одинаковые тексты публикуются в нескольких категориях без канонической версии.

Если дубли идут от вложений медиафайлов, проверьте, не открываются ли отдельные страницы изображений. Для многих проектов это лишний слой индексации, который только засоряет отчёты.

Проверка результата после внедрения

После правок не ограничивайтесь открытием пары страниц в браузере. Нужно проверить, что сайт отдаёт правильный код ответа, редиректит без цепочек и не оставляет старые адреса доступными.

Что смотреть вручную

  1. Откройте старый URL с http и убедитесь, что он ведёт на https через 301.
  2. Проверьте вариант с www и без него.
  3. Посмотрите исходный код основной страницы и найдите canonical.
  4. Убедитесь, что архивы, которые вы закрывали, действительно получили noindex.

Если есть доступ к консоли, можно быстро проверить редирект так:

curl -I http://example.ru/stranica/
curl -I https://www.example.ru/stranica/

В ответе должен быть 301 Moved Permanently, а конечный URL — один и тот же канонический адрес. Если видите несколько переходов подряд, значит редиректов слишком много или они конфликтуют между собой.

Частые ошибки и как их исправить

Редирект настроен в двух местах сразу

Типичная ситуация: один редирект прописан в .htaccess, второй — в плагине. В результате появляются лишние переходы или циклы. Оставьте один источник правды: сервер или плагин, но не оба сразу.

Canonical указывает на несуществующую страницу

Такое бывает после смены структуры ссылок или переноса сайта. Поисковик видит канонический URL, но он отдаёт 404 или редиректит дальше. Проверьте все шаблоны и убедитесь, что canonical ведёт на живую основную страницу.

Архивы закрыли, но они всё ещё в индексе

noindex не удаляет страницу мгновенно. Поисковику нужно переобойти сайт. Если архивы были в индексе давно, дождитесь повторного обхода и проверьте отчёты в Search Console.

Сломали пагинацию

Иногда после жёстких настроек SEO-плагина страницы архивов с пагинацией начинают вести себя как дубли. Не закрывайте пагинацию без проверки. Если архив нужен для навигации, он должен оставаться доступным, даже если не является приоритетным для индексации.

Что делать, если дубли создаёт тема или плагин

Если проблема не в настройках, а в коде, править нужно аккуратно. Не редактируйте ядро WordPress и не вносите изменения прямо в сторонний плагин: обновление всё перетрёт. Используйте дочернюю тему или собственный мини-плагин.

Для проектов, где нужно быстро убрать лишние архивы, дубли мета-данных и технические страницы, иногда проще взять SEO-плагин с функциями очистки и контроля индексации. Например, Clearfy Pro закрывает часть типовых задач по дублям и технической чистке сайта, но даже в этом случае логику редиректов и canonical лучше проверять вручную: автоматические настройки не отменяют необходимость контроля.

Если вы работаете с кастомной темой, проверьте, что в шаблонах есть стандартные вызовы wp_head() и wp_footer(), а также что архивы и одиночные записи не выводят один и тот же контент в разных шаблонах без необходимости.

Мини-чек-лист перед публикацией правок

  • основной домен и протокол зафиксированы;
  • редиректы работают в одну цепочку, без петель;
  • canonical указывает на правильный URL;
  • архивы тегов, авторов и дат проверены отдельно;
  • страницы с параметрами не плодят индексируемые копии;
  • в исходном коде нет лишних дублей мета-тегов;
  • старые адреса возвращают 301, а не 200;
  • после изменений сайт не потерял важные страницы из индекса.

Если после внедрения изменений в Search Console всё ещё появляются дубли, не пытайтесь лечить это только мета-тегами. Сначала найдите источник URL, потом решайте: редирект, canonical, noindex или полное отключение шаблона. В WordPress это почти всегда даёт более предсказуемый результат, чем точечные правки «на глаз».

Вам также может быть интересно:

Как создать автоматические отчеты по активности пользователей в WordPress
17.02.2026
Как изменить регистрацию пользователей в WordPress с помощью хуков
08.12.2025
Как отключить XML-RPC и убрать pingback в WordPress без лишних запросов
06.09.2026
Как использовать Action Scheduler для отложенных задач в WordPress
05.12.2025
Как установить ограничение на количество вводимых символов в формах WordPress
23.01.2026
×
Quizle
Получите больше лидов и увеличьте продажи!
-15%

на премиум плагин WordPress

Получить скидку ⋙