LightningByrd

WordPress plugin · database maintenance

Your database is hauling gigabytes it will never use again.

WordPress reads a block of options into memory on every single request, and nothing tells you how big it has grown. Add transients that expired months ago, trash nobody emptied, and revisions of pages rewritten a dozen times, and the database gets heavier every week while backups take longer. Featherweight scans all of it, shows you the weight, and cleans only what is provably dead.

GPL-2.0 · WordPress 6.0+ · PHP 7.4+ · WooCommerce optional · Dry-run by default · Your content, users and orders are never touched.

yourstore.com/wp-admin
Featherweight mark
  • Dry-run default
  • Retention-gated deletes
  • Batched with time budget
  • Full run history
  • Autoload undo list
  • Adds zero tables itself

The problem

The bloat nobody budgeted for.

The heaviest thing on most WordPress sites is not a plugin, it is the data plugins leave behind. Autoloaded options are read into memory on every request, so a few megabytes there taxes every page view by every visitor, and nothing in wp-admin shows you the total. Documented cleanup reports show admin pages going from 8 seconds to under 2 after clearing autoload bloat alone. Underneath that sit transients that expired months ago, trash nobody emptied, and revision history nobody will ever read.

Then there is the background queue. Action Scheduler ships inside a number of plugins, it records every job it runs, and core cleanup never purges the failed ones, so those rows accumulate for the life of the site. If you run a store this is the single biggest win here, and public GitHub issues document those tables reaching tens of gigabytes on ordinary WooCommerce sites. If you do not run one, the queue cleaners simply find less to do and everything above still applies. None of it is misconfiguration, it is what a busy site does by default.

Starts safe

Dry-run by default

Every cleanup only reports what it would delete until you untick dry-run. Plus hard-coded guarantees: nothing younger than its retention, pending jobs sacred, and orders, products, customers and users never touched at all.

What it does

Featherweight, feature by feature.

The scan

One click: table sizes, queue rows by status (failed called out), total autoload weight, expired transients and sessions, trash and spam, and an honest “estimated reclaimable” figure.

Seven cleaners

Queue complete/canceled, queue failed, expired transients, expired sessions, trash, spam, old revisions, each independently toggleable with its own retention window.

Autoload advisor

The options loaded into memory on every page view, sorted by weight and identified by plugin where possible, with a functionally-safe “stop autoloading” that's one-click reversible. Core-critical options never offered.

Hard safety rules

Dry-run default. Nothing younger than its retention. Pending and in-process jobs sacred. And regardless of any setting: orders, products, customers and users are never touched.

Never hangs your site

Deletes run in bounded batches inside a 15-second budget; anything left schedules its own continuation a minute later. Big cleanups happen in polite slices.

Set-and-forget weekly

Pick a quiet hour; Featherweight runs the enabled cleaners weekly and (if you want) emails a “reclaimed X this week” summary. Full history of every run, kept in one non-autoloaded option.

Seven cleaners, each with a never-touch list

Every cleaner deletes only what is provably dead, and each has hard-coded rows it will never touch, regardless of settings.

CleanerDeletesNever touchesDefault
Queue: doneComplete/canceled background actions + their logsPending & in-process jobsOn · 7-day retention
Queue: failedFailed actions + logs, the rows core keeps foreverRecent failures (kept for debugging)On · 30-day retention
TransientsExpired only (site + network scope)Live caches, no-expiry transientsOn
SessionsExpired WooCommerce sessions + legacy leftoversActive carts & sessionsOn
Trash / spamAlready-trashed posts, spam comments past retentionAnything published or pendingOn · 30-day retention
RevisionsRevisions past retentionRecent revisionsOff · 60-day retention
OPTIMIZE passRebuilds cleaned tables to reclaim diskNothing (it briefly locks tables)Off

See it in wp-admin

Real screens, no mockup gloss.

Rendered straight from the plugin's own admin UI in a local environment, what you install is what you see.

Inside wp-admin

Scan

Table weights, queue status counts, cleanable-now previews, estimated reclaimable.

Inside wp-admin

Autoload advisor

Heaviest always-loaded options, identified, with reversible stop-autoloading.

History. Every run, dry or real, with per-cleaner breakdown.
Settings. Dry-run switch, weekly schedule, per-cleaner retention windows.
The weekly email. What was reclaimed, per cleaner, the delight moment.
Help. What's touched, what never is, and the recommended rollout.

Where it fits

Honest comparisons, category by category.

No named-competitor trash talk, just what each category of tool is good at, and where this plugin earns its keep.

