Fast alle WordPress®-Websites, die ich gesehen habe, haben aufgeblähte Datenbanken. Das ist ziemlich normal. Niemand wurde als Experte für den Aufbau supereffizienter und optimierter Websites geboren.
Als ich anfing, WordPress® zu verwenden, wechselte ich monatlich die Themes und testete viele Plugins. Ich habe diese Artikel über die „Top 21 Must-Have-Plugins“ gelesen und sie alle installiert. Ein paar Wochen später habe ich sie deinstalliert.
So lernen Sie: Sie probieren aus, testen und entdecken, was Sie brauchen und was für Sie funktioniert.
Aber Jahre später bleibt Ihnen eine WordPress®-Datenbank voller alter, nutzloser Dinge übrig. Das liegt daran, dass die Datenbank Ihrer Website nicht nur Ihre Inhalte, sondern alle Themes und Plugin-Einstellungen enthält.
Warum ist eine saubere Datenbank so wichtig?
Ein Kunde, ein Food-Blog mit etwa 10.000 Besuchen pro Tag, erlebte langsame Ladezeiten von 13–15 Sekunden. Die vom Hosting-Unternehmen angebotene Lösung bestand darin, auf ein teureres Hosting-Paket umzusteigen.
Unsere Lösung war anders: Wir führten nach der Migration auf unsere Hosting-Plattform ein Site-Audit durch.
Das Site-Audit ist kostenlos, wenn Sie jährlich für einen Hosting-Plan von Simplenet ; Davon können auch Sie profitieren.
Wir haben über 25.000 Datenbankeinträge in der Tabelle wp_options entdeckt, bei denen „Autoload“ auf „Ja“ gesetzt war. „Autoload: ja“ bedeutet, dass WordPress® bei der Initialisierung diese Optionen aus der Datenbank liest, was etwa 11 Sekunden dauerte.
Wir haben diese alten, nutzlosen Optionen gelöscht und jetzt lädt WordPress® in 2-3 Sekunden. Wir haben außerdem Bilder optimiert, einige fehlerhafte Plugins durch bessere ersetzt und weitere kleinere Optimierungen vorgenommen.
Sie brauchte keinen teureren Plan; Sie blieb weitere 8–9 Monate bei demselben Plan, bis ihr Traffic etwa 60.000 Besuche/Tag erreichte. Dann war es wirklich Zeit für ein Upgrade.
Der Vorteil einer sauberen WordPress®-Datenbank bestand darin, dass sie dadurch Geld beim Webhosting sparen, eine schnellere Website haben und mühelos auf viel mehr Traffic skalieren konnte.
Sehen wir uns also an, was Sie tun können, um Ihre WordPress®-Datenbank zu optimieren, um die gleichen Vorteile zu erzielen.
Immer zuerst ein Backup erstellen
Bevor Sie eine Datenbankbereinigung durchführen, müssen Sie ein vollständiges Site-Backup erstellen, einschließlich der Datenbank und der Dateien – oder zumindest der Datenbank –, da wir dort Änderungen vornehmen. Mit dieser Sicherheitsmaßnahme können Sie Ihre Website im Falle eines Fehlers schnell wieder in den vorherigen Zustand versetzen und so Zeit, Stress und potenzielle Verluste sparen.
Ohne ein Backup können Sie versehentlich gelöschte Beiträge, Seiten, Benutzerkonten oder Einstellungen nicht wiederherstellen. Auch Fehler bei der Datenbankbereinigung – etwa das Löschen wichtiger Tabellen oder die Beschädigung von Daten – können Ihrer Website schaden und sie für Besucher unzugänglich machen.
Sie können Ihre Datenbank aus phpMyAdmin exportieren. Ihr Hosting-Anbieter sollte Zugriff auf dieses Datenbankverwaltungstool (oder ein ähnliches) bereitstellen.
Wir bieten Zugriff auf phpMyAdmin sowie ein integriertes Backup-Tool, mit dem Sie jederzeit manuelle Backups erstellen können. Außerdem bieten wir Staging-Sites an. Das bedeutet, dass Sie Ihre Live-Website auf eine Staging-Site klonen und dort alle Änderungen vornehmen können, bevor Sie sie auf einer Live-Website vornehmen.
Sie können auch ein WordPress®-Backup-Plugin verwenden wie:
- BackupWordPress
- UpdraftPlus
- BackupWPUp
- VaultPress
- BlogVault
- WP Time Capsule
- Verwalten Sie WP-Backups
Wenn Sie ein Backup-Plugin verwenden, stellen Sie bitte sicher, dass das Backup-Archiv außerhalb von WordPress® verwendbar ist. Wenn die Site kaputt geht, müssen Sie in der Lage sein, sie ohne wp-Admin-Zugriff wiederherzustellen.
Grundlegende WordPress®-Bereinigung
Der einfachste Weg, Ihre WordPress®-Datenbank zu bereinigen, insbesondere für technisch nicht versierte Personen, ist die Verwendung eines WordPress®-Plugins.
Die beliebtesten Plugins zur Datenbankoptimierung sind:
Es gibt auch Caching- und Optimierungs-Plugins, die auch Datenbankbereinigungsoptionen integriert haben, wie zum Beispiel:
Wir empfehlen WP-Sweep, da es so weit wie möglich die richtigen WordPress®-Löschfunktionen verwendet, anstatt direkte MySQL-Löschabfragen auszuführen.
Installieren und aktivieren Sie das WP Sweep-Plugin und gehen Sie dann zu Extras > Sweep. Sie sehen verschiedene Abschnitte mit der Schaltfläche „Sweep“ daneben. Klicken Sie auf die Schaltfläche, um die Unordnung zu beseitigen.
Dieses Plugin hilft Ihnen beim Löschen:
- Überarbeitungen
- Automatische Entwürfe
- Gelöschte, nicht genehmigte und Spam-Kommentare
- Verwaistes und dupliziertes Post-Meta
- Verwaistes und dupliziertes Kommentar-Meta
- Verwaistes und dupliziertes Benutzer-Meta
- Verwaiste Beziehungen
- Unbenutzte Begriffe
- Vorübergehende Optionen
Das Plugin kann auch Tabellen optimieren, und das ist einfacher als über phpMyAdmin.
Ein weiteres Plugin, das wir empfehlen, ist LiteSpeed Cache . Es kann die WordPress®-Datenbank bereinigen und die Datenbanktabellen von MyISAM in InnoDB konvertieren.
Mit LiteSpeed Cache können Sie auch die Liste der Autoload-Einträge sowie deren Anzahl und Größe anzeigen.
Als Bonus empfehle ich das Scalability Pro-Plugin für WooCommerce; Es behebt einige native Leistungsprobleme.
Erweiterte WordPress®-Bereinigung
Nach der Bereinigung mit der einfachen Methode sollten Sie auch manuell und gründlicher prüfen, ob in der Datenbank noch Dinge vorhanden sind, die optimiert werden können.
Für die WordPress®-Datenbank können viele Optimierungen vorgenommen werden, es gibt jedoch einige wichtige Probleme, die nach der Lösung unserer Datenbank gut genug funktionieren sollten. Konzentrieren wir uns also darauf, diese Probleme mit dem größten Nutzen zu lösen.
Diese sind:
- Bereinigen von Metaschlüsseln aus wp_postmeta
- Bereinigen der Autoload-Einträge aus der Tabelle wp_options
- Wiederherstellen des verlorenen Primärschlüssels aus der Tabelle wp_options
Bereinigen von Metaschlüsseln aus der Tabelle wp_postmeta
Auch nach der Bereinigung der Datenbank mit einem Plugin wie WP Sweep kann es sein, dass noch unnötige Einträge in der Tabelle wp_postmeta vorhanden sind, da nicht alles bereinigt wurde.
Greifen Sie mit phpMyAdmin oder einem anderen Datenbankverwaltungstool auf die Datenbank zu, gehen Sie zur Tabelle wp_postmeta und sehen Sie sich die Einträge an.
Nehmen wir dieses Beispiel.

