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

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

Если задача не в «общем SEO», а в конкретной чистке сайта, сначала нужно понять, какой именно тип дубля у вас есть: URL-двойники, контентные дубли, технические дубли из-за параметров или архивов. От этого зависит решение — редирект, rel=canonical, noindex или правка шаблона.

Какие дубли встречаются в WordPress чаще всего

На практике чаще всего всплывают такие сценарии:

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

Если сайт давно работает, дубли часто уже сидят в индексе. Поэтому недостаточно просто закрыть их в robots.txt: сначала надо понять, что именно должно остаться в индексе, а что — исчезнуть через редирект или каноникал.

Диагностика: как быстро найти источник дублей

Начните с простого списка проверок. Он помогает не гадать, а увидеть проблему на уровне URL и шаблонов.

  • Откройте одну и ту же страницу с http/https и с www/без www.
  • Проверьте исходный код страницы на наличие <link rel="canonical">.
  • Посмотрите, не создаёт ли тема отдельные версии для архивов автора, дат и тегов.
  • Проверьте, не дублируется ли контент в блоках «похожие записи», «последние записи», «избранное».
  • Сравните заголовок, H1 и основной текст на нескольких URL — иногда дубли видны сразу.
  • В Search Console откройте отчёт по страницам и найдите адреса с пометками про дублированный контент или выбранный канонический URL.

Для технической проверки удобно посмотреть заголовки ответа и канонический адрес прямо из консоли:

curl -I https://example.com/sample-page/

Если редирект настроен правильно, вы увидите один конечный адрес с кодом ответа 200, а не цепочку из нескольких переходов. Для HTML-страницы проверьте каноникал в исходнике:

curl -L https://example.com/sample-page/ | grep -i canonical

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

ПодходКогда подходитМинус
Редирект 301Если есть явные URL-дубли и одна версия должна остаться основнойНужно аккуратно проверить, чтобы не сломать внутренние ссылки
rel=canonicalЕсли страницы похожи, но обе нужны пользователюНе всегда убирает дубль быстро, если поисковик уже выбрал другой URL
noindexДля архивов, фильтров и служебных страницСтраница остаётся доступной, но не должна попадать в индекс

Если есть явная техническая копия, лучше редирект. Если это архив или фильтр, который нужен пользователю, но не нужен в поиске, чаще подходит noindex, follow или canonical на основную страницу.

Пошаговое решение: убираем дубли URL и архивов

1. Приведите сайт к одному базовому адресу

В Настройки → Общие проверьте адрес WordPress и адрес сайта. Они должны совпадать по схеме и домену: либо с www, либо без него, и только в https. Если там уже есть расхождение, WordPress сам может генерировать лишние версии ссылок.

На уровне сервера настройте 301-редирект на единственный вариант домена. Это лучше делать не в контенте, а на уровне nginx или Apache, чтобы не плодить цепочки.

2. Закройте технические дубли через canonical

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

Пример для темы: добавить canonical для архивов с параметрами, чтобы поисковик понимал основную версию страницы.

add_action('wp_head', function () {
    if (is_admin()) {
        return;
    }

    if (is_singular()) {
        return;
    }

    $canonical = home_url(add_query_arg([], $_SERVER['REQUEST_URI']));
    $canonical = strtok($canonical, '?');

    echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n";
}, 1);

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

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

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

Для отключения архивов автора и даты на уровне шаблонной логики можно сделать редирект на главную или на страницу блога, если такие архивы не несут ценности:

add_action('template_redirect', function () {
    if (is_author() || is_date()) {
        wp_redirect(home_url('/'), 301);
        exit;
    }
});

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

4. Почистите параметры URL

Параметры вроде ?replytocom= часто создают дубли комментариев. Если они не нужны для вашей темы, можно убрать их обработку или хотя бы не индексировать такие адреса. Для UTM-меток и сортировок обычно достаточно canonical на чистый URL.

Важно: не пытайтесь массово запрещать все параметры в robots.txt. Это не решает проблему дублей, если страница уже попала в индекс. Поисковику нужен понятный основной адрес, а не просто запрет на обход.

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

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

В таких случаях проверьте:

  • не дублируется ли the_content() в нескольких шаблонах;
  • не вставлен ли одинаковый текст в виджет, блок или шаблонную часть;
  • не создаёт ли плагин отдельные страницы для фильтров, сортировок или предпросмотра;
  • не выводятся ли одинаковые H1 и title на нескольких типах страниц.

Если дубли идут из шаблона, править нужно именно его, а не только SEO-мета. Иначе вы закроете симптом, но не причину.

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

После правок не ограничивайтесь визуальной проверкой. Смотрите на три вещи: код ответа, canonical и фактический URL в индексе.

  • Откройте старый адрес и убедитесь, что он отдаёт 301 на нужную страницу.
  • Проверьте исходник основной страницы: canonical должен вести на неё же, без параметров.
  • В Search Console запросите переобход ключевых URL и посмотрите, как поисковик выбирает канонический адрес.
  • Проверьте, не появились ли новые дубли после правок в кэше или CDN.

Полезно сравнить ответы до и после изменения:

curl -I https://example.com/old-page/
curl -I https://example.com/new-page/

Если на старом URL остался 200, значит редирект не сработал. Если canonical указывает на другой адрес, а поисковик всё равно индексирует дубль, значит нужно проверить внутренние ссылки и sitemap.

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

Закрыли дубль в robots.txt вместо редиректа

Это частая ошибка. Если страница уже известна поисковику, запрет на обход не убирает её из индекса сам по себе. Для явного дубля нужен 301 или canonical, а robots.txt — только вспомогательный инструмент.

Сделали canonical на главную для всех страниц

Так иногда ломают архивы и пагинацию. Canonical должен быть логичным: либо на саму страницу, либо на действительно основную версию контента. Массовый canonical на главную обычно только путает поисковик.

Отключили архивы без проверки внутренних ссылок

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

Не учли кэш

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

Что стоит учесть для безопасности и производительности

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

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

Главный критерий простой: после изменений у каждой важной страницы должен быть один понятный адрес, один canonical и одна логика индексации. Если это не так, дубли вернутся при следующем обновлении темы, плагина или структуры ссылок.

Как сделать автоматический импорт из Яндекс Таблиц в WordPress
10.09.2026
Как избавиться от замедления WordPress при использовании подгрузки изображений
10.09.2026
Как закрыть дубли страниц от индексации в WordPress без поломки SEO
22.08.2026
Как использовать WP-Cron для автоматического очищения базы данных WordPress
25.08.2026
Как создать собственный виджет WordPress: полное руководство с примерами
30.08.2026