WordPress schneller machen: Tabelle „wp_options“ aufräumen
Die Tabelle „wp_options“ wird bei Aufräumarbeiten oft übersehen. 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.
Auf dieser Seite erfährst du, wie du die Tabelle „wp_options“ überprüfst und bereinigst und deine WordPress Website zu beschleunigen.
Was ist die „wp_options“ Tabelle?
Die „wp_options“ Tabelle 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
- Einstellungen für Plugins, Themes, Widgets
- Vorübergehend zwischengespeicherte Daten
Aufbau
Das Verzeichnis enthält die folgenden Felder:
- option_id
- option_name
- option_value
- autoload
Das Feld ist „autoload“
Das Wichtigste Feld ist „autoload“. Das Feld enthält ein Flag, welches die Funktion
„wp_load_alloptions ()“ steuert, die automatisch Dateien bei jedem Aufruf einer WordPress Webseite lädt.
Darum sollte „wp_options“ bereinigt werden
Das Problem ist, wenn sich in „wp_options“ eine große Menge automatisch geladener (aber überflüssiger) Daten befindet, wird deine Website logischerweise langsamer.
Der Grund, warum sich überflüssige Einträge in dieser Tabelle befinden liegt an installierten Plugins (und Themes), die später gelöscht wurden. Während bei einer Deinstallation die Verzeichnisse und Tabellen gelöscht werden, verbleiben viele Einträge meistens in der Tabelle „wp_options“.
Meine „wp_options hat 1.423 Einträge – allein 641 stammen von dem gelöschten Plugin WooCommerce. Von den 641 Einträgen haben 594 Einträge „autoload“ auf „yes“.
Wie große ist eine „normale“ „wp_options“ Tabelle
Das variiert natürlich von Website zu Website, je nach Anzahl der eingesetzten Plugins. Ein gesunder Wert liegt zwischen 300 KB und 1 MB. Wenn du im Bereich von 3-6 MB liegst, solltest du dir die „wp_options“ etwas genauer anschauen und ggf. veraltete Einträge löschen.
Überprüfe, wie viele Daten automatisch geladen werden
Gehe zu deinem phpMyAdmin, wähle die Datenbanktabelle „wp_options“ aus und fühle die folgende MySql-Anweisung aus:
SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes'
Möglicherweise musst du die Abfrage abändern, wenn deine WordPress-Installation“ einen anderes Präfix als „wp_“ verwendet.
Die „autoload_size“ wird in Bytes zurückgegeben, dividiere durch 1.024 und herauskommt die Größe in KB. Wenn du weniger als 1.000 KB zurückbekommst, sollte deine Website keine gravierenden Probleme haben – solange dein Server oder Hoster schnell genug ist und nicht aus dem letzten Loch pfeift.
Sortieren der Einträge
Der nächste Schritt wäre das Sortieren der Einträge mit den meisten automatisch geladenen Daten.
SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload='yes' ORDER BY option_value_length DESC LIMIT 15;
Bei mir sehe ich sehr viele Einträge von nicht mehr existenten Plugins.
Die Zeilen enthalten auch Plugin (rot markiert), die gar nicht mehr auf der Website installiert sind, aber Ressourcen verbrauchen.
Die Zeilen enthalten auch Plugin, die gar nicht mehr auf der Website installiert sind – unter anderem WooCommerce.
Einträge löschen
Jetzt führen wir die folgende Abfrage aus, um die automatisch geladenen Daten aus dem WooCommerce-Plugin zu finden.
SELECT * FROM `wo_options` WHERE `autoload` = 'yes' AND `option_name` LIKE '%woo%'

.
Du kannst jetzt alle Zeilen auswählen und auf „ Delete“ („Löschen“) klicken.
Wenn Du ALLE Einträge auf einmal löschen möchtest, kannst Du auch folgende MySQL-Abfrage ausführen:
DELETE FROM `wp_options` WHERE `autoload` = 'yes' AND `option_name` LIKE '%woo%'