Autoloaded options: the hidden cost in every WordPress request

Every WordPress request loads all autoloaded options. If that set has grown to megabytes, the whole site is slow.

Hamid Aarab Senior WordPress and WooCommerce Backend Developer
Published
Reading time
1 min read

Hamid Aarab March 17, 2026 1 min read

تصویر پیکسلی یک کوله‌بار سنگین روی یک سرور
Contents (3)

At the start of every request WordPress loads every option marked for autoload in one go. Plugins that store large data with autoload on make every page pay for it.

Measure it

wp option list --autoload=on --format=total_bytes
wp option list --autoload=on --fields=option_name,size_bytes --orderby=size_bytes --order=desc | head -20

Since WordPress 6.6, autoload values are on, off and auto, and very large options are no longer autoloaded by default — but legacy data and plugins that force autoload on still cause trouble.

Fix it safely

wp option set-autoload some_heavy_option off

Don’t switch off an option that every request needs; target data that is read on a few pages only.

Where the object cache fits

With a persistent object cache such as Redis, the autoload set is one large cache key. If it exceeds the cache’s item size limit, every request falls back to the database. Keeping autoload small matters even with an object cache.

$ ./request_review

Facing the same problem in your own store?

Senior WordPress and WooCommerce backend engineering for complex production problems.

Request a Technical Assessment

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *