Как найти и удалить дублирующиеся записи в WordPress

Дублирующиеся записи в WordPress чаще всего появляются после импорта контента, переноса сайта, повторного запуска миграции или из-за плагинов, которые дважды создают один и тот же пост. Проблема не только в беспорядке в админке: дубли могут мешать редактированию, путать редакторов и создавать лишние URL, если копии уже опубликованы. Удалять их нужно аккуратно, потому что внешне одинаковые записи могут отличаться ID, датой, автором, рубрикой, метками или даже содержимым.

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

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

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

Сначала откройте список записей в админке и отсортируйте их по дате. Если дубли появились после импорта или миграции, обычно они стоят рядом по времени создания. Обратите внимание на такие признаки:

  • одинаковый заголовок и почти одинаковый текст;
  • одинаковый slug в URL, но разные ID;
  • одна и та же рубрика, автор и дата публикации;
  • появление копий сразу после переноса сайта или запуска плагина импорта;
  • несколько записей с одинаковым названием в поиске по админке.

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

Самый безопасный способ: найти дубликаты вручную в админке

Для небольшого сайта ручная проверка обычно надёжнее всего. Она занимает больше времени, но даёт контроль над тем, что именно вы удаляете. Откройте Записи → Все записи и ищите повторяющиеся названия. Если записей много, используйте поиск по заголовку или фильтр по дате, если дубли появились в конкретный день.

Дальше сравните подозрительные записи по очереди:

  • откройте каждую запись в отдельной вкладке;
  • сравните текст, изображения, рубрику и метки;
  • посмотрите, какая запись имеет правильный URL, дату и автора;
  • проверьте, не используется ли одна из копий в меню, блоках, виджетах или внутренних ссылках.

Удаляйте только те записи, которые точно являются лишними. Если две записи похожи, но одна содержит правки редактора или актуальные данные, не спешите удалять её только из-за одинакового заголовка.

После удаления WordPress отправляет запись в корзину. Это полезно: если вы ошиблись, запись можно восстановить. Не очищайте корзину сразу, пока не убедитесь, что на сайте не пропал нужный материал.

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

Если записей много, ручной просмотр становится неудобным. Тогда проще сначала выявить группы с одинаковыми заголовками или slug на уровне базы данных. Этот способ не удаляет ничего сам по себе, а только помогает найти подозрительные записи. Он подходит, если у вас есть доступ к phpMyAdmin или другому SQL-интерфейсу хостинга.

Перед любыми запросами к базе сделайте резервную копию. Один неверный запрос может удалить не только дубли, но и нужные записи.

Чтобы найти записи с одинаковыми заголовками, можно использовать такой запрос:

SELECT post_title, COUNT(*) AS cnt
FROM wp_posts
WHERE post_type = 'post'
  AND post_status NOT IN ('trash', 'auto-draft')
GROUP BY post_title
HAVING cnt > 1
ORDER BY cnt DESC;

Если нужно искать по slug, замените поле на post_name:

SELECT post_name, COUNT(*) AS cnt
FROM wp_posts
WHERE post_type = 'post'
  AND post_status NOT IN ('trash', 'auto-draft')
GROUP BY post_name
HAVING cnt > 1
ORDER BY cnt DESC;

Эти запросы показывают только группы с повторениями. Затем по каждому заголовку можно посмотреть конкретные ID записей и сравнить их в админке. Если у вас не стандартный префикс таблиц, замените wp_posts на имя своей таблицы.

Как удалить дубли без потери нужного контента

Удаление лучше делать в два этапа: сначала отправить лишние записи в корзину, потом проверить сайт и только после этого очищать корзину. Такой подход безопаснее, чем массовое удаление напрямую из базы.

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

  • осталась ли правильная версия записи;
  • не сломались ли внутренние ссылки;
  • не исчез ли материал из рубрик, архивов и поиска по сайту;
  • не поменялись ли URL у записей, которые должны остаться.

Если вы удаляете копии после импорта, особенно внимательно проверьте записи с одинаковыми slug. В WordPress при создании дубля система может автоматически добавить суффикс вроде -2 к адресу. Иногда именно такая версия оказывается лишней, а оригинал нужно оставить.

Для массовой чистки через базу данных можно использовать SQL, но только если вы точно понимаете, какие ID удаляете. Прямое удаление из wp_posts опасно тем, что останутся связанные метаданные и таксономии. Обычно безопаснее удалять записи через админку или через инструменты, которые корректно чистят связанные данные.

Когда удобнее использовать плагин или инструмент очистки

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

Но и здесь правило остаётся тем же: сначала проверьте, что именно будет удалено, и только потом запускайте очистку. Любой автоматический инструмент полезен ровно до тех пор, пока вы контролируете список записей, а не доверяете ему вслепую.

Как проверить, что дубли действительно удалены

После удаления не ограничивайтесь просмотром списка записей в админке. Проверьте сайт с точки зрения посетителя и поисковой структуры:

  • откройте несколько удалённых URL и убедитесь, что они больше не доступны;
  • проверьте, не осталось ли копий в архиве рубрик и в поиске по сайту;
  • если удаляли опубликованные записи, посмотрите, не ведут ли на них внутренние ссылки;
  • при необходимости обновите карту сайта и очистите кэш, если он используется.

Если удалённая запись была единственной верной версией, восстановите её из корзины сразу, пока она там ещё есть. Если корзина уже очищена, придётся возвращать контент из резервной копии.

Что обычно приводит к появлению дублей

Понимание причины помогает не получить ту же проблему снова. Чаще всего дубли появляются после:

  • повторного импорта CSV, XML или контента из другого сайта;
  • миграции, когда импорт запускают несколько раз;
  • сбоев плагина, который повторно создаёт запись при сохранении;
  • ошибок в интеграциях через REST API или формы публикации;
  • ручного копирования контента без проверки slug и статуса записи.

Если дубли появились из-за плагина, после очистки стоит проверить его настройки и логи. Иногда проблема повторяется при каждом сохранении, и тогда удаление записей без исправления причины не даст результата.

На практике самый надёжный сценарий такой: найти группы повторов, сравнить их вручную, удалить лишнее через корзину, затем проверить сайт и только после этого очищать остатки. Это дольше, чем «удалить всё похожее», но именно так можно убрать дублирующиеся записи в WordPress без потери нужного контента.

Как очистить wp_options в WordPress от автозагрузки и лишних записей
09.10.2026
Как отключить отправку системных email WordPress без плагинов
11.09.2026
Как найти и удалить дублирующиеся записи в WordPress
12.10.2026
Как закрыть от индексации теги WordPress и не потерять полезный трафик
16.10.2026
Как отключить архивы дат в WordPress и убрать лишние страницы из индекса
13.10.2026
×
Halloween Game

Сыграй в игру, спаси сайт! Забери приз

Играть