5,233 GPL Products · Updated DailyPRO Versions Available · Instant Download
WP-Sweep 2.0.1 – WordPress Plugin

WP-Sweep

v2.0.1 ★★★★★4.7/5 (138) Updated 2 days ago Live Demo ↗
Download WP-Sweep 2.0.1
Free download · version 2.0.1

Description

At a glance

Looking for WP-Sweep v2.0.1? It is available here as a free GPL download for WordPress — 100K+ active installs · 4.7/5 rating from 138 reviews · updated August 24, 2026 · requires WordPress 6.8+ & PHP 8.2+.

WP-Sweep finds the rows WordPress leaves behind and removes them. Revisions of posts you edited years ago, meta belonging to a post that was deleted, terms attached to nothing, term relationships pointing at posts that no longer exist, expired transients: none of it is visible anywhere in wp-admin, and all of it is in your database.

It uses the proper WordPress delete functions wherever they can reach the row, rather than running raw delete queries, so the hooks other plugins rely on still fire. Only the rows the API refuses to touch — orphaned meta whose object ID is 0 — are deleted directly.

Features

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

Delete functions 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()

Known incompatibilities

These plugins keep data in places WP-Sweep reads as orphaned. Protect their meta keys with the filters under Usage before sweeping.

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.

Usage

Every sweep is irreversible, so back your database up first.

The screen lists every sweep with a short description of what it removes, how many items that is, and what proportion of the table they are. Tick the ones you want and use the Sweep bulk action, or use each row’s Sweep and Details buttons one at a time. Nothing on the screen needs JavaScript: the buttons are ordinary links and the bulk action is an ordinary form.

There is no settings screen. The one thing worth tuning — how many items Details lists, 500 by default — is the wp_sweep_limit_details filter. The cap exists because the whole sample is held in memory and written into the page.

WP-CLI

wp sweep --all
wp sweep revisions
wp sweep revisions auto_drafts deleted_posts

REST API

All three routes need the activate_plugins capability.

GET    /wp-json/sweep/v1/count/<name>
GET    /wp-json/sweep/v1/details/<name>
DELETE /wp-json/sweep/v1/sweep/<name>

Item names

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`.

Filters

  • wp_sweep_postmeta_whitelist (array) — post meta keys that must never be deleted, by the orphaned or the duplicated post meta sweep. * matches any run of characters. Default: empty.
  • wp_sweep_commentmeta_whitelist (array) — the same, for comment meta.
  • wp_sweep_usermeta_whitelist (array) — the same, for user meta.
  • wp_sweep_termmeta_whitelist (array) — the same, for term meta.
  • wp_sweep_excluded_taxonomies (array) — taxonomies left out of the orphaned term relationships sweep. Default: array( 'link_category' ).
  • wp_sweep_excluded_termids (array) — term IDs left out of the unused terms sweep. Default: each taxonomy’s default term, plus any term that is the parent of another.
  • wp_sweep_limit_details (int) — how many items a Details list shows. Default: 500.
  • wp_sweep_defer_counts (bool) — whether the Sweep screen renders first and fetches its counts afterwards, one at a time. Return false to compute every count with the page, as versions before 2.0.1 always did. Default: true.
  • wp_sweep_capability (string $capability, string $context) — the capability required. $context is one of sweep, ajax or rest.
  • wp_sweep_total_count (int $count, string $name) — the total number of rows a sweep’s percentage is measured against.
  • wp_sweep_count (int $count, string $name) — how many items a sweep would remove.
  • wp_sweep_details (array $details, string $name) — the sample list shown by Details.
  • wp_sweep_sweep (string $message, string $name) — the message reported after a sweep has run.

Actions

wp_sweep_admin_post_sweep, `wp_sweep_admin_comment_sweep`, `wp_sweep_admin_user_sweep`, `wp_sweep_admin_term_sweep`, `wp_sweep_admin_option_sweep` and `wp_sweep_admin_database_sweep` all fire below the sweep table, in that order.

Protect specific post meta keys from being swept:

add_filter( 'wp_sweep_postmeta_whitelist', function ( $meta_keys ) {
    $meta_keys[] = '_my_plugin_setting';
    $meta_keys[] = '_acme_*';
    return $meta_keys;
} );

Exclude an additional taxonomy from the orphaned term relationships sweep:

add_filter( 'wp_sweep_excluded_taxonomies', function ( $taxonomies ) {
    $taxonomies[] = 'product_type';
    return $taxonomies;
} );

Frequently asked questions

What is WP-Sweep?

WP-Sweep is a free WordPress plugin available under the GPL license. The current version is 2.0.1. It is active on over 100K websites.

Is WP-Sweep free to download?

Yes — WP-Sweep 2.0.1 is a free GPL download with no hidden fees, no account needed, and no feature locked behind a paywall in this package. Users rate it 4.7 out of 5 based on 138 reviews.

How do I install WP-Sweep 2.0.1?

Download the ZIP file from this page, then in your WordPress dashboard go to Plugins → Add New → Upload Plugin, choose the file, click Install Now, then Activate. The plugin works immediately after activation — no license key or extra setup is required for the core features.

What are the requirements for WP-Sweep?

WP-Sweep 2.0.1 requires WordPress 6.8 or higher and PHP 8.2 or higher. Most modern WordPress hosts already meet these versions. Running older versions may cause features to break, so update WordPress and PHP first if your site is behind.

When was WP-Sweep last updated?

Version 2.0.1 was last updated on August 24, 2026. This page is refreshed automatically, so the download here always matches the newest version we have verified.

Is the WP-Sweep download safe?

The file is sourced directly from the official WordPress.org repository — the same file the developer published. It is served unmodified, so what you install here is byte-identical to the official release.

Version: 2.0.1
Updated: October 1, 2026

Technical details

Version2.0.1
Last updatedAugust 24, 2026
Active installs100,000+
Rating★★★★★ 4.7/5 (138 reviews)
Requires WordPress6.8 or higher
Requires PHP8.2 or higher
AuthorLester Chan
Tagscleanup, database, optimize, revisions, sweep
Demo WP-Sweep

Download WP-Sweep

Download WP-Sweep WP Plugin

Official Page ↗

Note: if the download does not start, disable your ad blocker and try again.

Leave a Comment