Autoloaded options are rows in wp_options that WordPress loads into memory on every single request. When that data grows past a megabyte or two, every page pays the cost, even pages that never use it. The fix is to turn off autoload for large options that are not needed everywhere, and delete options left behind by removed plugins, until the total is back under 1 MB.

What causes this?

Autoload bloat builds up quietly. Some plugins write large options, whole settings blobs or cached datasets, and mark them to autoload even though only one admin screen ever reads them. Abandoned plugins are worse: when you deactivate or delete them, their options are usually left behind, still autoloading on every request for a feature you no longer run. Transients that were meant to expire sometimes never do, and pile up in the same table. None of it shows on the surface, but all of it is read into memory on every page load.

How to check

Run this against your database to see your total autoload size and the biggest offenders:

\-- Total autoloaded size in MB
SELECT ROUND(SUM(LENGTH(option\_value))/1048576, 2) AS autoload\_mb
FROM wp\_options WHERE autoload = 'yes';

\-- The 15 largest autoloaded options
SELECT option\_name, ROUND(LENGTH(option\_value)/1024, 1) AS kb
FROM wp\_options WHERE autoload = 'yes'
ORDER BY LENGTH(option\_value) DESC LIMIT 15;

< 1 MBHealthy. Leave it be.

1–2 MBWorth trimming.

\> 2 MBA real problem. Fix it.

How to fix it manually

Back up your database before you touch wp\_options. These changes are reversible only if you have a restore point.

  1. Take a full database backup
Use your host's tool, a backup plugin, or wp db export.
  1. Run the size query above
Note the total and identify the 15 largest options by name.
  1. Match each large option to its plugin
A prefix like rev_slider_ or wpforms_ tells you the owner. Note any from plugins you no longer have.
  1. Turn off autoload or delete stale options
With WP-CLI: wp option set <name> "$(wp option get <name>)" --autoload=no to stop autoloading, or wp option delete <name> for options from removed plugins.
  1. Re-measure and test
Re-run the size query, confirm you are under 1 MB, and click through the site to check nothing broke.

How BoltAudit does it

The audit runs all of the above for you and turns it into one reviewed action.

1Finds it automatically. The Database report flags autoload over your threshold and names the options responsible.

2Preview the exact change. See which options will be turned off or deleted, and the evidence, before anything happens.

3Automatic backup, then apply. A restore point is captured, then the change is made in one click.

4Roll back any time. If anything looks off, reverse it from Fix History in one click.

Fix this on your site

Common questions

Is it safe to delete autoloaded options?

It is safe to delete options left behind by plugins you have removed, and safe to turn off autoload for large options only needed on specific pages. It is not safe to blindly delete options from active plugins. Always back up first, and change one thing at a time so you can trace any effect.

How much autoload is too much?

Under 1 MB of total autoloaded data is healthy. Between 1 and 2 MB is worth trimming. Over 2 MB is a real problem because that data is read into memory on every single request, adding a fixed cost to every page your site serves.

Will this break a plugin?

Turning off autoload for an option an active plugin needs on every page can slow that plugin slightly, but it will not break it, because WordPress still loads the option on demand. Deleting an option an active plugin depends on can cause errors, which is why you match each option to its plugin before acting and keep a backup.

How do I know it worked?

Re-run the autoload size query and confirm the total dropped under 1 MB. In BoltAudit, the finding clears on the next audit and your visitor-loss estimate and health score update to reflect the recovered load time.

Run BoltAudit on your site

Free plugin · 1 site · 3 audits per month · no credit card.

See plans →