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

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

Почему появляются дубликаты страниц в WordPress

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

  • Использование параметров URL, например, ?replytocom= или пагинация без правильной настройки canonical.
  • Дублирование контента из-за нескольких URL с www и без, или с http и https.
  • Плагины, которые дублируют страницы для разных целей (например, мультиязычность, кэширование).
  • Ошибки в работе тем и плагинов, создающих клоны записей.

Понимание причины поможет выбрать правильный способ решения проблемы.

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

Первый шаг — это диагностика. Есть несколько способов обнаружить дубли:

Использование Google Search Console и Яндекс.Вебмастер

В разделе «Покрытие» или «Индексация» вы можете увидеть предупреждения о дублированном контенте. Внимательно изучите URL с проблемами.

Проверка вручную через поисковые запросы

Можно выполнить запрос site:вашдомен.ru "часть заголовка страницы" и посмотреть, сколько версий страницы появляется.

Плагины для поиска дублей

Например, Clearfy Pro имеет инструменты для оптимизации и устранения дублированного контента. Он автоматически выявляет и помогает исправить дубли.

Как удалить дублированные страницы: практические решения

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

1. Удаление лишних страниц вручную

Зайдите в админку WordPress в раздел «Страницы» или «Записи», найдите дубликаты и удалите их. Но будьте внимательны, иногда страницы выглядят похожими, но служат разным целям.

2. Настройка редиректов 301

Если страницы нельзя удалить, создайте редиректы на основную версию. Для этого можно использовать плагин Redirection или написать код в .htaccess.

# Пример редиректа в .htaccess
Redirect 301 /staraia-stranica/ https://example.com/novaya-stranica/

3. Использование канонических URL

Чтобы указать поисковикам основную версию страницы, используйте тег <link rel="canonical" href="URL" />. WordPress с SEO-плагинами, например Clearfy Pro, автоматически добавляет этот тег, но при необходимости можно добавить вручную:

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

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

Чтобы минимизировать риск появления дублированных страниц, следуйте ряду рекомендаций:

1. Правильно настраивайте ЧПУ (человекопонятные URL)

Перейдите в «Настройки» → «Постоянные ссылки» и выберите структуру без лишних параметров. Это поможет избежать дублирования из-за URL с параметрами.

2. Используйте SEO-плагины с функцией управления каноническими URL

Clearfy Pro или Yoast SEO автоматически решают проблемы с канонизацией ссылок, предотвращая дубли.

3. Избегайте дублирования контента через www и без www

В настройках хостинга или в .htaccess настройте редиректы с одной версии на другую (например, все запросы с www перенаправлять на без www).

4. Контролируйте работу плагинов, которые могут создавать дубли

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

Пример кода для автоматического удаления дублей на основе заголовка

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

function wpcom_delete_duplicate_posts_by_title($post_id) {
    $post = get_post($post_id);
    if ($post->post_status != 'publish') return;

    $args = [
        'post_type' => $post->post_type,
        'post_status' => 'publish',
        'post_title' => $post->post_title,
        'post__not_in' => [$post_id],
        'fields' => 'ids',
        'posts_per_page' => -1
    ];

    $duplicates = get_posts($args);
    foreach ($duplicates as $dup_id) {
        wp_delete_post($dup_id, true);
    }
}
add_action('save_post', 'wpcom_delete_duplicate_posts_by_title');

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

Выводы и полезные инструменты

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

Рекомендуем обратить внимание на Clearfy Pro — это мощный инструмент для устранения дублей и оптимизации сайта в целом.

Сервис определения шаблона и плагинов на сайте