Sie können sehen, dass es viele Einträge mit dem EG_ -Präfix gibt. Sie können ChatGPT fragen : Welches WordPress -Plugin hat Einträge mit dem EG_ -Präfix in meiner Tabelle wp_postmeta eingestellt?
ChatGTP teilt mir mit, dass es sich um das Essential Grid-Plugin handelt. Wenn Sie dieses Plugin nicht mehr verwenden, können Sie alle diese Einträge manuell löschen oder eine Abfrage ausführen, um sie in großen Mengen zu löschen.
DELETE FROM wp_postmeta WHERE meta_key LIKE 'eg_%';
Diese Abfrage löscht alle Metaschlüssel, die mit eg_ beginnen. Vergessen Sie nicht, Ihre Datenbank oder zumindest die Tabelle wp_postmeta sichern
Wiederholen Sie den Vorgang mit allen anderen Metaschlüsseln, die Sie in großer Zahl finden und von denen Sie nicht wissen, um welche es sich handelt und wofür sie verwendet werden.
Bereinigen der Autoload-Einträge aus der Tabelle wp_options
Dies ist das Problem, das wir in der Einleitung dieses Artikels besprochen haben: Die Tabelle wp_options wurde mit Einträgen aufgebläht, deren Autoload-Wert auf „Ja“ gesetzt war.
Diese Einträge werden bei jeder Initialisierung von WordPress gelesen.
Der einfachste Weg, diese Einträge anzuzeigen, besteht darin, das LiteSpeed-Cache-Plugin zu verwenden und zum Abschnitt „Datenbank“ zu gehen. Scrollen Sie zu „Datenbankzusammenfassung“ und sehen Sie sich die Liste der Autoload-Einträge sowie deren Anzahl und Größe an.

