Skip to main content
Home
GrN.dk

Main navigation

  • Articles
  • Cases
  • Services
  • Your Digital Project Manager
  • About Greg Nowak
  • Image Gallery
  • Contact
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

WordPress Autoloaded Options: What the Site Health Warning Misses

Illustrated infographic summarizing: WordPress Autoloaded Options: What the Site Health Warning Misses

Site Health is useful because it flags autoloaded options, but for operators it is only the start of the job. The real question is not whether WordPress can warn you. It is whether your site is loading data on every request that does not need to be there, and whether you can fix it safely without breaking plugin behavior, admin workflows, or client handover.

That matters because autoloaded options sit in the normal request path. Core loads that set early through wp_load_alloptions(), so a bloated autoload set becomes a tax on ordinary page handling, not just an admin-only problem. For agency teams and operations leads, this is why the issue keeps surfacing as slow frontend responses, spiky resource use, and vague "the server feels heavy" complaints.

What the warning actually means

The current Site Health check counts both the number and total size of autoloaded options. In current core docs, it marks the issue as critical when the total autoloaded size reaches the default limit of 800000 bytes. That is a sensible alert threshold, not a diagnosis. A site can exceed it because of one oversized option, a few badly scoped settings arrays, or a pile of stale rows left behind by retired plugins and themes.

That distinction matters commercially. A warning tells you there is likely waste in the request path. It does not tell you which option is safe to remove, which one should remain autoloaded, or whether the durable fix belongs in code, data cleanup, or both.

What changed in modern WordPress

WordPress 6.6 changed the default $autoload parameter for add_option() and update_option() from implicit yes to null. In practical terms, core now expects clearer intent: use true when an option must be available on essentially every request, false when it should not be loaded globally, and null when WordPress can apply its own heuristics.

That same change introduced a default size guardrail. If an option is saved without explicit autoload true and the value is larger than 150000 bytes, WordPress will not autoload it by default. Newer database values such as on, off, auto, auto-on, and auto-off were added to support that behavior, while legacy yes and no remain readable for backward compatibility.

Then WordPress 6.7 formally deprecated passing yes and no into these APIs. Core did not rewrite old rows during upgrade, so mixed states are normal on long-lived sites. Any custom SQL that only checks autoload = 'yes' is now incomplete.

Why the fix is still hands-on work

The remediation is not "turn the warning off" or "set a higher limit." The current Site Health threshold can be filtered with site_status_autoloaded_options_size_limit, and the 150 KB autoload heuristic can be altered with wp_max_autoloaded_option_size. Both are operational levers. Neither removes unnecessary weight from production requests.

What usually needs real judgment is classification:

  • Which options are genuinely needed across the frontend, login flow, checkout, or shared middleware on nearly every request?
  • Which options are only used on narrow admin screens, import jobs, scheduled tasks, or one feature path?
  • Which rows belong to plugins or themes that are no longer active?
  • Which large values exist because code is storing too much in one option instead of using a more appropriate data model?

That is why this remains paid performance work. You are not just chasing a green dashboard. You are deciding what can be safely changed on a live business system.

What safe remediation looks like

A good cleanup starts with inventory, not deletion. Pull the largest autoloaded rows, map each one to its owner, and confirm whether the owning code still exists. On inherited sites, the dangerous cases are usually abandoned plugins, overgrown option arrays, or custom code that never set explicit autoload intent.

From there, the implementation path is usually one of three moves:

  • Patch the save logic so future writes use explicit booleans and match modern WordPress behavior.
  • Change the autoload flag for active options that are valid but wrongly scoped.
  • Remove stale options after confirming they are no longer read by production code.

One technical detail matters here: update_option() can only change the autoload value of an existing option when the option value itself also changes. If you only need to flip the autoload flag, the current core API for that job is wp_set_option_autoload_values(), which updates autoload values without rewriting the option payload and handles the related cache refresh.

update_option( 'my_option', $value, false );

wp_set_option_autoload_values( array(
    'legacy_plugin_setting' => false,
) );

That is safer than raw SQL on most projects, especially now that WordPress uses newer autoload states internally.

What to tell stakeholders

For business owners, the plain-English version is simple: autoload bloat is not a cosmetic Site Health issue. It is a recurring performance cost hidden inside normal page handling. For operations leads, it is a reliability and maintainability issue because bad autoload decisions keep resurfacing after plugin updates, migrations, or agency handoffs. For agencies, it is a client trust issue: the dashboard warns, but the real value is in fixing the cause without collateral damage.

If your site is over the limit, the right question is not "How do we suppress the warning?" It is "Which options truly belong in the startup path, which ones do not, and how do we lock that in so the problem does not come back next quarter?"

That is the difference between a one-off database tweak and a proper remediation plan. The best outcome is a lighter request path, cleaner ownership of settings data, and code that follows current WordPress conventions instead of legacy habits.

Need help making the fix stick?

