What this problem looks like
autoload = 'yes' means WordPress loads the option on every request. Transients should use autoload = 'no'. Some migration and SEO plugins accidentally autoload huge serialized arrays.
Total autoload under 800 KB is healthy on most sites. Above 2 MB warrants immediate investigation.
Step 1: Check total autoload weight
Run this in phpMyAdmin or your database tool:
SELECT SUM(LENGTH(option_value)) AS autoload_bytes
FROM wp_options
WHERE autoload = 'yes'; Step 2: Find the largest rows
Match option_name prefixes to plugins: _transient_, woocommerce_, rank_math_, elementor_, wpseo_.
SELECT option_name,
LENGTH(option_value) AS size_bytes,
autoload
FROM wp_options
ORDER BY size_bytes DESC
LIMIT 30; Step 3: Set autoload to no safely
For plugin cache blobs that should not load globally, run in phpMyAdmin after backup:
UPDATE wp_options
SET autoload = 'no'
WHERE option_name = 'example_plugin_cache_blob'; Step 4: Use WP-CLI when available
The commands below need SSH access and will not work inside File Manager:
wp option list --autoload=on --format=table
wp option update my_large_option 'value' --autoload=no Step 5: Prevent recurrence
After plugin updates, recheck autoload size monthly on busy sites. Object cache reduces repeated option queries but does not fix loading megabytes into PHP memory on cache miss.
When to stop DIY and hire help
Autoload bloat combined with multisite or custom option tables needs developer review. BugShield fixes runaway wp_options on production stores at a confirmed price without hourly billing surprises.