Why your WooCommerce store gets slower every month (it's not your hosting)

It's a slow drift: your store used to be fast, and month after month it gets sluggish — a heavy backend, slower product pages — even though nothing changed on the server. The cause is almost always the database quietly bloating in production. The good news: cleaning it up costs nothing extra on hosting.
Here are the four sources — each with the fix.
1. Autoloaded transients
Transients set without an expiration land in wp_options with autoload = yes — and then get pulled into memory on every single page request, before a single product query runs. On a mature WooCommerce store, 5–10 MB of autoload is common. Anything over 800 KB–1 MB is a real problem.
Fix: Delete expired transients (wp transient delete --expired), audit the autoload payload, and keep it under 1 MB.
2. Action Scheduler logs
WooCommerce uses the Action Scheduler as its task queue — every order, email and sync logs an entry. The wp_actionscheduler_* tables grow unchecked when the cleanup routine isn't running properly.
Fix: Check WooCommerce → Status → Scheduled Actions to confirm cleanup is actually running, and set a log retention.
3. Unbounded sessions
The woocommerce_sessions table and orphaned carts grow forever when expired sessions are never cleared.
Fix: Purge expired sessions regularly via a scheduled job (cron).
4. Revisions & orphaned metadata
Deleted products and uninstalled plugins leave junk behind: endless post revisions, orphaned postmeta rows, dead term relationships.
Fix: Limit revisions (WP_POST_REVISIONS), clean the orphans, then OPTIMIZE TABLE.
Before / after — same hosting
Here's what a typical cleanup looks like, without touching the server:
- Autoload: 8.4 MB → 0.6 MB
- Slow query: 1.8 s → 0.2 s
- Admin load: 4.1 s → 0.9 s
The real mistake is almost never "not enough server" — it's that the cleanup job never ran. Automate it (weekly) and the DB stays lean.
Want the next build & audit guides — with every gotcha? Subscribe to the "Built with AI" newsletter.
Prefer done-for-you? If you'd rather I clean your DB and automate the cleanup (plus a speed audit, migration to your own server): drop me a line — it's what I do day to day.
Built with AI — the newsletter
Hands-on AI tutorials and the tools I actually use — straight to your inbox. Free, no hype.
Powered by Substack. Unsubscribe anytime.