Obwohl alle Komponenten einer WordPress-Website wichtig sind, ist deine Datenbank wohl der Schlüssel. Hier werden praktisch alle Informationen deiner Website gespeichert und abgerufen. Deshalb muss die Optimierung deiner WordPress-Datenbank perfekt sein.

Eine aufgeblähte Datenbank mit Leistungsproblemen verlangsamt deine Website und beeinträchtigt dein Suchranking. Außerdem kann sich das auf das gesamte Benutzererlebnis auswirken. Das wiederum kann sich auf deine Besucherzahlen auswirken und sich auf deine Platzierungen in den Suchergebnissen auswirken (neben anderen Problemen).

In diesem Lernprogramm werden wir die Optimierung der WordPress-Datenbank aus verschiedenen Blickwinkeln betrachten. Wir sprechen über die allgemeine Struktur, die du sehen wirst, und über viele Optimierungstechniken, die du anwenden kannst. Außerdem stellen wir dir Tools und Dienste vor, mit denen du deine Datenbanken auf Vordermann bringen kannst.

Wie du die WordPress-Datenbankstruktur verstehst

Kurz gesagt: Die WordPress-Datenbank ist das Rückgrat deiner Website. Sie beherbergt fast alles, z. B. Inhalte, Benutzerdaten, Einstellungen und vieles mehr. In WordPress sind die „Tabellen“ der Datenbank für die Speicherung bestimmter Arten von Informationen zuständig.

Die Plattform verwendet die Datenbankmanagementsysteme MySQL oder MariaDB, auf die du mit Tools wie phpmyAdmin oder Adminer zugreifen kannst:

Die phpMyAdmin-Oberfläche auf einem Kinsta-Hostingdienst zeigt eine Liste der WordPress-Datenbanktabellen mit Optionen für Aktionen wie Durchsuchen, Strukturieren, Suchen, Einfügen und Löschen. Zu den angezeigten Tabellen gehören wp_commentmeta, wp_comments, wp_links, wp_options, wp_postmeta, wp_posts, wp_termmeta, wp_terms, wp_term_relationships, wp_term_taxonomy, wp_usermeta und wp_users.
Zugriff auf eine WordPress-Datenbank mit phpMyAdmin

Die Tabelle wp_posts enthält zum Beispiel deine Beiträge und Seiten, während wp_users Daten über die Benutzer deiner Website enthält. Wir werden uns einige dieser Tabellen in Kürze genauer ansehen.

Bei der Installation erstellt WordPress eine Reihe von Standardtabellen, die alle typischen Anwendungsfälle abdecken, die du brauchst. Die Plugins, Themes und die Installation können jedoch auch Tabellen erstellen, um bestimmte und verwandte Daten zu speichern.

Dieser modulare Ansatz ist in vielerlei Hinsicht hervorragend, denn er ermöglicht eine umfangreiche Funktionalität. Auf der anderen Seite können aber auch zu viele überflüssige Tabellen (und eine falsche Verwaltung) zu einer Überfrachtung führen.

Das Verständnis der Datenbankstruktur von WordPress ist aus zwei Gründen wichtig:

  • Leistung. Durch eine gute Datenbankorganisation kannst du Daten schneller abrufen, was sich direkt auf die Ladezeiten und die Leistung auswirkt.
  • Wartung. Wenn du weißt, welche Tabellen zu den verschiedenen Bereichen deiner Website gehören, hilft dir das bei der Wartung. Wenn zum Beispiel ein bestimmtes Plugin Probleme verursacht, kannst du die zugehörigen Tabellen überprüfen.

Regelmäßiges Bereinigen und Optimieren deiner Datenbanktabellen kann verhindern, dass sie zu groß und unhandlich werden. Wie wir festgestellt haben, könnten sich die Auswirkungen auf die Leistung negativ auf dich auswirken.

WordPress-spezifische Tabellen

Websites aller Art nutzen Datenbanken, nicht nur WordPress. Die Plattform hat ihre eigenen Datenbanktabellentypen und Rollen, und wenn du sie optimieren willst, ist es wichtig, dass du sie genau kennst.

Wir werden hier nicht auf alle Tabellen eingehen, aber du wirst dich mit bestimmten Tabellen mehr beschäftigen als mit anderen:

  • wp_options. In dieser Tabelle werden deine Website-spezifischen Einstellungen gespeichert und sie ist wohl eine der am häufigsten genutzten Tabellen in deiner Datenbank. Du solltest diese Tabelle durch gute Optimierung schlank halten.
  • wp_postmeta. Hier werden die Metadaten deiner Beiträge gespeichert. Wenn deine Website wächst, kann diese Tabelle zu einer der größten Tabellen in deiner Datenbank werden.
  • wp_users und wp_usermeta. Alle Informationen über die Nutzer deiner Website und ihre Metadaten werden in diesen beiden Tabellen gespeichert. In seltenen Fällen kann es vorkommen, dass du hier ein Passwort ändern musst, wenn du aus WordPress ausgesperrt bist.

