Zum Inhalt springen
WordPress Datenbankoptimierung: So reinigen und beschleunigen Sie Ihre Datenbank
WordPress-Performance📋 Leitfaden

WordPress Datenbankoptimierung: So reinigen und beschleunigen Sie Ihre Datenbank

Erik KellerErik KellerAktualisiert am: 15 Min. Lesezeit559 Aufrufe

Jeder Seitenaufruf, jede Formularübermittlung, jede Plugin-Operation und jede Benutzersitzung in WordPress umfasst Datenbankabfragen. Im Laufe der Zeit sammelt die Datenbank Überflüssiges an: alte Beitragsrevisionen, abgelaufene Transienten, verwaiste Metadaten, Spam-Kommentare und ungenutzte Tabellen von deaktivierten Plugins. Dieser Ballast verlangsamt die Abfragen, erhöht die Backup-Größen und mindert die allgemeine Leistung der Seite. Dieser Leitfaden behandelt, wie man Datenbankballast identifiziert, sicher bereinigt und dessen Rückkehr verhindert.

Was WordPress in der Datenbank Speichert

Zu verstehen, was sich in Ihrer Datenbank befindet, hilft Ihnen zu erkennen, was sicher entfernt werden kann. Eine Standard-WordPress-Installation verwendet 12 Kern-Tabellen, und Plugins fügen bei Bedarf ihre eigenen Tabellen hinzu.

Tabelle Speichert Häufige Quelle für Ballast
wp_posts Beiträge, Seiten, Revisionen, Anhänge, benutzerdefinierte Beitragstypen Beitragsrevisionen, Auto-Entwürfe
wp_postmeta Metadaten für Beiträge (benutzerdefinierte Felder, Plugin-Daten) Verwaiste Metadaten von gelöschten Beiträgen
wp_options Website-Einstellungen, Plugin-Einstellungen, Transienten Abgelaufene Transienten, alte Plugin-Einstellungen
wp_comments Kommentare und Trackbacks Spam-Kommentare, gelöschte Kommentare
wp_commentmeta Metadaten für Kommentare Akismet-Metadaten für gelöschte Kommentare
wp_usermeta Benutzermetadaten Sitzungstoken, Plugin-Benutzerdaten
wp_termmeta Metadaten für Kategorien und Tags Verwaiste Term-Metadaten

Häufige Quellen für Datenbankballast

Beitragsrevisionen

WordPress speichert eine Revision jedes Mal, wenn Sie auf "Entwurf speichern" oder "Aktualisieren" bei einem Beitrag oder einer Seite klicken. Ein Beitrag, der 50 Mal bearbeitet wurde, hat 50 Revisionen in der wp_posts-Tabelle gespeichert, jede mit ihrem eigenen Satz von postmeta-Einträgen. Auf einer Seite mit Hunderten von Beiträgen können Revisionen Tausende von unnötigen Datenbankzeilen ausmachen.

Transienten

Transienten sind temporäre Daten, die in der wp_options-Tabelle von WordPress-Core und Plugins gespeichert werden. Sie haben Ablaufzeiten, aber WordPress löscht abgelaufene Transienten nicht automatisch. Sie sammeln sich im Laufe der Zeit an und können die Optionen-Tabelle erheblich vergrößern, insbesondere auf Seiten mit vielen Plugins.

Verwaiste Daten

Wenn Sie einen Beitrag löschen, können dessen Metadaten (wp_postmeta-Einträge) nicht gelöscht werden. Ähnlich kann das Löschen von Kommentaren, Benutzern oder Begriffen verwaiste Metadatenzeilen hinterlassen. Deaktivierte und gelöschte Plugins hinterlassen oft ihre Datenbanktabellen, die Speicherplatz verbrauchen und Ihre Datenbank unübersichtlich machen.

Spam- und Gelöschte Inhalte

Spam-Kommentare, gelöschte Beiträge und gelöschte Kommentare verbleiben in der Datenbank, bis sie manuell geleert werden. Seiten mit Akismet oder anderen Spam-Filtern können Tausende von Spam-Kommentaren ansammeln, die regelmäßig bereinigt werden müssen.

Auto-Entwürfe

WordPress erstellt Auto-Entwurf-Beiträge, wenn Sie im Beitrag-Editor auf "Neu hinzufügen" klicken, selbst wenn Sie nie veröffentlichen. Diese sammeln sich im Laufe der Zeit an und haben nach dem Ende der Bearbeitungssitzung keinen Zweck mehr.