Im obigen Beispiel gibt es keine Probleme; Chat GPT fragen : Welches Plugin hat den X -Eintrag in die Tabelle WP_OPTIONS in meiner WordPress -Datenbank eingefügt?
So können Sie erkennen, welches Plugin die Daten hinzugefügt hat, und wenn Sie diese nicht mehr nutzen, können Sie den entsprechenden Eintrag löschen.
DELETE FROM wp_options WHERE option_name LIKE 'your-option-name';
Die SQL-Abfrage von oben löscht den Eintrag. Ersetzen Sie einfach Ihren Optionsnamen durch den tatsächlichen Namen des Eintrags.
Vergessen Sie nicht, die Datenbank oder zumindest die Tabelle wp_options sichern,
Wiederherstellen des verlorenen Primärschlüssels aus der Tabelle wp_options
Ein weiteres Problem, auf das ich gestoßen bin, hängt mit der Tabelle wp_options zusammen. Es gibt nämlich Fälle, in denen diese Tabelle ihren Primärschlüssel verliert.
Das Feld option_id ist standardmäßig als Primärschlüssel konfiguriert.
Der Primärschlüssel garantiert die Eindeutigkeit jeder Zeile in der Tabelle und ermöglicht die Indizierung von Zeilen für einen schnellen Zugriff. Wenn wir doppelte Werte haben und der Primärschlüssel verloren geht, werden Vorgänge in dieser Tabelle langsamer, da kein schneller Zugriff mehr auf eine bestimmte Zeile möglich ist. Es wird ein vollständiger Tabellenscan durchgeführt, d. h. jede Zeile in der Tabelle wird gelesen, um die erforderlichen Daten zu finden, was mehr Zeit in Anspruch nimmt.
In manchen Situationen, beispielsweise bei manuellen Migrationen mit mysqldump von einem Server auf einen anderen, kann die Tabelle ihren Primärschlüssel verlieren, wenn die MySQL-Versionen zwischen den Servern unterschiedlich sind.
option_id | Optionsname |
---|---|
1 | Option1 |
2 | Option2 |
3 | Option3 |
0 | Option4 |
0 | Option5 |
0 | Option6 |
Um diese Situation zu lösen, müssen wir die Spalte option_id wieder zum Primärschlüssel machen. Dies ist jedoch nicht möglich, wenn es doppelte Werte mit 0 gibt und diese gelöscht oder neu nummeriert werden müssen.
Das Löschen von Themen oder Plugin -Konfigurationen, aber wir können sie nummerieren. Führen Sie diese Abfragen in Ihrer Tabelle wp_options aus.
Setze @new_option_id: = 4; Aktualisieren Sie WP_OPTIONS SET option_id = (@new_option_id: = @new_option_id + 1) wobei Option_id in (SELECT OPTION_ID Aus (SELECT option_id aus wp_options wobei Option_ID = 0 gruppe by option_id mit count (*)> 1) als Duplicates); Löschen aus wp_options wobei option_id = 0; Änderungstabelle WP_OPTIONS Fügen Sie Primärschlüssel hinzu (Option_ID);
Die auf dem Bildschirm angezeigten Abfragen bewirken Folgendes:
- Legt einen Startpunkt für option_id fest. Im obigen Beispiel endete die Nummerierung beispielsweise bei 3, sodass wir 4 als neuen Startpunkt festlegen.
- Identifiziert Duplikate von option_id mit dem Wert 0 und aktualisiert sie mit neuen Werten, beginnend mit dem eingestellten Wert
- Entfernt alle verbleibenden Zeilen, in denen option_id 0 ist
- Fügt den Primärschlüssel zu option_id hinzu
Stellen Sie sicher, dass Sie das Standardpräfix (WP_) in die verwenden, die Ihre Datenbank verwendet, und legen Sie die gemäß Zahl fest (der Code verwendet 4 als Beispiel).
Führen Sie danach die folgenden Fragen aus.
Änderungstabelle wp_options auto_increment = 7; Änderungstabelle wp_options modifizieren option_id bigint (20) Unsigned NOT NULL AUTO_INCREMENT; Überprüfen Sie die Tabelle wp_options; Reparaturtabelle WP_Options;
Die Fragen machen Folgendes aus:
- Setzt einen neuen Startwert für AUTO_INCREMENT auf die letzte Zahl – in unserem Beispiel endeten sie bei 6, also legen wir 7 als neuen Startpunkt fest
- Wir aktivieren auto_increment für die Spalte option_id
- Wir führen eine Kontrolltabelle durch
- Und ein Reparaturtisch
Stellen Sie erneut sicher, dass Sie das Standardpräfix (WP_) in die verwenden, die Ihre Datenbank verwendet. Und setzen Sie die entsprechende Zahl (der Code verwendet 7 als Beispiel).
Vergessen Sie vor Beginn dieser Operation nicht, Ihre Datenbank oder die Tabelle wp_options sichern
Sie können diese Abfragen in phpMyAdmin (einem Tool, auf das Sie über Ihr Hosting-Kontrollfeld zugreifen können) oder mit einem Datenbankverwaltungstool wie Sequel Ace (Mac) oder MySQL Workbench (Windows, Linux, Mac) ausführen.
Ich verwende Sequel Ace und bevorzuge es gegenüber phpMyAdmin, weil es schneller und stabiler ist. PHPMyAdmin kann aufgrund von PHP-Einschränkungen manchmal abstürzen, insbesondere beim Shared Hosting.
Best Practices, um Ihre WordPress®-Datenbank sauber zu halten
Die meisten Plugins und Themes bereinigen sich nicht selbst, daher müssen Sie gelegentlich eine Bereinigung durchführen, um sicherzustellen, dass alles in Topform ist.
Optimierungs-Plugins verfügen über die Funktion, die automatische Bereinigung zu planen und die Überlastung der Datenbank zu reduzieren:
- FlyingPress
- WP Rocket
- Perfmatters