Denke daran, dass jedes zusätzliche Plugin oder Theme, das du zu deiner Website hinzufügst, diese Struktur ebenfalls verändern kann. Es ist jedoch selten, dass ein Theme oder Plugin eine dieser Tabellen entfernt.

Trotzdem solltest du diese möglichen Änderungen regelmäßig überprüfen und verstehen. Das ist der Schlüssel zu einer optimierten Datenbank, die die Leistung deiner Website unterstützt, anstatt sie zu behindern.

Warum die Optimierung der WordPress-Datenbank für die meisten Websites notwendig ist

Die Optimierung deiner WordPress-Datenbank ist nicht nur eine gute Praxis, sondern eine Notwendigkeit für die meisten Websites, die ein nahtloses Erlebnis bieten wollen. Deine Datenbank ist der zentrale Speicher für alle wichtigen Daten deiner Website. Ihr Zustand wirkt sich direkt auf die Leistung, Geschwindigkeit und Zuverlässigkeit deiner Website aus.

Es gibt also zwei Gründe, warum die regelmäßige Optimierung der WordPress-Datenbank ein fester Bestandteil des Arbeitsablaufs sein sollte:

  • Verbesserte Geschwindigkeit und Leistung der Website. Deine WordPress-Datenbank wird im Laufe der Zeit einige unnötige oder überflüssige Daten enthalten, z. B. veraltete Optionen, Beitragsänderungen, Spam-Kommentare oder veraltete Entwürfe. Dadurch wird das Abrufen von Informationen langsamer.
  • Verbesserte Benutzerfreundlichkeit. Die Nutzer erwarten ein reibungsloses und schnelles Surferlebnis. Eine gut optimierte Datenbank führt zu einem schnelleren Laden der Seite und einer effizienteren Datenverarbeitung. Einfach ausgedrückt: Jede Interaktion auf der Website hängt von Datenbankabfragen ab. Mehr Effizienz bedeutet mehr Benutzerfreundlichkeit.

Es gibt auch noch weitere Gründe, warum du deine Datenbank optimieren solltest. Eine nicht optimierte Datenbank belastet deinen Server zusätzlich, da er mehr Arbeit hat, die Daten zu finden und bereitzustellen. Das ist besonders wichtig, wenn du ein Shared Hosting mit begrenzten Ressourcen nutzt. Das ist einer der Gründe, warum Kinsta überhaupt kein Shared Hosting anbietet.

Wenn deine Website wächst, wächst auch deine Datenbank. Während du anfangs vielleicht noch ein kleines, überschaubares System betreibst, kann dieses schnell an Komplexität gewinnen. Durch regelmäßige Optimierung kannst du sicherstellen, dass deine Datenbank die Skalierung deiner Website ohne Leistungseinbußen bewältigen kann.

Kurz gesagt: Die Optimierung der WordPress-Datenbank verbessert die Antwortzeiten. Schon eine Ladeverzögerung von ein paar Sekunden kann zu erhöhten Absprungraten und verlorenem Traffic führen, was sich nicht gerade positiv auf dein Suchranking auswirkt.

Regelmäßige Wartung und Reinigung

Wenn du deine WordPress-Datenbank regelmäßig reinigst und pflegst, hast du eine der besten Möglichkeiten, deine Website so reibungslos wie möglich laufen zu lassen. Allerdings können sich Datenbanken mit der Zeit mit unnötigen Daten füllen, daher ist ein regelmäßiger und konsequenter Arbeitsablauf wichtig.

Außerdem solltest du alle Werkzeuge und Dienste, die dir zur Verfügung stehen, möglichst optimal nutzen. Die gute Nachricht ist, dass WordPress eine Reihe von Möglichkeiten bietet, um deine Datenbank zu pflegen.

Ein Plugin bietet unzählige Möglichkeiten, eine Datenbank zu optimieren. WP-Optimize ist eine beliebte Lösung für diese Aufgabe. Es gibt noch andere, aber dieses hier hat gute Bewertungen und Rezensionen auf WordPress.org, ist kostenlos und wird regelmäßig aktualisiert.

Das WordPress.org-Kopfzeilenbild für das WP-Optimize Plugin mit dem Slogan " Mach deine Seite schnell und effizient". Die Grafik zeigt ein rotes Motorrad, das gegen ein Auto und einen Jet antritt.
Die WP-Optimize Kopfzeile von WordPress.org