Manuelle Datenbankbereinigung über SQL

Für diejenigen, die mit SQL vertraut sind, können Sie direkt über phpMyAdmin oder einen Datenbank-Client bereinigen. Sichern Sie immer Ihre Datenbank, bevor Sie Bereinigungsabfragen ausführen.

Beitragsrevisionen löschen

-- Alle Beitragsrevisionen löschen
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Verwaiste postmeta löschen (Metadaten für gelöschte Beiträge)
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.ID IST NULL;

Transiente Bereinigen

-- Abgelaufene Transiente löschen
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_timeout_%'
AND option_value < UNIX_TIMESTAMP();

-- Die transienten Daten für abgelaufene Transiente löschen
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_transient_timeout_%';

Spam und Gelöschte Kommentare Entfernen

-- Spam-Kommentare löschen
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Gelöschte Kommentare löschen
DELETE FROM wp_comments WHERE comment_approved = 'trash';

-- Verwaiste Kommentar-Metadaten löschen
DELETE cm FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON cm.comment_id = c.comment_ID
WHERE c.comment_ID IS NULL;

Plugin-basierte Datenbankbereinigung

Wenn Sie einen GUI-basierten Ansatz bevorzugen, gibt es mehrere Plugins, die die Datenbankoptimierung mit Planungsfunktionen übernehmen:

WP-Optimize

WP-Optimize ist ein kostenloses Plugin, das Revisionen, Entwürfe, Spam, Transiente und verwaiste Daten bereinigt. Es optimiert auch Datenbanktabellen und unterstützt geplante Bereinigungen. Die Pro-Version fügt Multisite-Unterstützung und erweiterte Planungsfunktionen hinzu.

WP Rocket Datenbankoptimierung

WP Rocket enthält einen Datenbank-Tab, der Revisionen, Auto-Entwürfe, gelöschte Beiträge, Spam-Kommentare, Transiente und Tabellenoptimierung behandelt. Da WP Rocket hauptsächlich ein Caching-Plugin ist, erhalten Sie die Datenbankbereinigung zusammen mit der Leistungsoptimierung in einem Tool.

Advanced Database Cleaner

Dieses Plugin geht tiefer, indem es Tabellen erkennt, die von deaktivierten Plugins und verwaisten Cron-Ereignissen zurückgelassen wurden. Es kategorisiert Tabellen als WordPress-Kern, von Plugins erstellt oder unbekannt, was Ihnen hilft, zu identifizieren, welche Tabellen sicher zu entfernen sind.

Plugin Kostenlose Version Geplante Bereinigung Tabellenerkennung
WP-Optimize Ja Ja Basis
WP Rocket Nein (nur Premium) Ja Nein
Advanced Database Cleaner Ja Nur Pro Ja (detailliert)

wp-config.php Optimierungen

Verhindern Sie Datenbankaufblähungen an der Quelle, indem Sie diese Konstanten in Ihre wp-config.php-Datei hinzufügen:

Begrenzung der Beitragsrevisionen

// Nur 5 Revisionen pro Beitrag behalten (empfohlen)
define( 'WP_POST_REVISIONS', 5 );

// Revisionen vollständig deaktivieren (nicht für die meisten Seiten empfohlen)
define( 'WP_POST_REVISIONS', false );

Die Einstellung von Revisionen auf 5 bietet genug Historie, um aus Fehlern zu lernen, während das unbegrenzte Wachstum von Revisionen verhindert wird. Für inhaltsreiche Seiten mit häufigen Bearbeitungen sind 10 Revisionen eine angemessene Alternative.

Automatisches Leeren des Papierkorbs

// Papierkorb alle 7 Tage leeren (Standard ist 30)
define( 'EMPTY_TRASH_DAYS', 7 );

// Papierkorb deaktivieren (Elemente werden sofort gelöscht - mit Vorsicht verwenden)
define( 'EMPTY_TRASH_DAYS', 0 );

Automatisches Speicherintervall

// Automatisches Speicherintervall auf 5 Minuten erhöhen (Standard ist 60 Sekunden)
define( 'AUTOSAVE_INTERVAL', 300 );

Datenbanktabellen optimieren

Führen Sie nach dem Löschen von Zeilen eine OPTIMIZE-Operation durch, um fragmentierten Speicher zurückzugewinnen:

OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;

Planen Sie dies monatlich oder nach großen Bereinigungsoperationen. Die meisten Bereinigungs-Plugins enthalten die Tabellenoptimierung in ihren geplanten Aufgaben.