Sie können es auf wöchentlich, monatlich oder einen beliebigen Zeitplan einstellen.
Ich empfehle außerdem, nicht verwendete Plugins und Themes zu löschen. Dies hilft auch aus Sicherheitsgründen. Ich empfehle Ihnen, keine PHP-Skripte (Plugins, Themes, andere PHP-Dateien) auf Ihrem Server zu behalten, außer denen, die Sie aktiv nutzen.
Um nicht verwendete Plugins zu entfernen, melden Sie sich bei wp-admin an und gehen Sie zu Plugins > Installierte Plugins. Klicken Sie auf „Inaktiv“, um inaktive Plugins anzuzeigen und zu löschen.
Um nicht verwendete Designs zu entfernen, gehen Sie zu „Darstellung“ > „Designs“. Klicken Sie auf jedes Design, das Sie löschen möchten, und klicken Sie dann unten rechts auf Löschen.
Ich empfehle Ihnen, nur Ihr aktives Theme und ein Standard-Theme beizubehalten (falls Sie Inkompatibilitäten testen müssen).
Sie können die Anhäufung der Revisionen auch verhindern, indem Sie die Anzahl der in der Datenbank gespeicherten Revisionen begrenzen, beispielsweise auf 30. Fügen Sie den folgenden Code zur Datei wp-config.php hinzu.
define( 'WP_POST_REVISIONS', 30 );
Lassen Sie Kommentare nicht ungenehmigt – genehmigen Sie sie, spammen Sie sie oder verwerfen Sie sie.
Vorsicht vor Plugins, die viele Daten speichern:
- Statistik-Plugins
- Sicherheits-Plugins
- Anti-Spam-Plugins
- Plugins für verwandte Beiträge
- Link-Tracking-Plugins
Ich sage nicht, dass Sie keines der oben genannten Plugins verwenden sollten, aber verwenden Sie Plugins, die diese Funktionalitäten bieten und Daten extern speichern, nicht in Ihrer WordPress®-Datenbank.
Vermeiden Sie nach Möglichkeit die Verwendung von Plugins, die das Ganze aufblähen. Halten Sie die WordPress®-Datenbank so übersichtlich wie möglich. Es ist besser, Blähungen vorzubeugen als sie zu behandeln.
Eine effektive Datenbankoptimierung sorgt für schnelle, zuverlässige und skalierbare Websites. Durch die Implementierung von Best Practices kann die Datenbankleistung erheblich verbessert und gleichzeitig die Betriebskosten gesenkt werden. Denken Sie daran, dass die Datenbankoptimierung keine einmalige Aufgabe ist, sondern ein fortlaufender Prozess, der sich mit den Anforderungen und dem Wachstum Ihres Systems weiterentwickelt.
Vielen Dank, dass Sie diesen Artikel zur Datenbankoptimierung gelesen haben. Ich hoffe, dass es wertvolle Erkenntnisse und praktische Tipps zur Verbesserung der Leistung Ihrer WordPress®-Datenbanken geliefert hat.
Wenn Sie Fragen, Feedback oder zusätzliche Techniken haben, die Sie teilen möchten, hinterlassen Sie gerne einen Kommentar oder kontaktieren Sie uns. Gemeinsam können wir bessere, schnellere und effizientere Websites erstellen!
Hinterlasse eine Antwort.