Wir zeigen dir in diesem Beitrag, wie du deine WordPress-Datenbank mit diesem Plugin optimierst, aber du kannst die Anweisungen auch auf das Plugin deiner Wahl übertragen. Für Kinsta-Kunden: Vergewissere dich, dass das von dir gewählte Plugin unseren Anforderungen entspricht und nicht auf unserer Verbotsliste steht.

In den nächsten Abschnitten gehen wir näher darauf ein und behandeln den manuellen Ansatz und die Verwendung von WP-Optimize. Auf die Kinsta-eigenen Tools gehen wir später noch ein. Zunächst aber wollen wir uns mit einigen Aufgaben vor der Optimierung befassen.

Was du tun musst, bevor du die Optimierung in Angriff nimmst

Bevor du dich in deine Datenbank stürzt, gibt es einige einfache Aufgaben, die du abhaken solltest. Als Erstes solltest du immer ein vollständiges Backup deiner Website und deiner Datenbank erstellen. Wenn du im schlimmsten Fall deine Website ruinierst, kannst du sie in wenigen Minuten wiederherstellen.

Außerdem solltest du alle Plugins und Themes löschen, die du nicht auf deiner Website verwendest. Das könnte einige Probleme lösen, und zwar nicht nur mit deiner Datenbank. Es kann auch dazu beitragen, die Sicherheit deiner Website zu erhöhen.

Das WordPress-Dashboard zeigt eine Liste der installierten Plugins. Zu jedem Plugin gibt es eine Beschreibung, Optionen zum Aktivieren, Deaktivieren oder Löschen sowie Einstellungen für automatische Updates.
Der Plugin-Bildschirm in WordPress

Beachte jedoch, dass dies je nach Plugin oder Theme unerwünschte Tabellen zurücklassen kann. Das ist natürlich genau der Grund, warum wir die Datenbank optimieren wollen. Wenn du also weißt, welche Plugins und Themes flüchtige Daten hinterlassen, wird dir das später helfen.

Die letzte Aufgabe findest du, wenn du dich in das Datenbankmanagement-Tool deiner Wahl einloggst. Datenbankfehler können natürlich ein Hinweis auf Leistungsprobleme sein, die du beheben solltest, bevor du weitere Optimierungen vornimmst.

Kurz gesagt: Wähle alle deine Tabellen aus und benutze dann die Schaltfläche Tabelle prüfen, um einen Bericht zu erstellen.

Das phpMyAdmin-Tool zeigt die Option "Tabelle prüfen". Auf der linken Seite sind verschiedene Tabellennamen wie wp_termmeta und wp_users zu sehen, jeweils mit Aktionssymbolen für Aufgaben wie Durchsuchen und Suchen. Auf der rechten Seite zeigt ein Kontextmenü Optionen für Tabellenoperationen wie Exportieren und Optimieren an.
Wähle die Option Tabelle prüfen in phpMyAdmin

Wenn du OK oder etwas Ähnliches siehst, ist das optimal. Allerdings müssen alle Fehler behoben werden, bevor du weitermachst. In diesem Fall ist eine Support-Anfrage eine gute Idee.

1. Optimiere deine Datenbanktabellen

Der erste Schritt besteht darin, die Tabellen in deiner Datenbank zu optimieren. Wenn du manuell vorgehst, gehst du in deinem Verwaltungstool auf den Link Datenbanken und wählst dann deine Datenbank aus:

Die Kinsta phpMyAdmin-Benutzeroberfläche zeigt die Registerkarte Datenbanken. Es sind zwei Datenbanken aufgelistet, und für beide sind Aktionen zur Überprüfung der Berechtigungen verfügbar.
Auswählen einer Datenbank in phpMyAdmin

In vielen Fällen befindest du dich bereits in der Datenbank für deine WordPress-Website. In jedem Fall siehst du eine Liste der Tabellen in deiner Datenbank. Wähle sie einfach alle aus und wähle dann die Option Tabelle optimieren aus dem Dropdown-Menü, bevor du auf Los klickst:

Ein Kontextmenü in phpMyAdmin für eine ausgewählte Liste von WordPress-Datenbanktabellen, wobei die Option "Tabelle optimieren" hervorgehoben ist. Weitere Optionen sind Tabelle kopieren, Erstellen, Exportieren, Leeren, Löschen und Tabellenwartung anzeigen.
Du entscheidest dich für die Optimierung aller Datenbanktabellen mit phpMyAdmin

Nach einiger Zeit siehst du einen Bericht, der den Status jeder Tabelle in deiner Datenbank anzeigt:

