Skip to main content
GrN.dk

Main navigation

  • Articles
  • Cases
  • Contact
  • Your Digital Project Manager
  • About Greg Nowak
  • Services
  • Portfolio
  • Container
    • Excel Freelancer
    • Kubuntu - tips and tricks
    • Linux Apache MySQL and PHP
    • News
    • Image Gallery
User account menu
  • Log in

Breadcrumb

  1. Home

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-07-10

Tags

  • wordpress
  • Performance
  • database
  • Troubleshooting

Review Greg on Google

Greg Nowak Google Reviews

 

Illustrated infographic summarizing: Shorter TLS certificates expose every renewal you never automated
Shorter TLS certificates expose every renewal you never automated
2026-07-26

Shorter TLS lifetimes leave less room for manual handoffs and faulty deploy hooks. Build a renewal path that protects service availability.

Illustrated infographic summarizing: One Timeout, Two Orders: Make AI Actions Safe to Retry
One Timeout, Two Orders: Make AI Actions Safe to Retry
2026-07-25

A timed-out AI action may already have succeeded. Stable keys, durable ledgers, queues and stored results prevent a routine retry from duplicating real work.

Illustrated infographic summarizing: Your AI Visibility Dashboard Needs a Methodology, Not More Charts
Your AI Visibility Dashboard Needs a Methodology, Not More Charts
2026-07-24

A practical framework for measuring AI-search visibility with fixed prompts, repeated tests, separate metrics, retained evidence, and honest reporting.

Illustrated infographic summarizing: AI Admin APIs Are Here—But Your Directory Is Still the Source of Truth
AI Admin APIs Are Here—But Your Directory Is Still the Source of Truth
2026-07-23

New AI admin APIs can automate access and spend controls, but reliable governance still starts with authoritative directory data and clear ownership.

Illustrated infographic summarizing: OpenAI Presence Arrived—But Is Your Workflow Ready for an Agent?
OpenAI Presence Arrived—But Is Your Workflow Ready for an Agent?
2026-07-22

Before an AI agent can take on real work, its workflow needs clear scope, permissions, handoffs, evaluation cases, and production monitoring.

Illustrated infographic summarizing: Chatbot Transcripts Quietly Became a Retention and Redaction Problem
Chatbot Transcripts Quietly Became a Retention and Redaction Problem
2026-07-21

Chatbot transcripts spread across providers, logs and support tools. Here is how to map each copy, redact sensitive data and test deletion properly.

Illustrated infographic summarizing: Cloudflare Service Keys Stop in September: Find Every Caller
Cloudflare Service Keys Stop in September: Find Every Caller
2026-07-20

Cloudflare Service Keys stop working on September 30, 2026. Here is how to find every caller, move to scoped API tokens and avoid a late outage.

Illustrated infographic summarizing: Your AI Workflow Needs an Acceptance Test Before It Meets Customers
Your AI Workflow Needs an Acceptance Test Before It Meets Customers
2026-07-19

A practical way to test AI workflows using realistic scenarios, tool checks, human rubrics, regression suites, and clear release gates.

Three cover candidates for The Goats Were Load-Bearing fanned on a dark background: an ember-lit door, three slow knocks, and a founders' ledger
The Goats Were Load-Bearing: a fantasy where the bill always comes due
2026-07-19

A teaser for the upcoming darkly comic fantasy novel The Goats Were Load-Bearing — a village, a door that must stay poor, and the worst possible time to sell the herd. Readers pick the cover.

Vegan Power game: the yellow player catches falling fruit while a chicken and a cow look on
Vegan Power: The Little Game About Eating Fruit, Not Friends
2026-07-19

Vegan Power is a free browser game where you catch fruit, dodge the animals, protect seven hearts, and chase a better high score.

More articles
RSS feed

GrN.dk web platforms, web optimization, data analysis, data handling and logistics.