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

|

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

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

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

Симптомы обычно видны в Search Console, логах сканирования или прямо в выдаче. Но прежде чем что-то удалять, нужно понять, какой именно тип дубля у вас появился. В WordPress это важно: одна и та же сущность может открываться по разным адресам из-за настроек пермалинков, плагинов, фильтров и темы.

Типичные признаки

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

  1. Настройки Постоянные ссылки в админке.
  2. Редирект с HTTP на HTTPS и с non-www на www или наоборот.
  3. Архивы тегов, авторов, дат и вложений.
  4. Параметры URL, которые добавляют плагины аналитики, фильтров и комментариев.
  5. Канонические URL в исходном коде страницы.

Диагностика: где именно рождается дубль

Самая частая ошибка — пытаться закрыть всё через noindex или массовые редиректы, не разобравшись с источником. Сначала нужно понять, это проблема маршрутизации, шаблона или индексации.

Проверка через браузер и исходный код

Откройте проблемную страницу и посмотрите:

Если canonical отсутствует или указывает на другой адрес, это уже повод проверить тему и SEO-плагины. Иногда два плагина одновременно выводят canonical, и поисковик получает конфликтующие сигналы.

Проверка через WP-CLI и поиск по базе

Если есть доступ к консоли, можно быстро найти записи с одинаковым slug или подозрительные служебные страницы. Полезно смотреть не только записи, но и термины таксономий.

wp post list --post_type=page --fields=ID,post_title,post_name,post_status --format=table
wp term list category --fields=term_id,name,slug,count --format=table

Если видите несколько страниц с почти одинаковыми названиями и разными slug, проверьте, не создавались ли они вручную при переносе сайта или импорте контента.

Что делать: пошаговое решение

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

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

Сначала выберите одну основную версию домена и протокол: HTTPS, а также www или без www. Это делается на уровне сервера или через редирект, а не через каноникал. Canonical — это подсказка, редирект — это уже жёсткое указание.

Для Apache можно использовать такой вариант в .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC]
RewriteRule ^ https://example.ru%{REQUEST_URI} [L,R=301]

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

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

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

Например, для вложений лучше перенаправлять страницу attachment на сам файл или родительскую запись:

add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_the_ID());
        if ($parent) {
            wp_redirect(get_permalink($parent), 301);
            exit;
        }
    }
});

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

3. Настройте canonical для страниц с параметрами

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

Для страниц с параметрами можно добавить свой canonical, если тема его не выводит корректно:

add_action('wp_head', function () {
    if (is_singular()) {
        $canonical = get_permalink();
        echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n";
    }
}, 1);

Важно: не выводите второй canonical, если его уже добавляет SEO-плагин. Сначала проверьте исходный код страницы.

4. Уберите дубли из архивов и таксономий

Если категории и теги повторяют один и тот же контент, не всегда нужно удалять их полностью. Иногда достаточно:

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

5. Проверьте пагинацию и внутренние ссылки

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

Сравнение подходов: плагин, код или ручная настройка

ПодходКогда подходитПлюсыМинусы
SEO-плагинНужно быстро закрыть архивы, canonical и мета-тегиМеньше кода, проще поддержкаНе решает серверные редиректы и ошибки шаблона
Код в теме или mu-pluginНужна точечная логика для attachments, параметров, редиректовГибкость, контроль над поведениемМожно сломать сайт при обновлении, если править тему напрямую
Ручная настройка на сервереНужно привести домен и протокол к одному видуСамый надёжный уровень для базовых редиректовТребует доступа к серверу и аккуратной проверки

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

Как проверить, что решение сработало

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

Чек-лист проверки

Для быстрой локальной проверки удобно использовать curl:

curl -I https://example.ru/page/

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

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

Ставят noindex на всё подряд

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

Оставляют два источника canonical

Так бывает, когда canonical выводит SEO-плагин, а в теме добавили ещё один через wp_head. В результате поисковик получает конфликтующие сигналы. Решение простое: оставьте один источник и проверьте исходный код.

Делают редирект всех URL с параметрами на главную

Это плохая практика. UTM-метки и некоторые служебные параметры не должны ломать страницу. Обычно достаточно canonical на чистый URL, а редирект нужен только для действительно лишних служебных адресов.

Удаляют архивы без проверки внутренней перелинковки

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

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

Когда вы чистите дубли, не забывайте, что массовые редиректы и фильтры URL могут нагружать сервер. Если логика сложная, лучше вынести её в mu-plugin, а не в functions.php активной темы. Так код не потеряется при смене темы и проще контролировать изменения.

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

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

Оптимизация кода и загрузки в WordPress для бизнес-сайтов
09.11.2025
Как автоматизировать отзывы и оценки в WordPress для бизнес-сайта
14.01.2026
Как безопасно удалить неиспользуемые таблицы в базе данных WordPress
09.02.2026
Как удалить старые отзывы WooCommerce для оптимизации базы данных
17.07.2026
Создание адаптивного видеоформата в WordPress: примеры и решение проблем
10.01.2026
×

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

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

пишет статьи

готовит SEO

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

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