Die phpMyAdmin-Oberfläche zeigt eine Meldung an, die die erfolgreiche Ausführung einer SQL-Abfrage zur Optimierung der WordPress-Datenbanktabellen anzeigt. Unterhalb der Meldung werden die einzelnen Tabellen mit Hinweisen zu ihrem Optimierungsstatus aufgelistet.
Der Optimierungsbericht in phpMyAdmin

Mit WP-Optimize gehst du zu WP-Optimize > Datenbank > Optimierungen. Hier klickst du auf die Schaltfläche Optimierung ausführen neben der Option Datenbanktabellen optimieren:

A section of the WP-Optimize plugin interface in the WordPress dashboard, showing the 'Optimize database tables' option selected with a 'Run optimization' button highlighted. The interface indicates that the optimization will affect 159 tables.Ein Ausschnitt aus der Oberfläche des WP-Optimize-Plugins im WordPress-Dashboard, in dem die Option
Die Schaltfläche Optimierungen ausführen im Dashboard von WP-Optimize

Das Plugin wird alle Tabellen durchlaufen und dir eine Erfolgsmeldung geben. Jetzt kannst du mit der Überarbeitung der Beiträge fortfahren.

2. Post-Revisionen aufräumen

Das WordPress-Beitragsrevisionssystem bedeutet, dass sich jede Änderung, die du vornimmst, mit der Zeit summieren kann. Mit Hilfe von SQL-Abfragen kannst du sie ganz einfach aus deiner Datenbank löschen. Am einfachsten geht das mit einer einzigen Zeile:

DELETE FROM wp_posts WHERE post_type = 'revision’;

Damit werden alle Arten von Revisionsbeiträgen aus der Tabelle gelöscht. Allerdings gibt es auch in anderen Tabellen zugehörige Daten. Um all diese Daten zu erfassen und zu löschen, kannst du den folgenden Ausschnitt verwenden:

DELETE FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT ID FROM wp_posts);
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);

Natürlich solltest du den richtigen Tabellenpräfix für deine eigene Datenbank verwenden, wenn du diesen kopierst und einfügst. Mit einem Plugin dauert diese Aufgabe nur Sekunden. Ähnlich wie bei der allgemeinen WordPress-Datenbankoptimierung kannst du auch bei WP-Optimize mit einem Klick auf eine Schaltfläche innerhalb von WordPress klicken:

Das WP-Optimize Plugin Dashboard mit Schwerpunkt auf der Datenbankoptimierung. Zu den Optionen gehören das Bereinigen aller Beitragsrevisionen und der automatische Entwurf von Beiträgen, mit einer blauen Schaltfläche "Optimierung ausführen" neben jeder Aufgabe.
Die Optionen zum Löschen von Revisionen und automatischen Entwürfen in WP-Optimize

In Zukunft kannst du die Anzahl der Revisionen, die WordPress verwendet, durch Zugriff auf deine wp-config.php-Datei begrenzen. Füge die folgende Zeile in die Datei ein und speichere deine Änderungen:

define( 'WP_POST_REVISIONS', X );

X ist die Anzahl der Überarbeitungen, die du beibehalten möchtest. Du könntest hier auch false angeben, aber das empfehlen wir nicht. Du solltest immer mindestens eine Revision haben, auf die du zurückgreifen kannst, wenn du sie brauchst.

3. Spam-Kommentare und gelöschte Objekte löschen

Wir können auch SQL-Abfragen verwenden, um Spam-Kommentare zu löschen. Wenn du Kommentare moderierst, bleiben unerwünschte Kommentare 30 Tage lang in deiner Datenbank. Das bedeutet, dass Kommentare, die innerhalb dieses Zeitraums als Spam markiert wurden, in deiner Datenbank verbleiben.

Du kannst sie mit ein paar Zeilen SQL in deinem Datenbankverwaltungsprogramm vollständig löschen:

DELETE FROM wp_comments, wp_commentmeta
USING wp_comments
LEFT JOIN wp_commentmeta ON wp_comments.comment_ID = wp_commentmeta.comment_id
WHERE wp_comments.comment_approved = 'spam’;

Ähnlich verhält es sich mit Artikeln, die du in WordPress in den Papierkorb schickst. Es kann sein, dass viele Inhalte „in der Schwebe“ sind, die du mit einer weiteren SQL-Abfrage löschen kannst:

DELETE p, pm, tr
FROM wp_posts p
LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
LEFT JOIN wp_term_relationships tr ON p.ID = tr.object_id
WHERE p.post_status = 'trash’;

Wie bei den Überarbeitungen von Beiträgen kannst du in der wp-config.php Werte für die Zeit festlegen, die zum Entfernen von Papierkorbeinträgen benötigt wird:

