preloader

How to Find and Remove Duplicate Posts in WordPress

Duplicate posts accumulate from failed imports, copy-paste publishing, or migration errors. Left uncleaned, they create duplicate content SEO problems and confuse your editorial workflow. Here is how to find and remove them safely.

Before You Start: Backup

Always back up your database before running any bulk delete operation. Use UpdraftPlus or your hosting control panel to create a backup. If you delete the wrong content, you need a recovery option.

Method 1: Delete Duplicate Posts Plugin

Install Delete Duplicate Posts from WordPress.org. Go to Tools → Delete Duplicate Posts. Configure the detection method:

  • Title only — finds posts with identical titles (may produce false positives)
  • Content only — finds posts with identical body content
  • Title + Content — strictest matching, fewest false positives

Select the post type (Posts, Pages, Products). Click “Find Duplicates” to preview results before deleting. Review the list carefully. Choose “Move to Trash” rather than permanent delete for your first run — you can restore false positives from trash.

Prefer to have someone handle the setup? Describe what you need and get a free estimate — no obligation.

Method 2: WP-CLI Command

For developers comfortable with command line, WP-CLI provides more control:

wp post list --post_type=post --format=csv --fields=ID,post_title

This lists all posts with IDs and titles. Sort the output to identify duplicates. Review, then delete confirmed duplicates with wp post delete [ID] –force.

Method 3: Direct Database Query

In phpMyAdmin or your database tool, run a query on wp_posts grouping by post_title where count is greater than 1 — this shows all titles appearing more than once. Use this to identify duplicates before deleting through the WordPress admin.

This shows all post titles appearing more than once. Use this to identify duplicates before deleting through the WordPress admin.

After Cleanup: Redirect Old URLs

If deleted duplicate posts had indexed URLs, set up 301 redirects to the canonical version. Use the Redirection plugin to map deleted URLs to the correct posts. This prevents 404 errors from search engines following the now-deleted duplicate URLs.

Keep Reading

Previous Post GeneratePress vs Astra vs Kadence: Which Lightweight WordPress Theme Is Best Next Post How to Clean Your WooCommerce Database and Speed Up Your Store

Need Help With Your WordPress Site?

If you need help with WordPress fixes, plugin issues, theme customization, or development work, feel free to get in touch.

Get a Free Estimate