wpmgr
Database Cleaner

WordPress database cleanup that scans first and never guesses

Scan the WordPress database, see a per-table inventory with owner labels, classify orphans against a signature corpus, then clean in batches. The 90-day health trend shows whether the database is shrinking or growing back.

A bloated wp_options table slows every page and most database cleaners delete data without showing what they removed

WordPress accumulates revisions, expired transients, orphaned postmeta rows, and auto-loaded wp_options entries over time. Left unchecked these slow autoloaded queries and inflate the database size. Most cleanup tools run silently and give you no way to verify what was removed or roll back if something breaks. WPMgr scans first, shows you exactly what it found, and lets you clean in reviewed batches.

How it works

Under the hood

The steps that make it work, and what each one does.

1

Scan and inventory the database

WPMgr runs a scan and produces a per-table row count with owner labels showing which plugin or theme registered each table. You see what is in the database before anything is removed.

2

Classify orphans against the corpus

Orphaned rows are matched against a signature corpus of known plugin and theme data patterns. The corpus distinguishes safe-to-clean orphans from data that looks orphaned but is actually in use.

3

Snapshot before you clean

Take a quick database snapshot before a clean run. The snapshot is faster and lighter than a full backup and stays on the site's own server so restoring does not require remote storage.

4

Clean in batches, track the trend

Clean revisions, transients, orphaned postmeta, and wp_options bloat in configurable batches. The 90-day health trend shows database size over time so you can see whether cleaning is having the expected effect.

Database scan results3 tables flagged
wp_postsWordPress core
14.2 MB4,218 rows
wp_postmetaWordPress core
42.8 MB31,420 rows
wp_options (autoloaded)Various plugins
8.1 MB892 rows
wp_redirection_itemsOrphaned (plugin inactive)
18.6 MB14,012 rows
wp_revisionsWordPress core
22.3 MB8,944 rows
90-day database size trend (MB)
JanAprJulOct

Trend declining after last clean run

What's included

Every capability ships in the open-source release.

Per-table inventory with owner labels

Every table in the scan is labelled with the plugin or theme that created it. Orphaned tables are highlighted. You see the full picture before choosing what to clean.

Orphan classification corpus

Orphaned rows are classified against a curated signature corpus that identifies data patterns from known plugins and themes. This prevents false positives from flagging data that is still in use.

90-day health trend

Database size and table health are tracked over 90 days. The trend chart shows whether the database is shrinking after a clean run or accumulating bloat again.

Fleet-wide database view

The fleet database health view shows which sites have clean databases, which have pending orphans flagged, and which have not been scanned recently, so nothing falls through the cracks.

Quick local snapshots

A database snapshot can be taken and restored without remote storage. It is faster and lighter than a full backup and stays on the site's server for immediate revert access.

Serialization-safe search and replace

Find and replace across the whole database with PHP-serialized data intact. Preview matches before committing so you can verify what will change.

FAQ

Questions answered

Common questions about this feature.

Self-host it, read the code, and run your whole fleet.

Free and open source. No per-site fee. The full release is on GitHub.