AAA Autoload Optimizer

Beschrijving

Every WordPress site loads dozens — sometimes hundreds — of autoloaded
options from the wp_options table on every single page request. Many of
those options belong to plugins you removed long ago, or simply don’t need
to be autoloaded. The result: a bigger database query, slower page loads,
and wasted server resources.

AAA Autoload Optimizer tracks which autoloaded options your site actually
uses, then shows you the ones it doesn’t — so you can safely remove them
or turn off autoloading.

How It Works

  1. Install the plugin and browse your site normally for a few days.
  2. The plugin quietly records which autoloaded options are actually used
    during page rendering.
  3. Visit the settings screen to see every autoloaded option that was
    never used — and decide what to do with it.

You can remove unused options entirely (great for leftover data from
deactivated plugins) or disable autoloading for options that exist but
don’t need to load on every request. Disabling autoloading is
non-destructive — the option stays in your database, it just won’t be
fetched automatically.

Features

  • Automatic usage tracking — monitors which autoloaded options are
    loaded on every page, on both the front end and in the admin.
  • Bulk actions — optimize or delete multiple options at once instead
    of one by one.
  • Known-plugin recognition — identifies which plugin or theme each
    option belongs to, so you know exactly what you’re looking at.
  • “All Options” browser — view and manage every option in your
    wp_options table, not just the unused ones.
  • Source filtering — filter options by their source plugin, theme, or
    WordPress core to quickly find what you need.
  • Safe by design — disabling autoload is non-destructive. You can
    always re-enable it.
  • Lightweight — the plugin’s own tracking data is stored in a custom
    database table for optimal performance.

Why the “aaa” Slug?

WordPress loads plugins alphabetically. Because this plugin needs to start
tracking options as early as possible, the aaa-option-optimizer slug
ensures it loads first. It’s not vanity — it’s a technical requirement for
accurate measurement.

Links

Schermafbeeldingen

Installatie

Automatic installation

  1. In your WordPress dashboard, go to Plugins Add New.
  2. Search for AAA Autoload Optimizer.
  3. Click Install Now, then Activate.
  4. Browse your site normally for a few days — or visit every page manually if you’re in a hurry.
  5. Go to Tools Autoload Optimizer to review and optimize your autoloaded options.

Manual installation

  1. Download the plugin zip file.
  2. Upload it via Plugins Add New Upload Plugin, or extract it to /wp-content/plugins/aaa-option-optimizer/ via FTP.
  3. Activate the plugin through the Plugins menu.
  4. Follow steps 4–5 above.

FAQ

Will this plugin break my site?

The safest action — disabling autoload — is non-destructive. The option
remains in your database and can still be loaded on demand. Deleting an
option is permanent, so only do that for options you’re confident are no
longer needed (e.g., from plugins you’ve already removed). Always back up
your database before making bulk changes.

Can I undo changes?

Disabling autoload can be reversed from the “All Options” tab. Deleting
an option is permanent. If you need it back, you’ll need to restore from
a database backup.

How long should I wait before optimizing?

A few days of normal browsing is usually enough. If you have a lot of
visitors, a few hours might even suffice. The goal is to visit every major
page on your site (front end and admin) so the plugin can record which
options are actually used. If you’re thorough, you can start optimizing
sooner.

Does this work with WordPress multisite?

The plugin currently targets single-site installations. Multisite
compatibility has not been officially tested.

How do I know which options are safe to remove?

The plugin identifies the source of each option (which plugin, theme, or
WordPress core). If an option belongs to a plugin you’ve already
deactivated and removed, it’s generally safe to delete. When in doubt,
disable autoloading instead of deleting — it’s the safer choice.

Moet ik voorzorgsmaatregelen nemen?

Yes, always back up your database before optimizing. Disabling autoload
is safe and reversible, but deleting options is permanent.

Why are some option names not tracked?

