Duplicate content (дублирующийся контент) — одна из частых проблем сайтов на WordPress, которая негативно влияет на SEO и ранжирование в поисковых системах. В этой статье разберёмся, как найти, исправить и предотвратить дубли страниц и записей, используя плагины и собственные решения.
Что такое duplicate content и почему это плохо для WordPress сайта
Дублированный контент — это одинаковые или очень похожие страницы, которые доступны по разным URL. Поисковые системы не любят такой контент, так как он затрудняет определение релевантной страницы и снижает доверие к сайту. В результате сайт может потерять позиции, а трафик снизиться.
Типичные источники дублирующегося контента на WordPress:
- Страницы с иными параметрами URL (например, пагинация, фильтры).
- Несколько URL с одинаковым содержимым (например, с www и без www, http и https).
- Архивы категорий и меток, которые дублируют основной контент.
- Теги и таксономии, создающие похожие страницы.
- Копии страниц, созданные плагинами кеширования или SEO.
Как найти duplicate content на сайте WordPress
Для начала нужно выявить дубли страниц. Вот несколько способов:
1. Использование плагина Yoast SEO для выявления дублированных мета-тегов
Yoast SEO автоматически добавляет канонические URL, но также позволяет просматривать мета-теги и URL. Проверьте, указаны ли канонические адреса на страницах.
2. Плагин WPReg Duplicate Content Checker
Для быстрого поиска дублированных заголовков и описаний можно использовать специальный плагин, например, WPReg Duplicate Content Checker. Он сканирует сайт и выводит список подозрительных URL.
3. Внешние сервисы и инструменты
Google Search Console, Screaming Frog SEO Spider, Ahrefs и другие сервисы позволяют найти дубли страниц по контенту и мета-тегам.
Как удалить duplicate content в WordPress: конкретные решения
1. Настройка канонических URL
Обязательно добавляйте канонические URL, чтобы показать поисковикам основную версию страницы. В Yoast SEO это делается автоматически, но можно добавить вручную. Пример функции, которая добавляет канонический URL в header:
function wpreg_add_canonical_tag() {
if (is_singular()) {
echo '<link rel="canonical" href="' . get_permalink() . '" />';
}
}
add_action('wp_head', 'wpreg_add_canonical_tag');2. Редиректы с дублирующихся URL
Если у сайта есть несколько URL с одним и тем же контентом (например, http и https, www и без www), настроите 301 редиректы. Для этого можно использовать плагины, например, Clearfy Pro, который умеет управлять редиректами и оптимизацией.
3. Отключение индексации архивов и тегов
Многие темы и плагины создают архивы категорий и тегов, которые могут дублировать контент. Для SEO лучше отключить индексацию таких страниц, если они не несут ценности.
Пример кода для отключения индексации архивов меток:
function wpreg_noindex_tag_archives() {
if (is_tag()) {
echo '<meta name="robots" content="noindex, follow">';
}
}
add_action('wp_head', 'wpreg_noindex_tag_archives');4. Использование плагина WPReg Duplicate Content Cleaner
Этот плагин помогает автоматически удалять или сливать дублирующие записи и страницы, либо создавать редиректы. Подробнее на странице плагина: WPReg Duplicate Content Cleaner.
Как избежать появления duplicate content в будущем
1. Продуманная структура URL
Используйте ЧПУ (человеко-понятные URL), избегайте параметров, которые создают дубли, например, ?orderby=, ?filter=, если они не нужны для индексации.
2. Контроль индексации через robots.txt и мета-теги
Через robots.txt запретите индексацию ненужных разделов сайта. Через мета-теги noindex — страницы, которые не должны попадать в выдачу.
3. Правильная настройка плагинов кеширования и SEO
Некорректная конфигурация кеша может создавать дубли. Проверяйте, что кеш сохраняет только нужные URL. Также используйте SEO-плагины для контроля канонических тегов и редиректов.
4. Регулярный аудит сайта
Проводите регулярные проверки с помощью плагинов и внешних сервисов, чтобы вовремя находить и исправлять дубли.
Пример функции для автоматического удаления дублей по заголовку
Ниже пример функции, которая в wp_insert_post проверяет, есть ли уже запись с таким же заголовком, и предотвращает добавление дублирующей:
function wpreg_prevent_duplicate_post($data, $postarr) {
global $wpdb;
$existing = $wpdb->get_var($wpdb->prepare(
"SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type = %s AND post_status IN ('publish','pending','draft')",
$data['post_title'], $data['post_type']
));
if ($existing && $existing != $postarr['ID']) {
wp_die('Ошибка: запись с таким заголовком уже существует.');
}
return $data;
}
add_filter('wp_insert_post_data', 'wpreg_prevent_duplicate_post', 10, 2);Эта функция поможет избежать создания новых дублей через админку или программно.
Заключение
Duplicate content — коварная проблема, которая может незаметно снизить позиции сайта. Для WordPress важно грамотно настроить канонические URL, редиректы, индексацию и использовать инструменты для мониторинга дублированных страниц. Применение описанных плагинов и кода поможет эффективно бороться с дублирующимся контентом и поддерживать SEO в отличном состоянии.