Дубликаты контента — частая проблема на сайтах WordPress, которая негативно влияет на SEO и пользовательский опыт. В этой статье разберём, как найти и удалить дублированные записи и страницы, а также рассмотрим примеры кода и готовых решений для автоматизации процесса.
Почему важно удалять дубликаты контента в WordPress
Поисковые системы, такие как Google, могут понижать позиции сайта в выдаче, если обнаруживают на нём большое количество одинаковых или очень похожих страниц. Это связано с тем, что алгоритмы стремятся показывать пользователям уникальный и полезный контент.
Кроме того, дубликаты затрудняют навигацию по сайту и снижают качество пользовательского опыта. Удаление или правильная обработка таких страниц помогает:
- Улучшить SEO-показатели;
- Сократить индексированный объём страниц;
- Повысить удобство для посетителей;
- Оптимизировать внутренние ссылки.
Как найти дубликаты контента в WordPress
Использование плагинов для поиска дубликатов
Существует несколько плагинов, которые помогают быстро обнаружить дубли:
- Yoast Duplicate Post — позволяет клонировать и сравнивать записи;
- Duplicate Page — удобен для поиска и удаления копий страниц;
- WP Bulk Delete — мощный инструмент для массового удаления дубликатов по различным критериям.
Для SEO-анализа можно использовать инструменты, такие как Screaming Frog или SEMrush, которые покажут страницы с дублирующимся контентом.
Программный поиск дубликатов по заголовкам и контенту
Если хотите реализовать поиск дубликатов кастомно, можно написать функцию, которая ищет записи с одинаковыми заголовками или похожим содержимым. Например, функция wpskins_find_duplicate_posts():
function wpskins_find_duplicate_posts() {
global $wpdb;
$query = "SELECT post_title, COUNT(*) as count FROM {$wpdb->posts} WHERE post_type = 'post' AND post_status = 'publish' GROUP BY post_title HAVING count > 1";
$results = $wpdb->get_results($query);
return $results;
}Эта функция возвращает заголовки, которые встречаются более одного раза среди опубликованных записей.
Методы удаления и обработки дубликатов
Автоматическое удаление через плагин WP Bulk Delete
Плагин WP Bulk Delete позволяет настроить массовое удаление записей по критериям, включая одинаковые заголовки, категории и даты публикации. Это удобно для быстрого удаления множества дубликатов.
Редиректы и канонические URL
Если дубликаты нужны, но не должны индексироваться, можно настроить канонические ссылки. Для этого добавьте в тему или плагин следующий код, который автоматически добавляет тег canonical к страницам с одинаковыми заголовками:
function wpskins_add_canonical_tag() {
if (is_singular('post')) {
global $post, $wpdb;
$canonical_id = $wpdb->get_var($wpdb->prepare(
"SELECT ID FROM {$wpdb->posts} WHERE post_title = %s AND post_status = 'publish' ORDER BY post_date ASC LIMIT 1",
$post->post_title
));
if ($canonical_id && $canonical_id != $post->ID) {
echo '<link rel="canonical" href="' . get_permalink($canonical_id) . '" />';
}
}
}
add_action('wp_head', 'wpskins_add_canonical_tag');Так поисковики поймут, какая из страниц является основной, и не будут учитывать дубликаты отдельно.
Ручное объединение и удаление
Иногда дубликаты имеют уникальный контент, который нужно объединить. Для этого можно использовать плагины типа Yoast Duplicate Post для клонирования и редактирования, или вручную скопировать содержимое и удалить лишние записи.
Практические советы по предотвращению дубликатов контента
Стандартизация создания записей
Настройте редакторов и авторов так, чтобы они придерживались единого стиля заголовков и метаописаний. Это снизит риск создания похожих страниц.
Использование уникальных URL и ЧПУ
Проверьте структуру постоянных ссылок (Permalinks) в WordPress. Уникальные и информативные URL помогают избежать дублирования. Например, используйте формат /post-name/.
Кэширование и CDN
Некорректная работа кэширования или CDN может создавать копии страниц с разными URL. Убедитесь, что кэш правильно настроен, а редиректы корректно работают.
Резюме по работе с дубликатами в WordPress
Удаление дублированного контента — важный этап оптимизации сайта. Используйте сочетание автоматических инструментов, кастомных функций и ручного контроля. Плагины вроде WP Bulk Delete и Clearfy Pro помогут автоматизировать задачи, а собственные функции — более гибко контролировать процесс.
Следуйте рекомендациям, и ваш сайт на WordPress станет более чистым, быстрым и SEO-дружественным.