Autoload-Ballast, kurz erklärt
Autoloaded Daten sind alle Zeilen in wp_options, die als automatisch zu laden markiert sind –
'yes' in älteren Installationen und seit WordPress 6.6 auch 'on',
'auto' oder 'auto-on'. WordPress zieht das alles bei jedem einzelnen Request in den Speicher –
Frontend, Backend, REST, Cron – bevor der Großteil Ihres Codes läuft. Plugins packen auf diesen
Stapel drauf und räumen selten hinter sich auf; wächst er über rund 800 KB, bezahlt jeder Request
auf Ihrer Site diese Verschwendung. Und nein, das ist nicht der PHP-Klassen-Autoloader – Composer
und spl_autoload_register() leben in Ihrem Code, nicht in Ihrer Datenbank.
Diese Seite dokumentiert das Modul Autoloader Optimizer in WP Multitool –
wie es jede autoloaded Option klassifiziert, sie ihrem Plugin zuordnet und autoload
nur dort abschaltet, wo das nachweislich sicher ist. Wenn Sie die komplette Eigenbau-Anleitung
suchen – Begriffe, gesunde Schwellenwerte, die Prüf-Queries, die WP-Engine-Warnung und welche
Optionen man von Hand abschalten kann –, steht das alles in einem Guide:
Autoload-Ballast in WordPress: autoloaded
Daten prüfen und beheben.
Alles Weitere unten ist das Modul selbst: die sechs Kategorien der Zustandsprüfung, die Plugin-Erkennung, der Lernmodus, die Sicherheitsnetze und welche Ergebnisse Sie erwarten können.
So arbeitet der Autoloader Optimizer
Der Autoloader Optimizer analysiert die autoloaded Optionen Ihrer Site und empfiehlt sichere Optimierungen. Er ordnet jede Option einer Kategorie zu, ermittelt Kandidaten für die Optimierung und stellt eine Wiederherstellung bereit, falls doch etwas schiefgeht.
- Zustandsprüfung — Untersucht jede autoloaded Option und ordnet sie einer von sechs Kategorien zu
- Plugin-Erkennung — Nutzt WordPress-Metadaten (TextDomain + Ordnername), um Optionen mit hoher Treffsicherheit Plugins zuzuordnen
- Lernmodus — Optionaler Beobachtungszeitraum, der vor jeder Änderung erfasst, welche Optionen tatsächlich gelesen werden
- Optimierung — Legt ein Backup an und schaltet dann Autoload bei den markierten Kandidaten ab. Es werden nie Daten gelöscht.
Schritt 1: Zustandsprüfung — die sechs Kategorien
Die Zustandsprüfung untersucht jede autoloaded Option in Ihrer wp_options-Tabelle und ordnet
jede einzelne einer von sechs Kategorien zu.
1. Sichere Optionen
Das sind WordPress-Core-Optionen, die nie angefasst werden dürfen. Sie werden gegen eine gepflegte
Liste sicherer Optionen abgeglichen, die Site-Metadaten (siteurl, home,
blogname), Leseeinstellungen, Plugin-/Theme-Einträge (active_plugins,
template, stylesheet) und Core-Caches (alloptions,
notoptions) enthält. Diese werden nie zur Optimierung vorgeschlagen.
2. Optionen aktiver Plugins
Jede Option, deren Präfix zu einem derzeit aktiven Plugin passt, gilt als unbedingt autoloaded zu halten.
Das Modul nutzt get_option('active_plugins') von WordPress, um zu ermitteln, welche
Plugins laufen, und ordnet dann Optionspräfixe diesen Plugins zu.
Beispiel: Das Plugin wordpress-seo ist aktiv. Jede Option, die mit
wordpress_seo_ oder wpseo_ beginnt, wird als zu einem aktiven Plugin
gehörend markiert und geschützt.
3. Optionen inaktiver Plugins (Optimierungskandidaten)
Das sind Optionen, deren Präfix zu einem installierten, aber deaktivierten Plugin passt. Da das Plugin nicht läuft, erfüllen diese Optionen keinen Zweck, und ihr Autoload-Flag kann gefahrlos abgeschaltet werden.
Beispiel: Sie haben Elementor installiert, eine Weile benutzt und dann deaktiviert. Die Optionen mit dem
Präfix elementor_ bleiben in Ihrer Datenbank und werden weiterhin bei jedem Request
geladen. Der Autoloader Optimizer erkennt sie und empfiehlt, deren Autoload abzuschalten.
4. Übergroße Optionen
Einzelne Optionswerte über 10 KB werden markiert, unabhängig von Herkunft und Aktivitätsstatus. Große serialisierte Arrays oder gecachte Daten, die bei jedem Request geladen werden, sind ein offensichtlicher Performance-Fresser. Typische Übeltäter sind Cron-Zeitpläne, Widget-Konfigurationen von Page Buildern, als Optionen gespeicherte Transients und gecachte API-Antworten.
5. Ballast-Muster
Bestimmte Optionspräfixe sind bekannte Anzeichen für Daten, die niemals autoloaded sein sollten. Das Modul pflegt eine kuratierte Liste dieser Muster. Sie gelten unabhängig davon, ob das zugehörige Plugin gerade aktiv ist oder nicht — die Analyse prüft zuerst auf Ballast, bevor der Aktivitätsstatus des Plugins berücksichtigt wird.
| Muster | Quelle | Warum es nicht autoloaded sein sollte |
|---|---|---|
action_scheduler_* |
Action Scheduler von WooCommerce | Daten der Job-Warteschlange, bei jedem Request unnötig |
wc_tracks_* |
WooCommerce | Telemetrie- und Analytics-Daten |
elementor_* |
Elementor | Builder-Caches und temporäre Daten |
_jetpack_* |
Jetpack | Gecachte Sync- und Moduldaten |
wpseo_* / aioseo_* |
Yoast SEO / AIOSEO (SEO-Plugins) | Temporäre und gecachte Daten von SEO-Plugins |
rank_math_* |
Rank Math | Modul-Caches und Analytics |
6. Unbekannte Optionen
Jede Option, die weder zu einem WordPress-Core-Präfix noch zum Präfix eines aktiven oder inaktiven Plugins noch zu einem bekannten Ballast-Muster passt, landet in der Kategorie „Unbekannt". Das können Optionen Ihres aktiven Themes sein, von Must-Use-Plugins, aus eigenem Code oder von gelöschten Plugins, die sich nicht an die üblichen Namenskonventionen gehalten haben.
Der Autoloader Optimizer optimiert unbekannte Optionen nie automatisch. Wir zeigen sie zur Information an, fassen aber nichts an, was wir nicht überprüfen können. Sie können sie selbst untersuchen und von Hand optimieren, wenn Sie sicher sind, dass es unbedenklich ist.
Schritt 2: Plugin-Erkennung — wie Präfixe funktionieren
Der schwierigste Teil der Optionsanalyse ist, korrekt zu bestimmen, welches Plugin welche Option angelegt hat.
Das Modul nutzt die get_plugins()-API von WordPress, um alle installierten Plugins mit
ihren vollständigen Metadaten inklusive TextDomain abzurufen.
Präfixe erzeugen
Für jedes Plugin erzeugen wir mehrere mögliche Präfixe:
- Präfix aus dem Ordnernamen — Der Plugin-Ordnername mit Unterstrichen (aus
advanced-cachingwird z. B.advanced_caching_) - Präfix aus der TextDomain — Die deklarierte TextDomain des Plugins, sofern sie vom Ordnernamen abweicht
Dieser doppelte Präfix-Ansatz deckt die üblichen WordPress-Namensmuster ab, bei denen der Ordner Bindestriche und die TextDomain Unterstriche verwendet – oder umgekehrt.
Vor v1.1.18: das Präfix-Problem
Frühere Versionen erzeugten Präfixe nur aus Ordnernamen und bildeten daraus per Konvention kurze Abkürzungen.
Fluent Forms (Ordner: fluentform) wurde zum Beispiel womöglich zu ff_
abgekürzt — einer Abkürzung, die viele andere Plugins ebenfalls benutzen. Das war eine
Hauptquelle falscher Treffer und konnte Plugins beschädigen, wenn das Modul Optionen aktiver
Plugins fälschlich für verwaist hielt.
Ab v1.1.18: Erkennung über die TextDomain
Die aktuelle Umsetzung löst das so:
- Sie liest die vollständigen Plugin-Metadaten inklusive der im Plugin-Header deklarierten TextDomain
- Sie erzeugt Präfixe aus Ordnername und TextDomain
- Sie prüft den Aktivitätsstatus gegen die offizielle
active_plugins-Liste von WordPress - Sie stuft eine Option nur dann als „inaktives Plugin" ein, wenn wir sehr sicher sind, dass das Plugin wirklich inaktiv ist
Das reduziert falsche Treffer drastisch. Wir erkennen jetzt korrekt, dass Yoast SEO (Ordner:
wordpress-seo, TextDomain: wordpress-seo) zu den Varianten
wordpress_seo_, wordpress-seo_ und wpseo_ passt, indem wir
die Plugin-Header auswerten. Ergebnis: Wir markieren Optionen aktiver Plugins so gut wie nie
versehentlich als verwaist.
Schritt 3: Lernmodus (optionale Tiefenanalyse)
Für fortgeschrittene Anwender, die datengestützte Optimierungsempfehlungen wollen, bietet das Modul einen optionalen Lernmodus:
- Beobachtungszeitraum — Das Modul läuft für einen einstellbaren Zeitraum im Beobachtungsmodus (Standard: 7 Tage)
- Zugriffsmuster — Das Modul protokolliert, welche Optionen bei Backend- und Frontend-Requests tatsächlich gelesen werden
- Häufigkeitsanalyse — Erfasst, wie oft auf jede Option zugegriffen wird
- Größengewichtete Bewertung — Kombiniert Häufigkeit und Optionsgröße zur Optimierungspriorität
- Empfehlungen — Optionen, auf die nie zugegriffen wird und die groß sind, haben die höchste Priorität
Das ist besonders nützlich bei Sites mit komplexen, individuellen Setups, bei denen Sie sich vor Änderungen sehr sicher sein wollen.
Schritt 4: Optimierung
Sobald Sie die Analyse geprüft und Kandidaten ausgewählt haben, führt das Modul die Optimierung durch:
- Backup anlegen — Ein vollständiges Backup der Optionstabelle wird erstellt und als Option in der Datenbank gespeichert
- Autoload-Flag ändern — Für jeden ausgewählten Kandidaten wird die Spalte
autoloadvon'yes'auf'no'gesetzt - Kontrolle — Das Modul zeigt eine Zusammenfassung der Änderungen
- Überwachung — Nach der Optimierung können Sie beobachten, ob die Site weiterhin korrekt funktioniert
Die Optionen bleiben in Ihrer Datenbank. Sie werden nur nicht mehr bei jedem Request in den Speicher geladen. Fragt ein Plugin sie an, lädt WordPress sie bei Bedarf mit einer separaten Query nach. Für diesen einzelnen Request entstehen dadurch minimale Kosten, die aber weit von der Ersparnis aufgewogen werden, sie nicht bei jedem Request zu laden.
Kategorienübersicht
Kurzübersicht über die wichtigsten Optimierungskategorien:
| Kategorie | Was sie bedeutet | Aktion | Risikostufe |
|---|---|---|---|
| Inaktives Plugin | Plugin ist installiert, aber deaktiviert. Die Optionen sind vorhanden, werden aber nicht genutzt. | Autoload abschalten | Sehr gering — das Plugin läuft nicht |
| Übergroß | Einzelner Optionswert >10 KB, der bei jedem Request geladen wird | Autoload abschalten | Gering — die Option bleibt bei Bedarf verfügbar |
| Ballast-Muster | Bekannte Cache-/Tracker-Präfixe, die nicht autoloaded sein sollten | Autoload abschalten | Sehr gering — die Muster sind gut verstanden |
| Unbekannt | Unbekannte Herkunft — Theme, gelöschtes Plugin oder eigener Code | Keine (nur zur Information) | Entfällt — wir fassen nichts an, was wir nicht zuordnen können |
Sicherheitsvorkehrungen
Der Autoloader Optimizer ist mit mehreren Sicherheitsebenen gebaut:
Liste sicherer Optionen
Eine gepflegte Liste von WordPress-Core-Optionen, die nie zur Optimierung vorgeschlagen werden. Das schützt zentrale WordPress-Funktionen unabhängig von Größe und Herkunft.
Plugin-Zuordnung über Präfixe
Nutzt die offiziellen Plugin-Metadaten von WordPress (TextDomain, Ordnername), um zu bestimmen, welches Plugin
welche Option besitzt. Der Abgleich mit der offiziellen active_plugins-Liste verhindert falsche
Treffer.
Vorsichtige Einordnung
Besteht auch nur ein Zweifel an Herkunft oder Unbedenklichkeit einer Option, landet sie in der Kategorie „Unbekannt", statt zur automatischen Optimierung markiert zu werden.
Backup vor der Optimierung
Vor jeder Änderung wird ein vollständiger Snapshot aller Autoload-Optionen erstellt und in der Datenbank gespeichert.
Wiederherstellung per Klick
Falls etwas schiefgeht, spielen Sie das Backup mit einem einzigen Klick zurück. Alle Autoload-Einstellungen kehren in ihren vorherigen Zustand zurück.
Filter-Hook für Entwickler
Entwickler können eigene Optionen anmelden, deren Autoload nie abgeschaltet werden darf. Nutzen Sie den Filter
wpmultitool_autoload_candidates, um die Kandidatenliste zu ändern, bevor die Optimierung
angewendet wird:
add_filter('wpmultitool_autoload_candidates', function($analysis) {
// Protect specific options from being optimized
$analysis['candidates'] = array_diff($analysis['candidates'], [
'my_critical_option',
'another_important_one',
]);
return $analysis;
});
Selbst wenn eine Option zu einem Ballast-Muster passt oder von einem inaktiven Plugin stammt, können Sie sie über den Filter von der Optimierung ausnehmen.
Daten bleiben erhalten
Optionen werden nie gelöscht. Geändert wird ausschließlich das Autoload-Flag. Die Daten bleiben für Plugins und Code, die sie anfordern, vollständig verfügbar.
Hooks für Entwickler
wpmultitool_autoload_candidates
Der Filter wpmultitool_autoload_candidates wird aufgerufen, bevor die Optimierung angewendet wird.
Er bekommt das vollständige Analyse-Array und muss die geänderte Analyse zurückgeben:
add_filter('wpmultitool_autoload_candidates', function($analysis) {
// Structure of $analysis:
// 'candidates' => array of option names flagged for optimization
// 'safe' => array of protected core options
// 'active_plugins' => array of active plugin prefixes
// 'inactive_plugins'=> array of inactive plugin prefixes
// 'oversized' => array of large options
// 'bloat_patterns' => array of matched bloat options
// Example: Protect a specific option
if (in_array('my_custom_option', $analysis['candidates'])) {
$analysis['candidates'] = array_diff(
$analysis['candidates'],
['my_custom_option']
);
}
return $analysis;
});
Überwachung und Fehlersuche
Nach der Optimierung: worauf Sie achten sollten
- Ladezeiten — Messen Sie vorher/nachher mit Google PageSpeed oder WebPageTest
- Datenbank-Queries — Prüfen Sie Ihr Slow-Query-Log auf neue langsame Queries
- Funktionalität — Testen Sie kritische Abläufe (Checkout, Formulare, Backend-Aktionen)
- Fehlerprotokolle — Behalten Sie
wp-content/debug.logauf neue Warnungen oder Fehler im Auge
Falls etwas kaputtgeht
- Gehen Sie zu WP Multitool → Autoloader Optimizer → Status
- Klicken Sie auf „Backup wiederherstellen"
- Alle Autoload-Flags kehren in ihren vorherigen Zustand zurück
- Finden Sie heraus, welche Optimierung das Problem verursacht hat
- Schützen Sie diese eine Option über den Filter-Hook für Entwickler
- Wenden Sie die Optimierungen erneut an – ohne die problematische Option
Ihre Autoload-Größe messen
-- Before optimization (check current autoloaded size)
SELECT SUM(CHAR_LENGTH(option_value)) AS autoload_bytes
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto', 'auto-on');
-- After optimization (verify the reduction)
SELECT SUM(CHAR_LENGTH(option_value)) AS autoload_bytes
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto', 'auto-on');
Auswirkung auf die Performance
Was sich ändert
- Besser — Die meisten Requests laden und parsen beim Bootstrap weniger Daten
- Besser — Geringerer Speicherverbrauch während der Request-Verarbeitung
- Etwas langsamer (einzelne Requests) — Requests, die auf nicht autoloaded Optionen zugreifen, lösen für diese eine Option eine zusätzliche Datenbank-Query aus
Was gleich bleibt
- Die Funktion der Site — die Optionen bleiben verfügbar
- Die Datenbankstruktur — es wird nichts gelöscht
- Die Plugin-Kompatibilität — Plugins arbeiten wie gewohnt
Typische Ergebnisse
Die Ergebnisse hängen davon ab, wie aufgebläht Ihre Optionstabelle vorher war. Sites mit jahrelanger Plugin-Historie und deaktivierten Plugins gewinnen am meisten.
Realistische Einsparung nach Site-Typ
| Site-Typ | Erwartete Reduktion | Tägliche Wirkung (1.000 Requests/Tag) |
|---|---|---|
| Typisch (8–12 Plugins) | 100–300 KB pro Request | 100–300 MB Datenbanklast |
| WooCommerce (15–20 Plugins) | 500 KB–2 MB pro Request | 500 MB–2 GB Datenbanklast |
| Stark aufgebläht (30+ Plugins) | 2–5 MB+ pro Request | 2–5 GB+ Datenbanklast |
Häufige Fragen
- Was sind autoloaded Daten in WordPress?
-
Autoloaded Daten sind alle Zeilen in der Tabelle
wp_options, die als automatisch zu laden markiert sind –'yes'in älteren Installationen und seit WordPress 6.6 auch'on','auto'oder'auto-on'. WordPress lädt das alles bei jedem Request in den Speicher – Frontend, Backend, REST, Cron –, ob die aufgerufene Seite es braucht oder nicht. Gesund ist eine Summe unter rund 800 KB–1 MB; dass sie darüber wächst, liegt meist an Plugins, die nicht hinter sich aufräumen. Es ist nicht der PHP-Klassen-Autoloader (Composer / SPL). - Ist es unbedenklich, autoload auf 'no' zu setzen?
-
Bei den richtigen Optionen ja – und es ist deutlich sicherer als Löschen. Autoload auf
'no'zu setzen belässt die Daten in der Datenbank; WordPress lädt sie dann bei Bedarf statt bei jedem Request, und die Änderung ist vollständig umkehrbar. Riskant wird es bei Optionen, die ein aktives Plugin früh im Request liest (Firewall-Konfiguration,rewrite_rules,cron). Prüfen Sie also vorher, wozu jede Option gehört – verwaiste Optionen entfernter Plugins sind die sicheren Gewinne. - Was bedeutet die Warnung „autoloaded data" bei WP Engine?
-
Das User Portal von WP Engine meldet Ihre Site, sobald die Gesamtgröße der autoloaded Optionen in
wp_optionszu groß wird – empfohlen wird, ungefähr unter 1 MB zu bleiben, weil alles darüber bei jedem Request geladen wird. Die Warnung ist reine Diagnose: WP Engine nennt Ihnen die Zahl, das Prüfen und Beheben der auffälligen Optionen bleibt Ihnen überlassen. Dieselben Kosten entstehen bei jedem Hoster – WP Engine ist nur einer der wenigen, der sie im Dashboard zeigt. - Kann das meine Site beschädigen?
- Nein. Der Autoloader Optimizer ändert nur das Autoload-Flag und löscht nie Daten. Fragt ein Plugin oder der WordPress-Core eine nicht mehr autoloaded Option an, lädt WordPress sie weiterhin aus der Datenbank — sie wird nur nicht mehr bei jedem einzelnen Request geladen. Außerdem wird vor der Optimierung ein vollständiges Backup angelegt, das Sie bei Überraschungen per Klick zurückspielen können.
- Warum werden unbekannte Optionen nicht automatisch optimiert?
-
Weil wir ihre Herkunft nicht überprüfen können. Es könnten Optionen Ihres aktiven Themes sein (das
eigene Präfixe verwendet), Optionen eines Must-Use-Plugins in
/wp-content/mu-plugins/, eigene Optionen aus Ihrem Code oder Optionen eines Plugins mit unüblicher Benennung. Unbekannte Optionen automatisch zu optimieren hieße zu riskieren, Funktionen zu zerstören, die wir nicht vollständig verstehen. Wir zeigen sie Ihnen stattdessen zur Prüfung an. - Was ist mit Plugins, die unübliche Präfixe verwenden?
- Seit v1.1.18 erzeugen wir zusätzliche Präfixe aus der TextDomain im Plugin-Header, was die meisten unüblichen Benennungen abdeckt. Manche Plugins verwenden allerdings Präfixe, die nichts mit ihrem Namen zu tun haben (etwa eigene Abkürzungen in altem Code). Für diese Fälle können Sie die Optionen über den Filter-Hook für Entwickler schützen oder sich die Option ansehen und selbst entscheiden.
- Warum legt das Plugin Optionen für Funktionen an, die ich nicht benutze?
- Die meisten WordPress-Plugins legen bei der Installation sämtliche Optionsschlüssel an, unabhängig davon, welche Funktionen Sie aktivieren. Das ist einfacher, als jedes Mal zu prüfen, ob eine Funktion aktiv ist. Der Autoloader Optimizer entschärft das, indem er Optionen deaktivierter Plugins oder ungenutzter Funktionen nicht mehr autoloaded lässt.
- Wie viel lässt sich realistisch sparen?
- Das hängt vom Plugin-Ökosystem Ihrer Site ab. Eine typische Site mit 8–12 Plugins kann mit 100–300 KB weniger pro Request rechnen. Eine WooCommerce-Site mit 15–20 Plugins kommt auf 500 KB–2 MB. Eine stark aufgeblähte Site mit über 30 Plugins und jahrelanger Historie schafft 2–5 MB+ pro Request.
- Was passiert, wenn ein Plugin wieder aktiviert wird, nachdem ich Autoload für seine Optionen abgeschaltet habe?
- Die Optionen funktionieren weiterhin normal. WordPress lädt sie bei Bedarf, sobald das Plugin sie anfordert. Wenn Sie sie wieder autoloaded haben wollen, können Sie mit „Backup wiederherstellen" alle Änderungen zurücknehmen oder Autoload für einzelne Optionen direkt in der Datenbank wieder einschalten.
- Betrifft das Transients oder Cron-Ereignisse?
-
Transients und Cron-Zeitpläne in
wp_optionssind Kandidaten für die Optimierung, werden aber typischerweise nur bei Bedarf gelesen. Das Modul markiert große Einträge zur Prüfung. Über den Filter-Hook für Entwickler können Sie sie schützen, wenn sie unangetastet bleiben sollen.
Fangen Sie an, Ihre autoloaded Optionen zu optimieren
Der Autoloader Optimizer von WP Multitool überwacht Ihre wp_options-Tabelle, erkennt
aufgeblähte und verwaiste autoloaded Daten und zeigt Ihnen genau, was gefahrlos aufgeräumt werden kann —
mit vollständigem Backup und Wiederherstellung per Klick.