WP-Sweep

Description

This plugin cleans up:

  • Revisions
  • Auto drafts
  • Deleted comments
  • Unapproved comments
  • Spammed comments
  • Deleted comments
  • Orphaned post meta
  • Orphaned comment meta
  • Orphaned user meta
  • Orphaned term meta
  • Orphan term relationships
  • Unused terms
  • Duplicated post meta
  • Duplicated comment meta
  • Duplicated user meta
  • Duplicated term meta
  • Transient options
  • Optimizes database tables
  • oEmbed caches in post meta

This plugin uses proper WordPress delete functions as much as possible instead of running direct delete MySQL queries.

Following delete functions are used:

  • wp_delete_post_revision()
  • wp_delete_post()
  • wp_delete_comment()
  • delete_post_meta()
  • delete_comment_meta()
  • delete_user_meta()
  • delete_term_meta()
  • wp_remove_object_terms()
  • wp_delete_term()
  • delete_transient()
  • delete_site_transient()

WP-Sweep WP REST API Endpoints
* GET /wp-json/sweep/v1/count/<Name>. Get the number of items that we will be sweeping.
* GET /wp-json/sweep/v1/details/<Name>. Get the details of the items that we will be sweeping.
* DELETE /wp-json/sweep/v1/sweep/<Name>. Runs sweep for that particular item.

WP-Sweep WP-CLI Commands
* wp sweep --all. Runs sweep for all items.
* wp sweep <Name>. Runs sweep for that particular item.
* wp sweep <Name1> <Name2>. Run sweep for the selected items.

WP-Sweep Available Items:
* revisions
* auto_drafts
* deleted_posts
* unapproved_comments
* spam_comments
* deleted_comments
* transient_options
* orphan_postmeta
* orphan_commentmeta
* orphan_usermeta
* orphan_termmeta
* orphan_term_relationships
* unused_terms
* duplicated_postmeta
* duplicated_commentmeta
* duplicated_usermeta
* duplicated_termmeta
* optimize_database
* oembed_postmeta

WP-Sweep is not compatible with the following plugins:
* Asgaros Forum
* Custom Fonts
* Elementor Popup Builder
* MailPress
* Meta Slider
* Polylang
* Slider Revolution
* Viba Portfolio
* WPML

Build Status

Development

Credits

Donations

I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.

Screenshots

  • WP-Sweep Administrator Page (Before Sweeping)
  • WP-Sweep Administrator Page (Swept)

Installation

  1. Upload wp-sweep folder to the /wp-content/plugins/ directory
  2. Activate the WP-Sweep plugin through the ‘Plugins’ menu in WordPress
  3. You can access WP-Sweep via WP-Admin -> Tools -> Sweep

FAQ

Coming soon …

Reviews

July 26, 2021
This plugin is absolutely awesome and has speeded up my website tremenderously! It took some time to complete the job but that's probably because my website is 6 years old and had thousands of old post meta files and old databases. The databases it deleted were probably from old plugins I'd tried and then deleted, but of course the plugin developers don't always "fully delete" their files in the hope you might reactivate them. Can't thank Lester enough for creating such a wonderful tool.
July 19, 2021
My site was working very slow with 260MB DB.. After using WP-Sweep the DB size reduced to 60MB and the website is fast again 🙂 Amazing!
April 3, 2021
I have been getting the 500 Internal Server Error sporadically for the last month, then could not edit at all recently. My server service could not help, except to tell me I have plenty of memory for dealing with Elementor. Other sites with 'experts' could not help. I finally read about this plug-in, installed it, cleaned up the old revisions and am back in business! Thank you so much! And you are now tested with the latest version of WP!
April 2, 2021
I use Elementor, and every now and then, I'll get the dreaded 500 Server Error every time I go to save changes. Of course this always happens when I need very important information added/removed from my website. My memory is set to the highest and I still wasn't getting anywhere, until I read about this plugin, which sweeps away tons of saved drafts. I had THOUSANDS of old saved drafts and once this plugin swept them away, NO MORE 500 Server Error! I highly recommend this plugin. It saved me! THANK YOU
March 21, 2021
well when used carefully even for multilingual - then u need to be more careful for "doubled" data
Read all 105 reviews

Contributors & Developers

“WP-Sweep” is open source software. The following people have contributed to this plugin.

Contributors

“WP-Sweep” has been translated into 16 locales. Thank you to the translators for their contributions.

Translate “WP-Sweep” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.1.15

  • NEW: Bump to WordPress 5.8

1.1.4

  • FIXED: Replaced %_transient_% with %\_transient\_%. Escape _ in MySQL if not it is being used as a wildcard character. Props @janrenn.

1.1.3

  • FIXED: Changed permissions check to activate_plugins because update_plugins will return false when DISALLOW_FILE_MODS=true.

1.1.2

  • NEW: Changed permission check to update_plugins for better MultiSite compatibility.
  • NEW: Bump min PHP version to 5.6.

1.1.1

  • NEW: wp_sweep_excluded_termids filter.

1.1.0

  • NEW: Added WP Rest API Endpoint support, sweep/v1/count/<Name>, sweep/v1/details/<Name>, and sweep/v1/sweep/<Name>
  • FIXED: Follow as close as possible to WordPress Coding Standards

1.0.12

  • NEW: Bump to WordPress 4.9
  • NEW: Update README to incompatible plugins

1.0.10

  • FIXED: Invalid plugin head ‘This plugin has an invalid header.’

1.0.9

  • NEW: Support for Codeclimate
  • FIXES: Uses get_sites() on WordPress 4.6. This should fix deprecated notices.
  • FIXES: Fixes translation placeholder count. Props @pedro-mendonca.
  • FIXES: Use manage_options capability as it conflicts with Admin Menu Editor on multisite installs. Props @EusebiuOprinoiu.

1.0.8

  • NEW: Added wp_sweep_excluded_taxonomies filter to allow more than just link_category taxonomy
  • NEW: Support for WP-CLI wp sweep

1.0.7

  • FIXES: Use custom query to delete Orphaned Term Relationship if wp_remove_object_terms() fails

1.0.6

  • NEW: Delete ‘languages’ folder from the plugin
  • NEW: Use translate.wordpress.org to translate the plugin
  • FIXED: Works only with WordPress 4.4 because of new term meta

1.0.5

  • FIXED: apply_filters() wrong arguments

1.0.4

  • NEW: oEmbed caches in post meta Sweep
  • NEW: Add POT file for translators

1.0.3

  • NEW: AJAX Sweep All
  • NEW: AJAX Sweeping
  • NEW: View details of sweep
  • NEW: Optimize DB sweep
  • NEW: User hint and confirmation. Props @SiamKreative
  • FIXED: Division by zero. Pros @barisunver

1.0.2

  • FIXED: Use term_id for wp_remove_object_terms()
  • FIXED: number_format_i18n() issues after sweeping

1.0.1

  • NEW: Moved plugin location to WP-Admin -> Tools -> Sweep
  • NEW: Add Deleted Post Sweep
  • FIXED: Use forced_delete for wp_delete_post() and wp_delete_comment();
  • FIXED: If orphaned meta has an object id of 0, use SQL query to delete

1.0.0

  • Initial release