Дублирующиеся записи в WordPress обычно появляются после повторного импорта, ручного копирования материалов, ошибок плагинов или неудачной синхронизации с внешним источником. Проблема не только в беспорядке в админке: одинаковые посты мешают редакторам, создают путаницу с URL и могут ухудшать поведение сайта в поиске, если дубли уже опубликованы.
Самый безопасный подход здесь простой: сначала найти все дубли и понять, чем они отличаются, затем удалить лишнее так, чтобы не затронуть оригинал и связанные с ним данные. Ниже — рабочие способы для обычного сайта на WordPress, без лишней теории.
Сначала проверьте, что именно у вас считается дублем
В WordPress «дубликат» не всегда означает полностью одинаковую запись. Чаще всего под этим имеют в виду один из трёх сценариев:
- одинаковый заголовок и почти тот же текст;
- одинаковый контент, но разные URL и даты публикации;
- копия записи, созданная случайно при импорте или через кнопку «Дублировать» в плагине.
Перед удалением откройте подозрительные записи в двух вкладках и сравните:
- заголовок;
- содержимое;
- ярлык записи;
- дату публикации;
- автора;
- категории и метки;
- изображение записи и произвольные поля, если они используются.
Это важно, потому что иногда похожие записи — не ошибка, а разные версии одного материала, например для разных городов, языков или дат.
Как быстро найти дубли в админке WordPress
Если дублей немного, обычно достаточно обычного поиска в разделе «Записи» или «Страницы». Ищите по точному или частичному заголовку, а потом открывайте результаты по очереди. Удобно сравнивать записи в режиме списка: так видно дату, автора и статус.
Если дубли появились после импорта, обратите внимание на записи, созданные в один день или с одинаковым временем публикации. Это частый признак повторного импорта одного и того же файла.
Когда заголовки отличаются, но текст одинаковый, поможет поиск по уникальной фразе из середины статьи. Вставьте её в поиск по записям и проверьте все совпадения вручную.
Когда удобнее искать дубли через базу данных
Если записей много, ручной поиск в админке быстро становится неудобным. Тогда проще отфильтровать потенциальные дубли по заголовку или по содержимому через базу данных. Этот способ подходит, если у вас есть доступ к phpMyAdmin или другому инструменту управления MySQL.
Перед любыми действиями сделайте резервную копию базы. Это не формальность: при удалении записей WordPress затрагивает не только сам пост, но и связанные метаданные, комментарии и таксономии. Ошибка в запросе может удалить лишнее.
Для поиска одинаковых заголовков можно использовать запрос к таблице wp_posts. Пример ниже показывает записи с одинаковым post_title и типом post:
SELECT post_title, COUNT(*) AS cnt
FROM wp_posts
WHERE post_type = 'post' AND post_status NOT IN ('auto-draft', 'trash')
GROUP BY post_title
HAVING cnt > 1
ORDER BY cnt DESC;Если у вас другой префикс таблиц, замените wp_ на свой. Этот запрос не удаляет данные, а только показывает заголовки, которые встречаются больше одного раза. Дальше можно открыть найденные записи и сравнить их вручную.
Для поиска одинакового текста в базе всё сложнее: WordPress хранит содержимое в HTML, и одинаковые статьи не всегда совпадают посимвольно из-за разметки, блоков и служебных вставок. Поэтому на практике чаще ищут дубли по заголовку, дате импорта, автору и источнику создания.
Как удалить дубли безопасно
Удалять нужно не все похожие записи подряд, а только лишние копии. Сначала определите, какая запись должна остаться:
- та, у которой правильный URL;
- та, на которую уже ведут внутренние ссылки;
- та, у которой больше просмотров, комментариев или внешних ссылок;
- та, где вручную доработан текст, изображения и SEO-данные.
После этого лишнюю запись лучше сначала отправить в корзину, а не удалять окончательно. Так вы сможете быстро восстановить её, если ошиблись. В WordPress это стандартный и самый безопасный способ.
Если дубликатов много, удаляйте их партиями. Сначала проверьте первые несколько записей, убедитесь, что осталась нужная версия, и только потом переходите к остальным. При массовом удалении легко перепутать оригинал и копию, особенно если заголовки одинаковые.
Когда запись уже удалена, проверьте корзину. Если оригинал случайно попал туда вместе с дублем, его можно восстановить без потери данных. Если корзина очищена, восстановление зависит уже от резервной копии.
Что делать, если дубли появились после импорта
После импорта одинаковые записи обычно возникают по одной из двух причин: импорт запустили повторно или источник уже содержал повторяющиеся элементы. В этом случае сначала остановите повторную синхронизацию, если она настроена, иначе дубли будут появляться снова.
Дальше проверьте сам импортный файл или источник данных. Если там есть уникальный идентификатор записи, используйте его как ориентир. Если идентификатора нет, ориентируйтесь на комбинацию заголовка, даты и исходного URL.
Если импорт делался через плагин, посмотрите его настройки на предмет режима обновления существующих записей. Некоторые инструменты умеют не создавать новую запись, а обновлять уже импортированную по внешнему ID или по slug. Это полезно, если вы регулярно загружаете материалы из одного и того же источника.
Как не удалить нужную запись вместе с дублем
Самая частая ошибка — ориентироваться только на одинаковый заголовок. В реальных проектах это ненадёжно: заголовки могут совпадать у разных материалов, особенно если сайт большой или контент импортируется из нескольких источников.
Перед удалением проверьте несколько признаков одновременно:
- дата публикации и дата последнего изменения;
- slug записи;
- категории и метки;
- наличие комментариев;
- SEO-метаданные, если они используются;
- внутренние ссылки на запись с других страниц сайта.
Если сомневаетесь, не удаляйте сразу. Сначала переведите копию в черновик или в корзину и проверьте сайт в обычном режиме. Это особенно полезно, когда записи отличаются только мелкими правками и неясно, какая версия актуальна.
Проверка после удаления
После очистки дублей откройте сайт и убедитесь, что осталась нужная запись, а лишние URL больше не доступны. Если удалённая запись была опубликована и на неё вели ссылки, проверьте, не нужен ли редирект на оставшуюся версию. Без этого пользователь может попасть на страницу ошибки 404.
Также полезно проверить:
- список записей в админке — дубли больше не должны отображаться;
- поиск по сайту — лишние версии не должны находиться;
- карты сайта и кэш, если они используются;
- внутренние ссылки из меню, блоков и связанных материалов.
Если вы удаляли много записей, очистите кэш сайта и браузера, чтобы сразу увидеть актуальное состояние.
Когда лучше использовать плагины для поиска и чистки дублей
Если дубли появляются регулярно или на сайте накопилось много мусора после импортов и тестов, ручная чистка быстро надоедает. В таких случаях удобнее использовать инструменты, которые помогают находить повторяющиеся записи и чистить сайт от лишнего контента. Например, Clearfy Pro из линейки WPShop подходит для задач, связанных с удалением дублей и общей чисткой WordPress, если вам нужен именно плагин для регулярного обслуживания сайта: https://wpshop.ru/plugins/clearfy.
Но даже с плагином логика остаётся той же: сначала найти, потом сравнить, потом удалить только лишнее. Автоматическая чистка без проверки здесь опасна, особенно если сайт уже работает и получает трафик.
Если у вас несколько дублей после импорта, самый надёжный путь — проверить их вручную, оставить правильную версию, а остальные отправить в корзину. Если проблема повторяется, нужно искать источник: повторный импорт, дублирующийся фид, ошибку плагина или некорректную работу редактора. Тогда удаление будет не разовой уборкой, а частью нормальной профилактики.