define( 'EMPTY_TRASH_DAYS', X )

In WP-Optimize gibt es drei Optionen, mit denen du Spam-Kommentare und den WordPress-Papierkorb entfernen kannst:

Ein Bereich des WP-Optimize-Plugins im WordPress-Dashboard, in dem verschiedene Bereinigungsoptionen wie das Entfernen von Spam und gelöschten Kommentaren, nicht genehmigten Kommentaren und abgelaufenen transienten Optionen angezeigt werden, mit Checkboxen zur Auswahl der einzelnen Optimierungsaufgaben.
Die Optionen zum Löschen von Spam-Kommentaren, dem Papierkorb und nicht genehmigten Kommentaren in WP-Optimize

Es gibt auch die Option, nicht genehmigte Kommentare zu entfernen. Das kann in manchen Situationen nützlich sein, aber wir würden das nicht empfehlen. Moderiere diese Kommentare stattdessen und lösche sie dann bei Bedarf.

4. Ungenutzte Tags entfernen

Taxonomien sind wichtig für WordPress, aber sie können mit der Zeit zu einer riesigen Sammlung werden. Dies ist ein hervorragender Anwendungsfall für die Optimierung deiner Datenbank, und wie bei anderen Techniken kannst du eine SQL-Abfrage verwenden:

DELETE t, tt
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id
LEFT JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy = 'post_tag' AND tt.count = 0;

Die nächste Option zum Entfernen ungenutzter Tags in WP-Optimize ist Clean post meta data. Sie prüft, ob du verwaiste Metadaten hast und entfernt sie:

Die WP-Optimize Plugin-Oberfläche zeigt Optionen zum Bereinigen der WordPress-Datenbank an. Dazu gehören das Entfernen von Pingbacks und Trackbacks, das Bereinigen von Beitrags-Metadaten und das Bereinigen von Benutzer-Metadaten mit den jeweiligen Zählungen für beide.
Die Optionen in WP-Optimize, um verwaiste Beitrags-Metadaten zu entfernen

Mit dieser Option werden zwar auch Kategorien und andere Daten entfernt, aber es ist eine sichere Lösung, vor allem, wenn kein anderer Beitrag oder keine andere Seite sie verwendet.

5. Pingbacks und Trackbacks loswerden

Wir sind uns nicht sicher, wie viele WordPress-Websites heutzutage Pingbacks und Trackbacks verwenden, aber sie können immer noch deine Datenbank verstopfen, wenn du die Einstellung aktiviert lässt. Als erstes musst du überprüfen, ob du diese Option deaktiviert hast. Das geht ganz einfach über den Bildschirm Einstellungen > Diskussion in WordPress:

Der Bildschirm "Diskussionseinstellungen" im WordPress-Dashboard zeigt Kontrollkästchen für Standardeinstellungen für Beiträge, wie z. B. die Benachrichtigung verlinkter Blogs, die Erlaubnis, Link-Benachrichtigungen von anderen Blogs zu erhalten und die Möglichkeit, Kommentare zu neuen Beiträgen abzugeben.
Der Bildschirm „Diskussionseinstellungen“ in WordPress zeigt die Pingback- und Trackback-Optionen an

Deaktiviere im Abschnitt Standard-Post-Einstellungen die Optionen „Alle Blogs benachrichtigen“ und „Link-Benachrichtigungen zulassen“ und speichere deine Änderungen. Als Nächstes gehst du zurück zu deinem Datenbankmanagement-Tool und führst die folgende Abfrage aus:

DELETE c, cm
FROM wp_comments c
LEFT JOIN wp_commentmeta cm ON c.comment_ID = cm.comment_id
WHERE c.comment_type IN ('trackback', 'pingback’);

Beide befinden sich an der gleichen Stelle wie die Kommentare, obwohl der Typ unterschiedlich ist und die Abfrage darauf abzielt. WP-Optimize bietet zwei verschiedene Optionen für jede dieser Abfragen:

Das WordPress-Dashboard zeigt die WP-Optimize-Plugin-Einstellungen mit den Optionen zum Entfernen von abgelaufenen transienten Optionen, Pingbacks, Trackbacks und zum Bereinigen der Post-Metadaten an und zeigt die Anzahl der gefundenen Artikel für jede Kategorie.
Die Optionen von WP-Optimize zum Entfernen von Trackbacks und Pingbacks

Sobald du diese Aufgabe erledigt hast, solltest du keine Trackbacks oder Pingbacks mehr in deiner Datenbank sehen!

Die automatische WordPress-Datenbank-Optimierung von Kinsta nutzen

Als Kinsta-Kunde brauchst du kein WordPress-Datenbankoptimierungs-Plugin. Wir führen rund um die Uhr automatische Optimierungen für alle Websites durch. Das bedeutet im Umkehrschluss, dass du nichts über SQL-Abfragen, den Speicherort von Daten in deiner Datenbank oder andere für die WordPress-Datenbankoptimierung relevante Dinge wissen musst.

Die kontinuierliche Datenbank-Optimierung ist Teil unseres Application Performance Monitoring (APM). So bleibt deine WordPress-Datenbank (und deine Website) schlank und effizient, ohne dass du manuell eingreifen musst.

APM bereinigt deine Datenbank, indem unnötige Daten wie Transienten, verwaiste Metadaten und Spam-Kommentare entfernt werden. So kannst du sicherstellen, dass deine Datenbank ohne Eingriffe optimiert bleibt.

Das Kinsta APM Dashboard mit dem Diagramm "Gesamte Transaktionszeit", das die Antwortzeit für PHP, MySQL und externe Dienste über einen bestimmten Zeitraum aufschlüsselt. Der Abschnitt darunter listet die "langsamsten Transaktionen" mit Metriken wie Gesamtdauer und Durchschnittsdauer auf.
Das Kinsta APM-Tool

Die Nutzung von APM steht nicht im Mittelpunkt dieses Beitrags, aber wir behandeln sie in unserer Dokumentation. Bei der Datenbanküberwachung überwacht APM die langsamsten SQL-Abfragen, die ausgeführt werden:

Die Kinsta APM-Oberfläche zeigt ein Diagramm mit dem Titel "Langsamste Datenbankabfragen" an, in dem verschiedene mit WordPress-Optionen verbundene SQL-Operationen wie SELECT, UPDATE, INSERT, SHOW und DELETE zusammen mit der Gesamtdauer in Prozent, der Gesamtdauer in Millisekunden, der maximalen Dauer, der durchschnittlichen Dauer und der Rate pro Minute aufgeführt sind.
Ein Bericht von Kinstas APM zeigt die langsamsten Abfragen in der Datenbank

Du erreichst APM über das MyKinsta-Dashboard, insbesondere über den APM-Bildschirm. Beachte, dass du diese Funktion möglicherweise erst einschalten musst:

Ein Dashboard des Kinsta-Hostingdienstes, das den Bereich Application Performance Monitoring (APM) anzeigt. Es enthält eine kurze Erläuterung der APM-Funktion sowie Warnhinweise zu ihrer Nutzung. Eine Schaltfläche "APM aktivieren" wird angezeigt, mit der der Nutzer den Dienst aktivieren kann.
Die Option zur Aktivierung von APM im MyKinsta-Dashboard

Von hier aus musst du APM etwas Zeit geben, um die Daten zu sammeln. Sobald die Daten jedoch sichtbar sind, kannst du die Abfragen überprüfen, die noch optimiert werden müssen.

Wie du Datenbankabfragen für mehr Effizienz optimierst

Die Optimierung deiner Datenbankabfragen ist wichtig, um die Leistung und Geschwindigkeit deiner WordPress-Website zu verbessern. Effiziente Abfragen bedeuten einen schnelleren Abruf von Daten, was wiederum zu kürzeren Ladezeiten und einem besseren Nutzererlebnis führt.

Da du für die Optimierung deiner WordPress-Datenbank Abfragen verwendest, findest du hier ein paar Tipps, wie du sie effizienter gestalten kannst:

  • Optimiere deine Abfragestrukturen. Du wirst feststellen, dass wir in unseren Beispielabfragen keine Platzhalter (oder Sternchen) verwenden. Anstatt SELECT * zu verwenden, solltest du genau die Spalten angeben, die du brauchst. Verwende außerdem JOIN anstelle von Unterabfragen, wo es möglich ist. Unterabfragen können weniger effizient sein, vor allem wenn sie nicht gut strukturiert sind oder große Datensätze beinhalten.
  • Nutze das Abfrage-Caching. Tools wie Redis können die Ergebnisse von Abfragen im Speicher ablegen. Das bedeutet, dass die Ergebnisse der Abfrage aus dem Cache abgerufen werden können, anstatt die Datenbank beim nächsten Mal erneut abzufragen.

Das sind vage Tipps, aber es gibt noch viel mehr, was du hier tun kannst. Schauen wir uns das als Nächstes an.

Erweiterte Tipps zur Optimierung der WordPress-Datenbank und zur Fehlerbehebung

Die „Indizierung“ kann dir dabei helfen, deine Datenbank mit einem schnellen Nachschlagewerk zu versehen. Sie hilft dem Datenbankserver, Daten schneller zu finden, ohne jede Zeile einer Tabelle zu durchsuchen.

Um dies zu erreichen, identifiziere die Spalten, die häufig in deinen Abfragen verwendet werden, und überlege dir, ob du für sie Indizes hinzufügen willst. Das kannst du in phpMyAdmin (oder einem ähnlichen Programm) tun. Klicke zunächst auf die Tabelle, die du indizieren möchtest, und gehe dann auf die Registerkarte Struktur:

Die Registerkarte "Struktur" in phpMyAdmin für die Tabelle "wp_posts" in einer WordPress-Datenbank. Sie zeigt eine Liste der Spalten mit Typen, Sortierung, Attributen und verfügbaren Aktionen wie Ändern und Löschen.
Zugriff auf die Registerkarte „Struktur“ für eine Tabelle in phpMyAdmin

Wähle dann die Spalten aus, die du indizieren willst, und wähle die Option Index am unteren Rand der Tabelle:

Eine Nahaufnahme eines Bereichs in phpMyAdmin, in dem die Indexoption für eine WordPress-Datenbanktabelle hervorgehoben ist. Andere Optionen wie Browse, Change, Drop, Primary, Unique, Spatial und Fulltext sind ebenfalls sichtbar.
Indizierung von Spalten in phpMyAdmin auswählen

Sobald du deine Änderungen gespeichert hast, werden diese Spalten indiziert.

Die Anweisung EXPLAIN kann dir auch helfen zu verstehen, wie MySQL deine Abfrage ausführt. So kannst du Ineffizienzen erkennen und verstehen, wie deine Abfrage mit den Indizes interagiert. Um sie auszuführen, fügst du die Anweisung vor einer bestehenden Abfrage ein. Wenn du sie ausführst, wird SQL aufschlüsseln, wie die Abfrage ausgeführt wird:

Das Ausgabefenster der SQL-Abfrage von phpMyAdmin zeigt eine Meldung über die erfolgreiche Ausführung einer SQL-Abfrage. Unterhalb der Meldung steht ein SQL-Befehl, der einen Löschvorgang für WordPress-Kommentartabellen erklärt, mit Details zum Ausführungsplan der Abfrage.
Die Ausgabe einer Abfrage, der eine EXPLAIN-Anweisung vorangestellt ist

Wir können hier nicht alles über die EXPLAIN Anweisung behandeln, obwohl die MySQL-Dokumentation fast alles abdeckt, was du darüber wissen musst.

Überwachung der Leistung

Die Überwachung der Leistung deiner WordPress-Datenbank ist ein wesentlicher Bestandteil des Betriebs einer Website. Sie hilft dabei, mögliche Probleme zu erkennen, bevor sie sich aufblähen, und stellt sicher, dass deine Website effizient und reaktionsschnell bleibt.

Viele der Techniken, die wir in diesem Beitrag behandeln, dienen der Leistungsüberwachung, wie z. B. die Verwendung von EXPLAIN bei langsamen Abfragen. Aber es gibt noch viel mehr, was möglich ist. In phpmyAdmin gibt es auf der Registerkarte Status des Servers sogar eigene Leistungsdaten:

Die phpMyAdmin-Registerkarte "Status" zeigt ein Tortendiagramm und eine Liste der SQL-Anweisungsoperationen mit ihrer Häufigkeit. Das Diagramm zeigt die Verteilung von Operationen wie "Option setzen", "Variablen anzeigen" und "Auswählen" seit dem Start des Servers.
Der phpmyAdmin-Statusbildschirm

So kannst du die Ausführungszeiten und Prozesse von Abfragen (auf der Registerkarte Abfragestatistiken ) einsehen, was dir hilft, die Abfragen zu identifizieren, die optimiert werden müssen. Für die erweiterte Überwachung ist die MySQL Workbench von unschätzbarem Wert:

Eine Detailansicht der MySQL Workbench mit zwei SQL-Abfragen im Editor und dem Ergebnisbereich darunter. In der linken Seitenleiste sind die Datenbankschemata aufgelistet, und die Symbolleiste oben bietet verschiedene Funktionen für die Datenbankverwaltung. Eine Snippet-Box auf der rechten Seite bietet Hilfe zur SQL-Syntax.
Die Hauptbenutzeroberfläche der MySQL Workbench

Sie bietet dir erweiterte Funktionen für Datenbankdesign, -entwicklung und -verwaltung. Außerdem bietet sie Leistungsberichte und Diagnosen, die dir bei der Feinabstimmung deiner Datenbank helfen können.

In WordPress kannst du mit dem mehrjährigen Plugin Query Monitor Datenbankabfragen, Hooks, Conditionals, HTTP-Anfragen und mehr überwachen.

Der WordPress.org-Header für das Query Monitor Plugin. Er zeigt die Abfragen nach Komponenten an, wobei der Schwerpunkt auf Komponenten wie "wordpress-seo" und "woocommerce" liegt. HTTP-Anfragen werden mit Methoden, URLs und Status aufgelistet, zusammen mit einem Panel für Warnungen und Hinweise.
Das Query Monitor-Plugin

Es ist besonders nützlich, um langsame Abfragen zu erkennen und die Plugins oder Themes zu identifizieren, die sie verursachen. In den meisten Fällen handelt es sich jedoch um ein Entwicklungs-Plugin, das für eine Produktionsseite nicht geeignet ist.

Wie man mit großen Datenbanken in WordPress umgeht

Wenn eine WordPress-Website an Inhalt, Nutzern und Besucherzahlen zunimmt, vergrößert sich natürlich auch ihre Datenbank. Wenn du eine Website betreibst, wirst du häufig mit einer großen Datenbank konfrontiert sein (oder dir Sorgen machen).

Die meisten Ratschläge, die wir in diesem Artikel geben, eignen sich für eine große Datenbank – und helfen diese so gut es geht klein zu halten. Es gibt aber noch viele weitere Tipps für Datenbanken, die von Natur aus größer sind als üblich:

  • Archiviere ältere Daten. Anstatt alle Daten live zu halten, solltest du alte Beiträge oder Nutzerdaten archivieren, auf die du nicht regelmäßig zugreifst.
  • Nutze ein Content Delivery Network (CDN). Das Auslagern und Bereitstellen von statischen Ressourcen wie Bildern, Videos und Downloads von einem anderen Server kann die Last auf deiner Website verringern und zu ihrer Beschleunigung beitragen. Außerdem wird deine Seite für die Nutzer/innen schneller geladen, egal wo sie sich befinden.
  • Benutzerdefinierte Abfragen. Wenn du ein WordPress-Entwickler bist, schreibe effiziente Abfragen für deine Themes und Plugins. So holst du nur das, was du brauchst, und die Effizienz bleibt hoch.

Du kannst sogar fortgeschrittene Techniken wie Tabellenpartitionierung und Datenbank-Sharding in Betracht ziehen Dabei werden die Daten auf mehrere Datenbanken aufgeteilt. Das ist oft komplex und erfordert in der Regel ein Expertenmanagement.

Apropos, Experten sind eine Notwendigkeit, wenn es um eine hohe Leistung deiner Datenbank und der angeschlossenen Website geht. Das WordPress-Hosting von Kinsta ist skalierbar, verwaltet und für die Plattform optimiert.

Das Kinsta-Hosting-Dashboard zeigt " Website-Informationen" mit Abschnitten für grundlegende Details, Umgebungsdetails und SFTP/SSH-Informationen an. Diagramme für Website-Besuche und die Gesamttransaktionszeit sind sichtbar und geben Aufschluss über die Leistung der Website.
Die Kinsta WordPress Hosting Website

Unsere Tarife beginnen bei 35 US-Dollar pro Monat und unsere Architektur kann einen einfachen Blog bis hin zu Unternehmensnetzwerken unterstützen. Melde dich bei uns, um herauszufinden, wie wir dein langfristiger Hosting-Partner werden können, unabhängig von deinen Zielen.

Zusammenfassung

Deine WordPress-Datenbank ist wie der Motor eines Autos: Ohne Tuning wird sie nicht so gut funktionieren, wie du es brauchst. Wenn du deine WordPress-Datenbank nicht optimierst, kann es passieren, dass du bei den Suchergebnissen vom ersten auf den letzten Platz zurückfällst. Auch deine Nutzerinnen und Nutzer werden merken, dass deine Website zu den Schlusslichtern gehört, deshalb ist eine optimale Datenbank, die schnell läuft, entscheidend für deinen Erfolg.

Es gibt viele Möglichkeiten, dies zu erreichen, aber eine Kombination aus manuellen Techniken, Plugins und den Kinsta-eigenen Optimierungstools bringt dir die besten Vorteile. In vielen Fällen kann dir die Automatisierung dabei helfen, viele dieser Aufgaben zu erledigen, ohne dass du dich selbst einloggen oder ein bestimmtes Tool ausführen musst.

Wir würden uns freuen zu hören, ob unsere Tipps zur Optimierung der WordPress-Datenbank für dich funktioniert haben. Lass uns in den Kommentaren wissen, welche Tipps dir am meisten geholfen haben!

Jeremy Holcombe Kinsta

Content & Marketing Editor bei Kinsta, WordPress Web Developer und Content Writer. Außerhalb von WordPress genieße ich den Strand, Golf und Filme. Außerdem habe ich Probleme mit großen Menschen ;).