Automatische Bereinigung planen

Richten Sie automatisierte Zeitpläne ein: wöchentliche Bereinigung von Transienten und Spam, monatliche Entfernung von Revisionen und Tabellenoptimierung sowie vierteljährliche Überprüfungen von verwaisten Plugin-Tabellen. WP-Optimize und WP Rocket unterstützen beide die geplante Bereinigung. Konfigurieren Sie diese während der Nebenzeiten.

Datenbankgröße überwachen

Verfolgen Sie die Größe Ihrer Datenbank, um Aufblähungen frühzeitig zu erkennen. Führen Sie diese Abfrage aus, um die einzelnen Tabellengrößen zu sehen:

SELECT table_name AS 'Tabelle',
       ROUND(data_length / 1024 / 1024, 2) AS 'Daten (MB)',
       table_rows AS 'Zeilen'
FROM information_schema.tables
WHERE table_schema = 'your_database_name'
ORDER BY (data_length + index_length) DESC
LIMIT 20;

Wenn wp_options 5 MB überschreitet oder wp_postmeta über 100 MB wächst, ist es Zeit für eine Bereinigung. Diese Tabellen werden häufig abgefragt, sodass ihre Größe die Ladezeiten der Seiten direkt beeinflusst.

Für einen umfassenden Ansatz zur Leistungsoptimierung, der die Datenbankoptimierung zusammen mit Caching, Bildoptimierung und Serverkonfiguration umfasst, lesen Sie unseren Leitfaden zur Geschwindigkeitsoptimierung von WordPress. Für eine kontinuierliche Datenbankgesundheit im Rahmen Ihrer Wartungsroutine, siehe unseren Wartungsleitfaden für WordPress.

Für weitere Details siehe die offizielle Dokumentation: WordPress Datenbank API.

Häufig gestellte Fragen

Ist es sicher, Beitragsrevisionen aus der Datenbank zu löschen?

Ja, das Löschen von Beitragsrevisionen ist sicher und hat keinen Einfluss auf Ihre veröffentlichten Inhalte. Revisionen sind historische Schnappschüsse von Entwurfsänderungen. Sobald Ihre Inhalte abgeschlossen sind, haben Revisionen für die meisten Seiten keinen Zweck mehr. Sichern Sie jedoch immer Ihre Datenbank, bevor Sie eine Bereinigung durchführen.

Wird die Datenbankoptimierung die Geschwindigkeit meiner Seite merklich verbessern?

Die Verbesserung hängt davon ab, wie aufgebläht Ihre Datenbank ist. Seiten mit über 50.000 verwaisten Zeilen oder einer wp_options-Tabelle, die 10 MB überschreitet, werden merkliche Verbesserungen bei den Ladezeiten der Seiten und der Reaktionsfähigkeit des Admin-Dashboards feststellen. Kleinere Seiten können marginale Gewinne sehen. Die Datenbankoptimierung funktioniert zusammen mit Caching und anderen Leistungsmaßnahmen für eine kumulative Verbesserung.

Wie oft sollte ich meine WordPress-Datenbank optimieren?

Für aktive Seiten mit regelmäßigen Inhaltsaktualisierungen ist eine monatliche Optimierung eine gute Basis. Seiten mit hohem Verkehr, häufigen Kommentaren, WooCommerce-Transaktionen oder Formularübermittlungen können von wöchentlichen Bereinigungen von Transienten und Spam sowie monatlicher Tabellenoptimierung profitieren.

Können Datenbankbereinigungs-Plugins meine Seite beschädigen?

Renommierte Plugins wie WP-Optimize und WP Rocket sind so konzipiert, dass sie sicher sind. Sie zielen auf bekannte Aufblähungskategorien (Revisionen, Transienten, Spam) ab und berühren keine wesentlichen Daten. Das Risiko steigt, wenn spezifische Tabellen von Plugins manuell gelöscht werden. Wenn Sie sich nicht sicher sind, ob eine Tabelle benötigt wird, lassen Sie sie an Ort und Stelle und recherchieren Sie zuerst ihren Zweck.

Was ist der Unterschied zwischen OPTIMIZE TABLE und dem Löschen von Zeilen?

Das Löschen von Zeilen entfernt Daten aus der Tabelle. OPTIMIZE TABLE reorganisiert die physische Speicherung der Tabelle, nachdem Zeilen gelöscht wurden, und reclaimt Speicherplatz und defragmentiert die Datendatei. Denken Sie daran, dass das Löschen von Dateien (Entfernen von Zeilen) im Gegensatz zum Defragmentieren Ihrer Festplatte (Optimierung der Tabelle) steht.