If you need someone to audit the autoload set, trace ownership, and turn the warning into a safe remediation plan, Greg can help with the technical cleanup and the operational handoff. The goal is not just to quiet Site Health. It is to leave the site faster, clearer, and less fragile than before.

Need help with this kind of work?

Need a WordPress autoload audit and a safe remediation plan? Talk to Greg. Get in touch with Greg.

Sources

  • Options API: Disabling autoload for large options
  • WP_Site_Health::get_test_autoloaded_options()
  • update_option()
  • wp_set_option_autoload_values()
  • wp_load_alloptions()
Last modified
2026-08-05

Tags

  • wordpress
  • Performance
  • database
  • Troubleshooting

Review Greg on Google

Greg Nowak Google Reviews

 

Written recommendations from Trafik og Veje, Aarhus Municipality (2011) and AgroTech (2010) — read them on LinkedIn.

Illustrated infographic summarizing: Locked out of your Apple developer account? Fix it before October 1
Locked out of your Apple developer account? Fix it before October 1
2026-08-20

Apple's updated developer agreement must be accepted by October 1, 2026, and many small app owners cannot even log in. Here is where Apple's two-factor codes really go, and how to fix your access before the deadline.

Illustrated infographic summarizing: Cloudflare Workflows Now Charges by the Step—Price the Outcome
Cloudflare Workflows Now Charges by the Step—Price the Outcome
2026-08-20

Cloudflare Workflows now bills paid plans for steps and stored state. Here is how to track cost per completed outcome without weakening reliability.

Illustrated infographic summarizing: Google’s AI Search Toggle Is a Publishing Decision, Not an SEO Setting
Google’s AI Search Toggle Is a Publishing Decision, Not an SEO Setting
2026-08-19

Google’s AI Search toggle forces a commercial choice about visibility, attribution and content use. Here’s how to make that choice responsibly.

Illustrated infographic summarizing: From Supplier Invoice to Bookkeeping: AI with a Control Checkpoint
From Supplier Invoice to Bookkeeping: AI with a Control Checkpoint
2026-08-18

AI can reduce the work involved in processing supplier invoices, but reliable bookkeeping requires validation, duplicate checks, approval and a clear audit trail.

Illustrated infographic summarizing: Nginx 1.30 Changed the Upstream Defaults—Test Before You Upgrade
Nginx 1.30 Changed the Upstream Defaults—Test Before You Upgrade
2026-08-17

Nginx 1.30 defaults upstream proxying to HTTP/1.1 with keepalive enabled. Here is what to inspect, model and test before upgrading.

Illustrated infographic summarizing: OpenAI’s Assistants API Shuts Down in Ten Days. Is Your App Ready?
OpenAI’s Assistants API Shuts Down in Ten Days. Is Your App Ready?
2026-08-16

OpenAI’s Assistants API shuts down on August 26, 2026. Learn what to inventory, how to preserve state and how to cut over without breaking the product.

Illustrated infographic summarizing: WordPress 7.1 Forces the Editor Into an iframe—Test Your Custom Blocks
WordPress 7.1 Forces the Editor Into an iframe—Test Your Custom Blocks
2026-08-15

WordPress 7.1 removes the non-iframe editor fallback. Learn how to audit custom blocks, test real workflows and fix compatibility issues before launch.

Illustrated infographic summarizing: GitHub will stop sending jobs to stale self-hosted runners
GitHub will stop sending jobs to stale self-hosted runners
2026-08-14

GitHub starts enforcing runner versions on August 24, 2026. Audit and upgrade self-hosted runners before builds and deployments start stalling.

Illustrated infographic summarizing: Your AI Agent Has Shell Access. What Can It Reach?
Your AI Agent Has Shell Access. What Can It Reach?
2026-08-13

A practical guide to mapping what a shell-enabled AI agent can reach, then containing its access to files, credentials, networks, tools, and high-impact actions.

Illustrated infographic summarizing: Cloudflare Changed DoH JSON. What Else Is Parsing DNS as Text?
Cloudflare Changed DoH JSON. What Else Is Parsing DNS as Text?
2026-08-12

Cloudflare’s DoH JSON change exposes brittle DNS parsing. Find affected scripts, test both formats, and choose a safer integration contract.

More articles

Built by AI — available for your business. The daily articles on this site are researched, written and illustrated by an autonomous AI pipeline. At nowa.dk I install the same kind of AI automation in businesses at fixed prices — site in Danish, English version here, and web/marketing agencies have a dedicated page.

RSS feed

Footer

  • All articles
  • Contact

GrN.dk — AI automation, web platforms, web optimization, data handling and logistics.

© 2026 GrN.dk · LinkedIn · Contact · AI automation in Danish: nowa.dk

Behind GrN.dk: Individual Entrepreneur Codecrafter · Tax ID 305669096 · Bakhtrioni St. 22, 0194 Tbilisi, Georgia · official business register