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

Дубли в WordPress обычно появляются не из-за одной ошибки, а из-за набора мелких настроек: архивы тегов, пагинация, параметры в URL, одинаковые записи в нескольких таксономиях, страницы автора, версии с www и без него. В результате поисковик видит несколько адресов с одинаковым или почти одинаковым содержимым и начинает выбирать канонический URL сам. Это уже не та ситуация, где можно надеяться на «само пройдет».

Ниже — рабочий сценарий: как найти источник дублей, что можно закрыть от индексации, где нужен rel="canonical", а где лучше убрать саму генерацию лишних URL. Без лишней теории, с проверкой результата после каждого шага.

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

Сначала полезно отделить дубли от похожих страниц. Если в индексе есть несколько URL с одинаковым title, одинаковым H1 или почти одинаковым текстом, это уже повод проверить структуру сайта. На WordPress чаще всего встречаются такие сценарии:

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

Диагностика без плагинов и «магии»

Начните с простых проверок. Откройте несколько подозрительных URL и сравните:

  • заголовок страницы в браузере;
  • мета-тег canonical в исходном коде;
  • ответ сервера для URL с параметрами;
  • наличие редиректа на основной адрес.

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

curl -I https://example.com/sample-post/?utm_source=test

Ищите три вещи: редирект на чистый URL, отсутствие 200 OK для мусорных параметров и корректный canonical на основной адрес. Если страница с параметром открывается как полноценная и индексируемая, это уже источник дубля.

Что делать в первую очередь: сравнение подходов

ПодходКогда подходитМинус
Плагин для SEO/чистки дублейЕсли нужно быстро закрыть архивы, теги, вложения и служебные страницыЧасть логики остается скрытой, важно не включить лишние запреты
Код в теме или мини-плагинеЕсли нужен точечный контроль над canonical, редиректами и параметрамиНужно тестировать после обновлений темы и ядра
Серверные правилаЕсли дубли создают параметры, http/https или www/без wwwОшибки в конфиге могут сломать доступ к сайту

На практике лучше комбинировать: сервером убрать базовые дубли, кодом — точечные случаи, а SEO-плагином — закрыть служебные архивы и вложения. Если нужен инструмент для чистки дублей и технической оптимизации, у WPShop есть Clearfy Pro: https://wpshop.ru/plugins/clearfy.

Пошаговое решение

1. Уберите технические дубли на уровне URL

Если сайт доступен по нескольким вариантам домена или протокола, сначала оставьте один основной адрес и настройте редирект 301. Это не только про SEO, но и про консистентность ссылок внутри сайта.

# Пример для Apache: редирект на HTTPS и без www
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]

После этого проверьте, что старые варианты действительно отдают 301, а не 200. Если редирект цепочкой ведет через два-три шага, это тоже стоит исправить.

2. Закройте служебные страницы, которые не должны индексироваться

В WordPress часто не нужны в индексе:

  • страницы вложений изображений;
  • архивы автора на небольших проектах;
  • страницы поиска по сайту;
  • служебные страницы с параметрами сортировки и фильтрации;
  • теги, если они дублируют рубрики и не несут отдельной ценности.

Если вы делаете это кодом, не удаляйте сами страницы — достаточно изменить поведение индексации. Для вложений, например, можно перенаправлять attachment page на сам файл или родительскую запись:

add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent_id = get_post_field('post_parent', get_queried_object_id());

        if ($parent_id) {
            wp_redirect(get_permalink($parent_id), 301);
            exit;
        }

        $file = wp_get_attachment_url(get_queried_object_id());
        if ($file) {
            wp_redirect($file, 301);
            exit;
        }
    }
});

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

3. Добавьте canonical там, где URL отличаются только параметрами

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

Для точечной правки можно использовать фильтр wpseo_canonical в Yoast SEO или аналогичный механизм в вашем SEO-плагине. Если плагина нет, можно влиять на canonical через wp_head, но делать это нужно аккуратно, чтобы не вывести два canonical одновременно.

add_filter('wpseo_canonical', function ($canonical) {
    if (is_singular()) {
        return get_permalink();
    }

    return $canonical;
});

Если вы не используете Yoast SEO, не копируйте этот код бездумно. Сначала проверьте, какой плагин формирует canonical на сайте, иначе можно получить конфликт разметки.

4. Уберите лишние архивы из индекса

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

Практичный вариант — оставить архивы, но запретить индексирование там, где они не несут ценности. В SEO-плагинах это обычно настраивается без кода. Если делаете вручную, ориентируйтесь на мета robots и canonical, а не на удаление шаблонов из темы.

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

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

  • Откройте несколько старых URL с параметрами и проверьте 301-редирект.
  • Посмотрите исходный код страницы и убедитесь, что canonical ведет на основной адрес.
  • Проверьте, что страницы вложений не индексируются как отдельные посадочные.
  • Сравните URL в sitemap.xml: там не должно быть мусорных или дублирующих адресов.
  • В Search Console посмотрите, не растет ли число «дубликат, выбранный пользователем не как канонический».

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

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

Canonical и редирект указывают на разные URL

Это одна из самых неприятных ошибок. Если редирект ведет на один адрес, а canonical — на другой, поисковик получает противоречивые сигналы. Исправление простое: выберите один основной URL и приведите к нему и редиректы, и canonical, и внутренние ссылки.

Закрыли от индексации, но не убрали генерацию дубля

Страница может быть noindex, но все равно создавать нагрузку и путаницу в обходе сайта. Если параметр или архив не нужен вообще, лучше убрать его генерацию или поставить 301 на основной адрес.

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

Иногда после жесткой чистки дублей исчезают страницы пагинации, которые нужны для обхода каталога или архива. Проверяйте не только первую страницу архива, но и вторую, третью, а также ссылки «Следующая/Предыдущая».

Удалили вложения без проверки входящих ссылок

Если на attachment page уже есть внешние ссылки или внутренние переходы, резкое удаление страницы даст 404. В таких случаях сначала ставьте редирект, а уже потом решайте, нужна ли сама страница.

Практические советы по безопасности и производительности

Чистка дублей — это не только про SEO. Чем меньше лишних URL генерирует WordPress, тем меньше мусора в логах, меньше обхода ботами и меньше шансов на неожиданные конфликты в плагинах фильтрации, кеширования и аналитики.

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

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как исправить ошибку WooCommerce 429 Too Many Requests при массовом обновлении товаров
19.04.2026
WooCommerce: как оптимизировать массовое обновление заказов и товаров без ошибок
01.07.2026
Как использовать WP-Cron для автоматизации задач в WordPress
09.06.2026
WooCommerce: как автоматически удалять неиспользуемые варианты товаров без плагинов
03.08.2026
Как создать динамические формы в WordPress с помощью WPRemark
21.01.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше