This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

WP Delete Post Copies


This plugin searches duplicated posts by title or content, filtering by category and can permanently delete them with images or send them to the trash in manual mode or automatic scheduled with WordPress cron.

And as a special feature, the erasing images by two different manners, images attached to posts can be trash or delete permanently and also can delete images added in posts content by html tag .
The images in posts content can be deleted from the folder if they are hosted locally.

Some Features

  • Allows limit the query to avoid timeouts or high loads on the server when performing Mysql queries.
  • Allows send to trash or delete permanently the posts or any post type, public or private as well images or attachments of every post.
  • Also deletes custom meta fields values from postmeta table of each deleted post.
  • Allows to delete attachments.
  • Allows to search and permanently delete images in posts content if they are hosted locally.
  • Allows to filter by post status, revisions or also inherit.
  • Allows to filter on one or some categories. But if ignores categories, the query is very much quicker.
  • You can select if it should be kept as original the first or the last duplicated post, deleting the others.
  • Allows exclude posts to delete by post IDs.
  • You can preview a table of posts before make the delete in manual mode.
  • You can manually delete any single post from the preview table.

Is probable that if there is a large amount of duplicated posts, for the timeouts on each server, the query can be interrupted when is proceeding manually and therefore the log can’t be recorded. To avoid this decreases the “Limit per time” value. A value of 100 or 150 is suitable, but also with 10 at a time, works very well.

PLEASE MAKE BACKUPs OF YOUR DATABASE AND FILES BEFORE USE. This will avoid you many problems if something goes wrong.


WP-Delete Oldest Posts Allows to select a date to delete all posts published before that date and/or you can establish a period with a cron job to continuously deleting the old posts and just remains that period on database. Example: I want to keep just the last six months of posts in my blog then the oldest are deleted.

This plugin deletes posts and/or images and other things. Use it with very much caution.
The use of this plugin and its extensions is at your own risk. I will not be liable of third party for difficulty in use, inaccuracy or incompleteness of information, use of this information or results arising from the use of it, computer viruses, malicious code, loss of data, compatibility issues or otherwise. I will not be liable to you or any third party of any direct, indirect, special incidental, consequential, exemplary or punitive damages ( including lost of profit, lost of data, cost to procure replacement services or business opportunities) arising out of your use of plugin, or any other thing I provide in the site or link to another, or any acts omissions, defect, deficit, security breaches, or delays, regardless of the basis of the claim or if I have been advised of the possibility of such damage or loss.


  • Settings Page with Global options.
  • Campaigns of deletes Page.
  • Editing a Campaign.
  • Running a Campaign in manual mode to delete duplicates.
  • You can see a table with duplicated posts to delete and its details or attachments.
  • You can delete a single post by mouse click and get details of this action by clicking the title.
  • The logs are also in a new tab saving time to load the page. Click on title to refresh.


You can either install it automatically from the WordPress admin, or do it manually:

  1. Unzip plugin archive and put the folder into your plugins folder (/wp-content/plugins/).
  2. Activate the plugin from the Plugins menu.


ماي 13, 2022 5 replies
Hello, after a long time working as expected, the plugin suddenly stopped working without any error! It keeps searching for posts to delete with a never ending status. Even logs stopped populating. What is the issue?
سبتمبر 28, 2021 1 reply
Thanks for creating this plugin! easy to use delete duplicate title posts perfectly, hope this plugin becomes famous <3
سبتمبر 9, 2019
Unable to select search by content only. When selected both “look at on content” and “look at on title” it doesn’t mean it is AND relationship, so it still finds posts with identical titles, but different content.
سبتمبر 3, 2016
I have no idea why this plugin isn’t ranked higher or installed more often. It is perfect for deleting exactly what needs to be deleted.
Read all 6 reviews

Contributors & Developers

“WP Delete Post Copies” is open source software. The following people have contributed to this plugin.



5.5 Mar 20, 2023

  • Bug fix for compatibility in php 8.
  • Bump to WP 6.2.0

5.4 Oct 7, 2021

  • Lot of tweaks for PHP notices and warnings.
  • Added Select2 js and css files in local directory.
  • Added pot catalog and Spanish translation files.
  • Updated icons and banners. 😀
  • Removed calls to external files.
  • Improved security.
  • Bump to WP 5.8.1

5.3.2 May 3, 2021

  • Fixes wrong behaviors of Exclude Posts (types) by ID option.

5.3.1 Apr 29, 2021

  • Bump to WP 5.7.1
  • Many tweaks on CSS styles.

5.3 Apr 19, 2021

  • Fixes some queries according with the selected options.
  • Allows search duplicates by title AND content or one of both.
  • Added many JS conditions to avoid wrong behaviors on running campaigns.
  • Initially disabled GO button before save a campaign.
  • Added Select2 field to allow select excluded post(types) by name.
  • Fixed some behaviors on run all campaigns.
  • We’ve welcomed a new contributor to the etruel/netmdp team: @vanbom started helping us with development ;-D
  • Updated plugin URI and author URI.
  • Updated License library to support auto-updates.

5.2 Feb 20, 2019

  • Tested to work with WordPress 5.1
  • Updates Plugin updater class.
  • Some tweaks in the license handler.


  • Fixed issue of the “Ignore Categories” option.


  • All code was improved from scratch.
  • Added the functionality of deletion of posts by campaigns.
    This allows different filters for campaigns or even use the complement of deletion of old posts in a campaign and in other continue looking for duplicates.
  • The results and logs are in tabs inside each campaign editing.
  • Fixed the issues reported with the cron malfunctions.


  • Fixed “Warning: Cannot modify header information – headers already sent” that breaks login in some cases.
  • Fixed issue deleting a single post in manual mode by table link.
  • Updated Screenshots


  • Tested Up to WP 4.2.2
  • Fixed the site crash issue reported by asisrodriguez. Thanks!
  • Better Readme file. (this 🙂
  • New icons.


  • Added options to search duplicates by post types.
  • Category option only works with posts. (ToDo custom tax for post types)
  • Added options to search duplicates by post status.
  • Added option to delete images attached to a post.
  • Added option to search and delete images in content before delete a post.
  • Better style on table showing posts to delete.
  • Added option to delete a single post by click.
  • Fixed scheduled cron jobs.
  • Almost all plugin recoded to make it pluggable to add-ons and WordPress better practices.


  • Added options to search duplicates for title or content.
  • Added scrolled log to bottom of page.


  • some fixes in main query.


  • Added Option for show posts that will be deleted.
  • Added Option for Ignore Categories.
  • Optimized querys in both cases, with and without categories.


  • Added Categories Option for check duplicated only in selected categories.
  • Fixed scheduled feature that work diferent in newers versions of WP.
  • Thanks to “Neso” for his production. 😉


  • Added scheduled feature, icons, and cleaned some codes.
  • First public release.


  • Initial plugin. Private. Based in others plugins like Deleted duplicated post and so on..
    Just click for delete.