Повторяющийся контент (дубли) — одна из частых проблем, с которыми сталкиваются владельцы сайтов на WordPress. Дубли страниц и записей негативно влияют на SEO, ухудшают поведенческие факторы и создают путаницу для пользователей. В этой статье разберем, как обнаружить и устранить повторы контента в WordPress с помощью плагинов и кастомных решений.
Почему появляются повторы контента в WordPress
Дублирование контента может возникать по разным причинам. Вот основные из них:
- Неправильная настройка URL и постоянных ссылок (permalinks), например, когда страница доступна с www и без, или с http и https.
- Использование таксономий, создающих одинаковый контент на нескольких страницах, например, категории и метки с похожими постами.
- Копирование и вставка одинакового текста в разные записи или страницы.
- Пагинация и сортировка, которые создают множество URL с одним и тем же содержимым.
- Плагины, создающие дублирующие страницы, например, для перевода или кэширования.
Для поиска дублей можно использовать инструменты типа Google Search Console, Screaming Frog SEO Spider или специализированные плагины.
Использование плагинов для борьбы с дублями
Для упрощения решения проблемы дублирования контента в WordPress доступны несколько полезных плагинов.
1. Yoast SEO — настройка канонических URL
Yoast SEO автоматически добавляет канонические ссылки к страницам, указывая поисковым системам, какая версия страницы является основной. Это помогает избежать индексации дублей.
Убедитесь, что в настройках плагина включена функция канонических URL. Если вы используете несколько плагинов SEO, избегайте их конфликта.
2. Clearfy Pro — оптимизация и удаление дублирующего контента
Плагин Clearfy Pro предлагает инструменты для удаления дублирующихся мета-данных, оптимизации robots.txt и htaccess, а также управления каноническими URL. В нем есть удобные настройки для отключения параметров URL, создающих дубли.
3. Duplicate Post — выявление и удаление дублированных записей
Хотя плагин Duplicate Post предназначен для копирования записей, он помогает находить дубли и убирать их вручную, позволяя быстро редактировать контент и избегать повторов.
Кастомные методы для устранения дублей контента
Порой стандартных плагинов недостаточно, и нужно применять кастомные решения.
1. Добавление канонического URL вручную
Если вы хотите контролировать канонические ссылки, можно добавить их в тему через хук wp_head. Пример функции с префиксом wpstart:
function wpstart_add_canonical_url() {
if (is_singular()) {
global $post;
$canonical_url = get_permalink($post->ID);
echo '<link rel="canonical" href="'.esc_url($canonical_url).'" />';
}
}
add_action('wp_head', 'wpstart_add_canonical_url');Этот код добавит канонический URL на все отдельные записи и страницы, помогая поисковикам игнорировать дубли.
2. Отключение индексации страниц пагинации и сортировки
Дубли могут возникать из-за пагинации и параметров сортировки. Добавьте в тему следующий код, чтобы добавить мета-тег noindex на такие страницы:
function wpstart_noindex_pagination() {
if (is_paged() || isset($_GET['orderby'])) {
echo '<meta name="robots" content="noindex,follow" />';
}
}
add_action('wp_head', 'wpstart_noindex_pagination');Это предотвратит индексацию страниц с пагинацией и параметрами, которые могут создавать дубли.
3. Автоматическое удаление дублей по содержимому
Если у вас много контента, который мог быть скопирован случайно, можно написать функцию, которая на основе хеша содержимого проверит повторяющиеся посты и уведомит администратора.
function wpstart_check_duplicate_content() {
global $wpdb;
$posts = $wpdb->get_results("SELECT ID, post_content FROM {$wpdb->posts} WHERE post_status='publish' AND post_type='post'");
$content_hashes = [];
foreach ($posts as $post) {
$hash = md5(strip_tags($post->post_content));
if (isset($content_hashes[$hash])) {
error_log("Duplicate post detected: {$post->ID} and {$content_hashes[$hash]}");
// Можно добавить логику уведомления или удаления
} else {
$content_hashes[$hash] = $post->ID;
}
}
}
add_action('wp_loaded', 'wpstart_check_duplicate_content');Этот код проверит публикации на дублирование по содержимому и выведет в лог информацию. По аналогии можно сделать уведомления на почту или автоматические удаления.
Рекомендации по предотвращению повторов в будущем
Чтобы не допускать появления дублей, следуйте простым советам:
- Используйте канонические URL в теме и SEO-плагинах.
- Настраивайте правильные постоянные ссылки, избегая разных вариантов одного URL.
- Отключайте индексацию страниц с пагинацией и параметрами URL.
- Управляйте таксономиями, чтобы не создавать похожий контент.
- Проверяйте контент перед публикацией на уникальность.
- Используйте плагины для оптимизации и удаления дублирующего контента, например, Clearfy Pro.
Заключение по теме дублей в WordPress
Дублированный контент — серьезная техническая проблема, которую нужно решать как на уровне контента, так и на уровне настройки сайта. Использование канонических URL, правильной настройки таксономий и индексации, а также проверка контента с помощью кода и плагинов позволяет значительно снизить риски ухудшения SEO и улучшить пользовательский опыт на сайте.