So bereinigst du deine wp_options-Tabelle und die automatisch geladenen Daten
Veröffentlicht
Januar 28, 2019
Aktualisiert
September 21, 2023
Heute werfen wir einen Blick auf das Verzeichnis wp_options in deiner WordPress-Database. Dieser eine Bereich wird auch oft übersehen, wenn es um die gesamte WordPress- und Databaseleistung geht. Vor allem auf älteren und großen Websites kann dies die Ursache für langsame Abfragezeiten auf deiner Website sein, da automatisch geladene Daten von Plugins und Themes von Drittanbietern zurückgelassen werden. In den folgenden Tipps erfährst du, wie du das Verzeichnis wp_options überprüfst, behebst und bereinigst.
Was ist das wp_options-Verzeichnis?
Das wp_options-Verzeichnis enthält alle Arten von Daten für deine WordPress-Seite, wie zum Beispiel:
Site – URL, Home – URL, Admin – E – Mail, Standardkategorie, Beiträge pro Seite, Zeitformat usw.
Das Verzeichnis enthält die folgenden Felder, von denen eines mehr Wert auf Leistung legt:
option_id
option_name
option_value
autoload
Das Wichtigste, was es über das Verzeichnis wp_options zu verstehen gibt, ist das Feld autoload. Dieses enthält einen Ja- oder Nein-Wert (Flag). Dies steuert im Wesentlichen, ob es von der Funktion wp_load_alloptions () geladen wird oder nicht. Automatisch geladene Daten sind Daten, die auf jeder Seite deiner WordPress-Seite geladen werden. Genauso wie wir dir gezeigt haben, wie du vom Laden der Seite aus bestimmte Skripte deaktivieren kannst, gilt hier dieselbe Idee. Das Autoload-Attribut ist für Entwickler standardmäßig auf „Ja“ gesetzt, aber nicht jedes Plugin sollte theoretisch seine Daten auf jeder Seite laden.
Das Problem, das auf dem WordPress-Seiten auftreten kann, ist, wenn sich in dem Verzeichnis wp_options eine große Menge automatisch geladener Daten befindet. Dies ist normalerweise ein Ergebnis vom folgenden:
Daten werden von einem Plugin automatisch geladen, wenn sie eigentlich auf „Nein“ gesetzt werden sollten. Ein gutes Beispiel dafür wäre ein Kontaktformular-Plugin. Müssen Daten auf jeder Seite oder nur auf der Kontaktseite geladen werden?
Plugins oder Themes wurden von der WordPress-Seite entfernt, ihre Optionen bleiben jedoch in dem Verzeichnis wp_options zurück. Dies kann bedeuten, dass bei jeder Anforderung unnötige automatisch geladene Daten abgefragt werden.
Entwickler von Plugins und Themes laden Daten in das Verzeichnis wp_options, anstatt ihre eigenen Verzeichnisse zu verwenden. Für beide Seiten gibt es Argumente, da einige Entwickler Plugins bevorzugen, die keine zusätzlichen Verzeichnisse erstellen. Das Verzeichnis wp_options sollte jedoch nicht Tausende von Zeilen enthalten.
Wie viel sind zu viele automatisch geladene Daten? Das kann natürlich variieren, aber im Idealfall solltest du zwischen 300 KB und 1 MB liegen. Sobald du dich dem Bereich von 3-5 MB oder mehr näherst, können höchstwahrscheinlich Dinge optimiert oder vom automatischen Laden ausgeschlossen werden. Alles, was über 10 MB liegt, sollte sofort angesprochen werden. Dies bedeutet nicht immer, dass dies ein Problem verursachen wird, aber es ist ein guter Anfang.
Fehlerbehebung für automatisch geladene Daten in dem Verzeichnis wp_options
Wenn auf deiner WordPress-Seite Langsamkeit auftritt, kann dies an einer Abfrage oder automatisch geladenen Daten liegen, die von einem alten WordPress-Plugin zurückgelassen wurden. Nachfolgend zeigen wir dir, wie du die automatisch geladene Größe in deiner Database überprüfst, in die Daten einer Live-Seite eintauchen und mitteilen, was wir zur Bereinigung getan haben.
Überprüfe die Größe der automatisch geladenen Daten
Als erstes musst du die aktuelle automatisch geladene Größe auf deiner WordPress-Seite überprüfen. Dazu meldest du dich bei phpMyAdmin an. Klicke links auf deine Database und dann auf die Registerkarte SQL. Gib dann den folgenden Befehl ein und drücke „Go“.
SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';
Möglicherweise musst du die Abfrage oben optimieren, wenn deine WordPress-Seite ein anderes Präfix als wp_ verwendet.
Die autoload_size wird in Bytes zurückgegeben. Es gibt 1024 Byte in einem KB und 1024 KB in einem MB. In unserem Fall entsprechen also 249.025 Bytes 0,25 MB. Also für diese Seite ist dies eine gute Größe! Wenn du weniger als 1 MB zurückbekommst, solltest du dir keine Sorgen machen. Wenn das Ergebnis jedoch viel größer war, fahre mit diesem Tutorial fort.
Im Folgenden haben wir eine Website getestet, in der 137.724.715 Bytes zurückgegeben wurden bzw. 137 MB. Dies ist ein gutes Beispiel für eine Website, auf der etwas definitiv nicht stimmt oder es gibt Dinge, die optimiert werden müssen.
Du kannst auch eine längere Abfrage wie die folgende verwenden. Daraufhin werden die automatisch geladenen Daten, die Anzahl der Einträge in dem Verzeichnis und die ersten 10 Einträge nach Größe angezeigt.
SELECT 'autoloaded data in KiB' as name, ROUND(SUM(LENGTH(option_value))/ 1024) as value FROM wp_options WHERE autoload='yes'
UNION
SELECT 'autoloaded data count', count(*) FROM wp_options WHERE autoload='yes'
UNION
(SELECT option_name, length(option_value) FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC LIMIT 10)
Wenn du Zugriff auf New Relic (Lizenz erforderlich) hast, kannst du es auch zur Problembehandlung von Abfragen verwenden, die mit dem Verzeichnis wp_options verbunden sind. Die Registerkarte „Database“ zeigt das Verzeichnis und den Typ der Abfrage an, welche die meiste Zeit in Anspruch nimmt. Wenn du einen der Einträge in der Liste auswählst, werden weitere Details einschließlich einiger Beispielabfragen angezeigt. In diesem Beispiel unten siehst du, dass die Daten mit dem Finger auf die automatisch geladenen Daten im Verzeichnis wp_options zeigen. Eine schnelle Analyse der fraglichen Website bestätigte fast 250 MB automatisch geladenen Daten.