Title: WP-Sweep
Author: Lester Chan
Published: <strong>February 25, 2015</strong>
Last modified: April 16, 2025

---

Search plugins

![](https://ps.w.org/wp-sweep/assets/banner-772x250.jpg?rev=1098912)

![](https://ps.w.org/wp-sweep/assets/icon.svg?rev=1098912)

# WP-Sweep

 By [Lester Chan](https://profiles.wordpress.org/gamerz/)

[Download](https://downloads.wordpress.org/plugin/wp-sweep.1.1.8.zip)

 * [Details](https://wordpress.org/plugins/wp-sweep/#description)
 * [Reviews](https://wordpress.org/plugins/wp-sweep/#reviews)
 *  [Installation](https://wordpress.org/plugins/wp-sweep/#installation)
 * [Development](https://wordpress.org/plugins/wp-sweep/#developers)

 [Support](https://wordpress.org/support/plugin/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:
 * [Custom Fonts](https://wordpress.org/plugins/custom-fonts/)*
[Elementor Popup Builder](https://elementor.com/features/popup-builder/) * [MailPress](https://wordpress.org/plugins/mailpress/)*
[Meta Slider](https://wordpress.org/support/plugin/ml-slider/) * [Polylang](https://wordpress.org/plugins/polylang/)*
[Slider Revolution](https://revolution.themepunch.com/) * [Viba Portfolio](https://codecanyon.net/item/viba-portfolio-wordpress-plugin/9561599)*
[WPML](https://wpml.org/)

### Build Status

### Development

 * [https://github.com/lesterchan/wp-sweep](https://github.com/lesterchan/wp-sweep)

### Credits

 * Plugin icon by [Freepik](http://www.freepik.com) from [Flaticon](http://www.flaticon.com)

### 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

![](https://secure.gravatar.com/avatar/03143f665620a55dfcbd5db0e29e1f7f21b4b2bad4d54c8e07ac6d87c63cd20f?
s=60&d=retro&r=g)

### 󠀁[removes error 500](https://wordpress.org/support/topic/removes-error-500/)󠁿

 [oriander](https://profiles.wordpress.org/oriander/) February 14, 2026

great plugin. helped to remove error 500! thanks for making it.

![](https://secure.gravatar.com/avatar/697117b83ad64dd4ba4afa0bea329654a5bc8ff1bdb1ba50e76d17d3562058c8?
s=60&d=retro&r=g)

### 󠀁[Thanks a lot](https://wordpress.org/support/topic/thanks-a-lot-165/)󠁿

 [Amine](https://profiles.wordpress.org/ablamohamedamine/) February 9, 2026

Thanks a lot for this useful plugin.

![](https://secure.gravatar.com/avatar/a93b723acac08d831e6db6eb756b246ec0ae97cec8af4cdcbb63e4f91135628c?
s=60&d=retro&r=g)

### 󠀁[Très bon travail](https://wordpress.org/support/topic/tres-bon-travail-3/)󠁿

 [Thierry Laval](https://profiles.wordpress.org/tiri17/) October 17, 2025

Merci beaucoup pour ce travail et le partage. Ce plugins fonctionne très bien.

![](https://secure.gravatar.com/avatar/690a4b2101415e5e077a6c9e5d4ad130dd631d64a87c54cd3d01b4c0276d03a4?
s=60&d=retro&r=g)

### 󠀁[great plugin](https://wordpress.org/support/topic/great-plugin-40538/)󠁿

 [readysite](https://profiles.wordpress.org/readysite/) May 26, 2025

great plugin, had a large database it cleaned in 2 clicks

![](https://secure.gravatar.com/avatar/aafa89ebe5c2c249145642e0aef97ec03d86c084d4b2b0048b7c91042096dff9?
s=60&d=retro&r=g)

### 󠀁[Great plugin to keep your WordPress database clean and optimized](https://wordpress.org/support/topic/great-plugin-to-keep-your-wordpress-database-clean-and-optimized/)󠁿

 [NDV Comunicazione – Sviluppo](https://profiles.wordpress.org/ndvcomunicazionesviluppo/)
March 26, 2025

WP-Sweep is a simple yet powerful plugin that helps keep your WordPress site running
smoothly. It cleans up unnecessary data like post revisions, trashed posts, spam
comments, unused terms, and more — all using native WordPress functions, which makes
it safer than many alternatives. We’ve used WP-Sweep on multiple websites and it’s
never caused any issues. It’s lightweight, user-friendly, and does exactly what 
it promises. The interface is clear and makes it easy to choose what to clean. Highly
recommended for anyone looking to optimize their WordPress database without the 
risk of breaking anything.

![](https://secure.gravatar.com/avatar/1760d3541ea129b073d874247dd50005ba681cb96a1f870dbfea1c5bcbd90dea?
s=60&d=retro&r=g)

### 󠀁[great plugin](https://wordpress.org/support/topic/great-plugin-40022/)󠁿

 [fuu0](https://profiles.wordpress.org/fuu0/) January 22, 2025

great and simple plugin, no licence shit – it just works, thanks!

 [ Read all 139 reviews ](https://wordpress.org/support/plugin/wp-sweep/reviews/)

## Contributors & Developers

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

Contributors

 *   [ Lester Chan ](https://profiles.wordpress.org/gamerz/)

“WP-Sweep” has been translated into 21 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/wp-sweep/contributors)
for their contributions.

[Translate “WP-Sweep” into your language.](https://translate.wordpress.org/projects/wp-plugins/wp-sweep)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wp-sweep/), check out
the [SVN repository](https://plugins.svn.wordpress.org/wp-sweep/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/wp-sweep/) by [RSS](https://plugins.trac.wordpress.org/log/wp-sweep/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

### 1.1.8

 * FIXED: Added current_user_can() Check For AJAX Calls

### 1.1.7

 * FIXED: Pass in default blank string to fix fatal error

### 1.1.6

 * NEW: Re-org wp-sweep.php to inc/class-wpsweep.php
 * NEW: Bump to WordPress 6.2

### 1.1.5

 * 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

## Meta

 *  Version **1.1.8**
 *  Last updated **12 months ago**
 *  Active installations **100,000+**
 *  WordPress version ** 4.6 or higher **
 *  Tested up to **6.8.5**
 *  Languages
 * [Catalan](https://ca.wordpress.org/plugins/wp-sweep/), [Chinese (China)](https://cn.wordpress.org/plugins/wp-sweep/),
   [Chinese (Taiwan)](https://tw.wordpress.org/plugins/wp-sweep/), [Dutch](https://nl.wordpress.org/plugins/wp-sweep/),
   [English (Australia)](https://en-au.wordpress.org/plugins/wp-sweep/), [English (Canada)](https://en-ca.wordpress.org/plugins/wp-sweep/),
   [English (New Zealand)](https://en-nz.wordpress.org/plugins/wp-sweep/), [English (UK)](https://en-gb.wordpress.org/plugins/wp-sweep/),
   [English (US)](https://wordpress.org/plugins/wp-sweep/), [French (France)](https://fr.wordpress.org/plugins/wp-sweep/),
   [German](https://de.wordpress.org/plugins/wp-sweep/), [German (Switzerland)](https://de-ch.wordpress.org/plugins/wp-sweep/),
   [Greek](https://el.wordpress.org/plugins/wp-sweep/), [Hebrew](https://he.wordpress.org/plugins/wp-sweep/),
   [Japanese](https://ja.wordpress.org/plugins/wp-sweep/), [Persian](https://fa.wordpress.org/plugins/wp-sweep/),
   [Portuguese (Portugal)](https://pt.wordpress.org/plugins/wp-sweep/), [Russian](https://ru.wordpress.org/plugins/wp-sweep/),
   [Spanish (Chile)](https://cl.wordpress.org/plugins/wp-sweep/), [Spanish (Colombia)](https://es-co.wordpress.org/plugins/wp-sweep/),
   [Spanish (Spain)](https://es.wordpress.org/plugins/wp-sweep/), and [Spanish (Venezuela)](https://ve.wordpress.org/plugins/wp-sweep/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/wp-sweep)
 * Tags
 * [clean](https://wordpress.org/plugins/tags/clean/)[clean-up](https://wordpress.org/plugins/tags/clean-up/)
   [cleanup](https://wordpress.org/plugins/tags/cleanup/)[Optimize](https://wordpress.org/plugins/tags/optimize/)
 *  [Advanced View](https://wordpress.org/plugins/wp-sweep/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  125 5-star reviews     ](https://wordpress.org/support/plugin/wp-sweep/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/wp-sweep/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/wp-sweep/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/wp-sweep/reviews/?filter=2)
 *  [  10 1-star reviews     ](https://wordpress.org/support/plugin/wp-sweep/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wp-sweep/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wp-sweep/reviews/)

## Contributors

 *   [ Lester Chan ](https://profiles.wordpress.org/gamerz/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/wp-sweep/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://lesterchan.net/site/donation/)