Directory / plugin
Attic — Safe Database Cleanup (Undo-Friendly)
v2.1.1 · by Bishal Shrestha
Fix Site Health's "autoloaded options" warning and clear out junk left by deleted plugins. Quarantined first, undoable for 30 days.
About this plugin
Site Health says “Autoloaded options could affect performance”? Attic shows you exactly what’s causing it, and lets you remove it without risking your site.
Every plugin you’ve ever installed left something behind: oversized options, dead cron jobs, orphaned database tables, stale transients. Deleting the plugin doesn’t delete its data. WordPress loads a lot of that leftover data on every single page request, so years of “uninstalled” plugins quietly slow your site down.
Attic finds it, shows you the evidence, and removes it the undo-friendly way:
- Nothing is deleted up front. Tables are renamed, options are backed up. Restore anything in one click for 30 days (configurable).
- Nothing is guessed. Before Attic calls something orphaned, it checks that the owning plugin’s files are really gone and searches your code for any reference to it. Uncertain items stay marked “review”.
- Nothing changes until you say so. The scan is read-only.
What Attic finds
- Autoloaded option bloat: oversized options that load on every page, ranked by size against Site Health’s 800 KB limit.
- Leftovers from deleted plugins: options, tables and cron jobs whose plugin is no longer on disk.
- Orphaned tables: tables no installed plugin claims, with the megabytes you’d get back.
- Ghost cron events: scheduled jobs with no code behind them, firing forever and doing nothing.
- Stranded transients: expired cache rows that never got cleaned up.
- Orphaned meta: post, comment, user and term meta whose parent row is gone.
Every finding shows its evidence
Which rule fired, which plugin the data belongs to, whether that plugin is still on disk, how many code references were found, and how big it is. A finding you can’t check is a finding you shouldn’t act on.
Who it’s for
- Site owners who’ve installed and removed a lot of plugins over the years
- Agencies doing housekeeping on client sites (WP-CLI and scheduled scans included)
- Anyone whose Site Health page flags autoloaded options and doesn’t know what to do about it
Also included
- Scheduled scans (daily, weekly or monthly) with an email digest of new and resolved findings
- Autoload trend chart over your last 10 scans, exportable as PNG or CSV
- WP-CLI:
wp attic scan,wp attic findings,wp attic quarantine - Multisite network dashboard with per-site scan status
- No outbound requests. No CDN, no tracking, no account. Everything runs on your server.
How is this different from WP-Optimize or Advanced Database Cleaner?
Those are established cleanup tools with direct delete/optimize actions. Attic takes a different default: nothing is permanently deleted up front — flagged tables are renamed (wp_attic_quarantined_*) and options are backed up first, with one-click restore inside the purge window (default 30 days, configurable). Permanent removal only happens once a quarantined batch passes the purge window un-restored, or if you purge it yourself on purpose. Attic also checks plugin files on disk and searches your code for references before promoting findings to high confidence, so uncertain items stay at “review.”
WP-CLI commands
Run scans from the command line, across client sites or in CI/CD pipelines:
wp attic scan— run a full database auditwp attic findings— list and filter findingswp attic quarantine— manage quarantine batcheswp attic status— check plugin statuswp attic map status— inspect the bundled attribution map
Attribution Map
A curated map of plugin prefixes to their owning plugin, used to attribute
orphaned data. The map ships with the plugin and is updated with plugin
releases — Attic makes no outbound network requests.
wp attic map status— show the bundled map version and entry count- Add your own attributions with the
attic_prefix_map_entriesfilter
Third-party libraries
Attic bundles Chart.js 4.4.4 (MIT) at assets/vendor/chart.umd.min.js, used
only to draw the autoload trend chart in the admin. It is served from your own
site. Attic makes no outbound network requests of any kind.
Developer filters
Protecting things from ever being flagged:
attic_protected_options— additional never-flag option namesattic_protected_cron_hooks— additional never-flag cron hooksattic_protected_tables— additional never-flag tablesattic_protected_transients— additional never-flag transient names
Attribution and scanning:
attic_prefix_map_entries— add or override attribution map entriesattic_prefix_map_path— load the attribution map from a different fileattic_reference_scan_roots— where the code search looks; for unusual layouts and custom content directoriesattic_scan_rules— add or remove detection rules
Behaviour:
attic_manage_capability— which capability may scan and quarantine (defaultmanage_options)attic_purge_after_days— override the quarantine purge windowattic_tracked_autoload_options— which options usage tracking watchesattic_track_autoload_usage— return false to disable usage tracking entirely