Names that can’t be real options are ignored: empty names and names longer
than 191 characters. Developers can exclude more names with the
aaa_option_optimizer_is_trackable_option_name filter, which receives
whether the name should be tracked and the option name. Keep in mind that
an autoloaded option excluded this way will be listed as unused. The 191
character limit can’t be changed.

Waar kan ik bugs rapporteren?

Please use the GitHub repository
for bug reports and code suggestions. The WordPress.org support forum
works too for general questions.

Hoe kan ik beveiligingsproblemen rapporteren?

Through the Patchstack Vulnerability Disclosure Program. The Patchstack
team validates, triages, and handles all security reports.
Report a security vulnerability here.

How can I add my plugin to the known-plugins list?

Submit a pull request on GitHub to
known-plugins.json.

Beoordelingen

10 december 2025 4 reacties
The plugin was great for short term use to figure out unused options from old plugins after clicking through each page. It really helped to reduce autoloaded options.When letting it run along for a while as suggested, though, it seems that its database saves were so large it caused our database to use up all the RAM and make our site unusable. So beware of that and only use it for a few days.Edit: The Developer reached out immediately and is working on the issue. Great support!
30 augustus 2025
Allows you to clean up the options on sites with a long history of themes and plugins installations.Very useful.
29 augustus 2025
Under "Requested options that do not exist", I'm not sure to trust setting these to false. Is there a way to revert any actions I take. How do I know if these actions are actually needed or do I just trust this plugin's assessment that they are basically broken and so can be set to false? SOME EXAMPLES: Option: advancedexcerpt_length | Source: Unknown | # Calls: 904564Option: analyst_accounts_data | Source: Unknown | # Calls: 24907Option: analyst_notices | Source: Unknown | # Calls: 24907Option: code_embed_version | Source: Unknown | # Calls: 904564Option: https_migration_required | Source: Unknown | # Calls: 904564 Thanks for your help
31 juli 2025
I wonder how on earth a plugin tha promises to optimize the wp_options tables, stores 25MB of data in the option_value !!!! Maybe the guy who developed it does not understand the fundamentals of the internal database optimizers but such a huge deviation, totally ruins MariaDBs/MySQL internal optimizer. You see optimizers work on the assumption that in a table, the fields have somewhat related sizes. For more details please go to MariaDB Jira and check for cases MDEV-34097 and MDEV 32663If you add records with huge sizes (say > 100k) in wp_options table where each option is usually less than 30Bytes, then you have an issue. In our case the issue was caused by the very plugin that we used to monitor our options (that are by and large incorrect). Avoid it at all costs.
10 juli 2025 1 reactie
Easily identified what was bloating my options table and allowed to set it to not autoload. Thank you!
Lees alle 25 beoordelingen

Bijdragers & ontwikkelaars

“AAA Autoload Optimizer” is open source software. De volgende personen hebben bijgedragen aan deze plugin.

Bijdragers

“AAA Autoload Optimizer” is vertaald in 7 localen. Dank voor de vertalers voor hun bijdragen.

Vertaal “AAA Autoload Optimizer” in je eigen taal.

Interesse in ontwikkeling?

Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.

Changelog

1.7.1

Security:

  • Hardened the escaping of option data in the admin screens
    (CVE-2026-119211).

Bug fixes:

  • Fix the autoload toggle and delete button not updating rows when the
    table columns are collapsed on smaller screens.
  • Fix tables on hidden tabs not fitting their panel.
  • Show the correct autoload button for options with the “off” and
    “auto-off” autoload values.
  • Fix bulk delete for option names that contain a dot.
  • Fix duplicate element ids when the same option appears in more than
    one table.

Verbeteringen:

  • Add the aaa_option_optimizer_is_trackable_option_name filter to
    exclude option names from tracking.

1.7.0

  • Rename the plugin to AAA Autoload Optimizer.
  • Fix database deadlocks when concurrent requests write tracked options.
  • Fix a fatal error when W3 Total Cache’s database cache is active.
  • Readme improvements.

1.6.1

  • Fix infinite recursion in option access monitoring that could cause a
    fatal error in certain hosting environments.