vs. generic DB cleaners

Generic cleaners do the classic checklist well, revisions, drafts, trash, spam, expired transients, and Featherweight covers that same ground. The gap is what they leave behind: the background queue, and the memory tax on every page view.

  • Status-aware Action Scheduler retention, including failed actions core never purges (one public report: 55 GB, 137M rows).
  • Expired sessions and the transients core's own cleanup tool misses on a store.
  • Autoload advisory with safe, reversible undo. Running both cleaners is safe, dead rows delete once.

vs. manual SQL

Hand-run DELETEs work, and risk orphaned log rows, truncated live-queue tables, transient ghosts under object caches, and one enormous locking DELETE. Featherweight's cleaners are those lessons, written down as code.

  • Dry-run is the preview from the same code that deletes.
  • 5,000-row batches inside a ~15-second budget, with scheduled continuation.
  • Manual SQL is still right for one-off emergencies, schema work, and forensics.

vs. hosting optimizers

Hosts optimize infrastructure, PHP, caches, CDN, MySQL config. Featherweight optimizes the application's data: which rows are dead is an application-level judgment a host can't make.

  • Good hosting masks data bloat, a strong server delivers a bloated database quickly.
  • The bloat still bites: backups stretch, migrations crawl, restores take hours.
  • Complementary in both directions, keep the good host, clean the data.

Pricing

Free. Actually free.

This one is how the suite says hello, no account, no email wall, no crippled features.

Featherweight, single site

Free forever. No account, no email wall, no upsell nags.

Free
  • The scan
  • Seven cleaners
  • Autoload advisor
  • Hard safety rules
  • Dry-run by default
  • Manual + help tab inside wp-admin
Most popular

The Nest Kit

Ledger, Holdback, X-Ray, Molt, save $67 vs. buying separately.

$129/yr
  • All 4 paid WordPress plugins, one license
  • Every WordPress plugin we ship next, included
  • Same 60-day no-quibble guarantee
  • Priority answers from the developers

60-day money-back guarantee

Full refund within 60 days of purchase. No questions, no forms, no hard feelings. If a plugin isn’t the right fit for your store, you shouldn’t pay for it.

Documentation

The manual lives inside the plugin.

Every install ships a full Help tab in wp-admin, plus these guides in the package:

  • Install
  • Configuration
  • Usage
  • The seven cleaners
  • Troubleshooting
  • FAQ
  • Changelog
Version
1.0.0
Requires
WordPress 6.0+ · PHP 7.4+ · WooCommerce optional
Tested up to
WordPress 6.7 · WooCommerce 8.2 if present, never required
License
GPL-2.0-or-later · your data stays on your site

Security posture: we build defensive tools, so we hold ourselves to the same bar, no external calls, capability and nonce checks on every admin action, and a direct line for reports at security@lightningbyrd.com. Reports get a human answer within one business day.

FAQ

Straight answers.

Can this delete my orders or customers?

No, categorically. No cleaner queries those tables. The rules are hard-coded, not settings.

Is deleting background-queue rows actually safe?

Yes, with guards: only complete, canceled, or failed rows past their retention window are touched. Pending and in-process jobs are never touched.

Why keep failed actions longer than completed ones?

Recent failures are diagnostic gold. The default keeps 30 days of them while ending the keep-forever accumulation.

I ran a cleanup and my database files didn't shrink. Bug?

Expected, InnoDB reuses freed space internally. That's what the optional OPTIMIZE pass is for (off by default, because it briefly locks tables).

Is “stop autoloading” going to break a plugin?

Functionally, no: the option still exists and get_option() still works, WordPress just stops preloading it on every page. One-click revert, and core-critical options are never offered.

Do I need WooCommerce?

No. The queue, transient, trash, and autoload cleaners help any WordPress site. The WooCommerce-specific cleaners simply stand down when WC is absent.

How is this different from the cleaner plugin I already run?

Possibly complementary. Check whether yours purges failed queue actions, expired WooCommerce sessions, and offers autoload advisory with undo, that trio is the gap.

My site uses an object cache, do expired transients even matter?

With a persistent object cache the scan will show near-zero there, and queue rows, sessions, and autoload weight remain fully relevant.

What does it cost to run?

A handful of information_schema and COUNT queries on demand; cleanups in 5,000-row batches inside a 15-second budget. It adds no tables and autoloads nothing of its own.

Featherweight

Weigh less by tonight.

Download, install, scan, see the reclaimable weight in your database in the next ten minutes.