Sollte ich InnoDB oder MyISAM für WordPress-Tabellen verwenden?

WordPress verwendet standardmäßig InnoDB seit Version 5.5, und es ist die empfohlene Speicher-Engine. InnoDB unterstützt Zeilenverriegelung (besser für gleichzeitige Benutzer), Transaktionen und Wiederherstellung nach einem Absturz. MyISAM ist schneller bei leseintensiven Operationen, bietet jedoch nicht diese Zuverlässigkeitsmerkmale. Wenn Sie MyISAM-Tabellen in Ihrer Datenbank finden, wird empfohlen, sie in InnoDB zu konvertieren.

Wie identifiziere ich Tabellen, die von deaktivierten Plugins hinterlassen wurden?

Das Plugin Advanced Database Cleaner kann nicht-kernige Tabellen erkennen und kategorisieren. Alternativ können Sie die SQL-Abfrage SHOW TABLES ausführen und die Tabellennamen mit den WordPress-Kern-Tabellen und Ihren derzeit aktiven Plugins vergleichen. Tabellen mit Präfixen, die mit deaktivierten Plugins übereinstimmen, sind Kandidaten für die Entfernung.

Fügt WooCommerce signifikante Datenbankaufblähung hinzu?

Ja. WooCommerce speichert Bestelldaten, Produktmetadaten, Kundensitzungen und Transienten, die in aktiven Shops erheblich wachsen. Verwenden Sie WooCommerce > Status > Werkzeuge, um abgelaufene Transienten und Sitzungen regelmäßig zu löschen.

Leistung aus jedem Blickwinkel optimieren

WP Rocket kümmert sich um Caching, Datenbankbereinigung und Leistungsoptimierung in einem Plugin, damit Ihre Seite reibungslos läuft.

WP Rocket erkunden →

Häufig gestellte Fragen

Wie oft sollte ich meine WordPress-Datenbank optimieren?
Für die meisten Seiten ist eine monatliche Optimierung ausreichend. Seiten mit hohem Traffic, die aktive WooCommerce-Shops oder Foren haben, sollten wöchentlich optimieren. Automatisierte Tools wie WP-Optimize können dies nach einem Zeitplan erledigen.
Ist es sicher, alte Beitragsrevisionen aus der Datenbank zu löschen?
Ja, das Löschen alter Beitragsrevisionen ist sicher und wird häufig empfohlen. WordPress speichert standardmäßig unbegrenzt Revisionen, was Tausende von Zeilen hinzufügen kann. Sie können die Revisionen begrenzen, indem Sie die Konstante define REVISIONS in die wp-config.php hinzufügen.
Wird die Datenbankoptimierung die Geschwindigkeit meiner Seite verbessern?
Die Datenbankoptimierung reduziert typischerweise die Ausführungszeit von Abfragen, was die Serverantwortzeit (TTFB) verbessert. Der Einfluss ist am deutlichsten auf dynamischen Seiten mit komplexen Abfragen, wie WooCommerce-Produktseiten oder Suchergebnissen.
Sollte ich die Datenbank vor oder nach einem Backup optimieren?
Erstellen Sie immer ein vollständiges Datenbank-Backup, bevor Sie eine Optimierung durchführen. Dies stellt sicher, dass Sie Ihre Daten wiederherstellen können, falls während des Reinigungsprozesses etwas schiefgeht.
Was sind verwaiste Metadatenzeilen und kann ich sie sicher entfernen?
Verwaiste Metadaten sind Zeilen in Metatabellen, die auf Beiträge, Benutzer oder Kommentare verweisen, die nicht mehr existieren. Sie sind sicher zu entfernen und sammeln sich oft von gelöschten Plugins oder Inhalten an. Tools wie WP-Optimize können diese Einträge identifizieren und bereinigen.

Diesen Beitrag teilen

Über den Autor

Erik Keller
Erik Keller

WordPress-Experte

Senior WordPress-Spezialist mit umfangreicher Erfahrung in der Entwicklung von Themes, Plugins und WooCommerce. Leidenschaftlich daran interessiert, Unternehmen mit WordPress-Lösungen zum Erfolg zu verhelfen.

WordPressWooCommerceTheme-EntwicklungPlugin-EntwicklungLeistungsoptimierung

Bleiben Sie informiert

Erhalten Sie die neuesten WordPress-Tipps und Tutorials in Ihrem Posteingang.