1.6.0

  • Het gebruik van het filter ‘all’ voor het monitoren van optiegebruik vervangen door het filter ‘pre_option’ voor betere prestaties.
  • Gegevens van bijgehouden opties migreren van een enkelvoudige wp_option naar een aangepaste databasetabel voor betere prestaties en betrouwbaarheid.

1.5.1

  • Selectievakje “alles selecteren” toevoegen.
  • Oplossing tabel filteren op kolom bron.

1.5.0

  • Geef de Datatables script slug als voorvoegsel om conflicten met andere plugins te voorkomen.
  • MainWP toevoegen aan lijst met bekende plugins
  • SliceWP toevoegen aan lijst met bekende plugins
  • Meer bekende voorvoegsels toevoegen voor WooCommerce opties
  • Bug in bulk-acties opgelost

1.4.0

  • Prestatieverbeteringen.
  • Er zijn bulkacties toegevoegd waarmee je opties in bulk kunt optimaliseren en verwijderen.
  • Meer bekende plugins toegevoegd.

1.3.2

  • Prestatie oplossing: plugin optie niet automatisch laden.

1.3.1

  • Oplossing JS fout tijdens het verwijderen van een optie.

1.3

  • Zorg dat de plugin werkt met de nieuwste wijzigingen voor autoload.

1.2.1

  • Los fout in known-plugins.json op.
  • Fatale fout voorkomen als er een fout staat in known-plugins.json.

1.2

Verbeteringen:

  • Revisie van de UX, implementatie van goede tabs, betere knoppen en meer.
  • Een nieuwe tab “Alle opties” toegevoegd, dat, wanneer je op de knop klikt, alle opties uit de database laadt en je deze laat beheren.
  • Een knop “Gegevens resetten” toegevoegd waarmee de volggegevens worden gereset.
  • Een link toegevoegd naar de Optimaliseer opties pagina vanaf de plugin pagina.
  • Sterk verbeterde herkenning van WordPress core-opties, thema’s en plugins onder “Bron”, mede dankzij aanvragen van
    Rogier Lankhorst
    en system4pc.
  • Je kunt nu ook alle tabellen op bron filteren, zodat je gemakkelijker de opties kunt vinden die je zoekt.
  • Veel code- en snelheidsverbeteringen onder de motorkap, waaronder het toevoegen van een klasse-autoloader en enkele i18n-oplossingen.

1.1.1

De ontbrekende functionaliteit implementeren om een optie met de waarde false te maken wanneer deze wordt geladen maar niet bestaat.

1.1

De plugin herkent nu plugins waar de opties vandaan komen (dankzij een geweldige pull van
Rogier Lankhorst ).
Als je een pluginontwikkelaar bent en wil dat de opties van je plugin correct worden herkend, dien dan een aanvraag in voor
dit bestand.

Kleine verbeteringen:

  • De kolombreedte wordt nu automatisch bepaald, wat leidt tot betere tussenruimte.
  • Actieknoppen staan nu gecentreerd in hun kolommen.

Bugs opgelost:

  • Als je autoload van een optie verwijderde of een optie verwijderde, werd deze uit de tabel verwijderd, maar kwam deze terug wanneer je door pagina’s bladerde. Dat is opgelost – dank aan
    Jono Alderson
    voor het melden.
  • Sorteren op bestandsgrootte opgelost door de KB naar de koptekst van de tabel te verplaatsen, zodat je getallen nu correct kunt sorteren.
  • Probleem opgelost waarbij een lege optie zou resulteren in een vreemde grootte uitvoer.

1.0.2

  • Opgelost een bug waarbij de knoppen niet werkten in een gepagineerde status.
  • De waarde van een optie in een popover weergeven, zoals voorgesteld in een geweldige aanvraag van
    @rogierlankhorst.

1.0.1

Een fout opgelost met waarden die objecten zijn, geen strings, waardoor sorteren voor sommige mensen ook niet werkte.

1.0

Eerste release op GitHub en WordPress.org.