Der Satz „Weniger ist schneller“ erklärt in drei Worten, warum es sich für dich lohnt, deine WordPress Datenbank zu bereinigen. Wie du dabei vorgehen kannst und worauf du achten solltest, erklären wir dir in diesem Artikel.
Wir starten mit den Basics, um zu verstehen, was eine WordPress Datenbank ist und wie sie aufgebaut ist. So kannst du noch sicherer Änderungen im Backend deiner WordPress Website vornehmen. Alternativ kannst du auch direkt zur Checkliste springen.
Was ist eine (WordPress) Datenbank?
Grundsätzlich ist eine Datenbank ein elektronisches System, um Daten zentral und geordnet zu speichern und zu verwalten. Mit entsprechender Berechtigung können Nutzer:innen auf diese zugreifen, sie verändern, löschen oder Daten hinzufügen.
Das bedeutet: ohne Datenbank keine Website. Denn alle für die Ausführung wichtigen Daten sind in der Datenbank gespeichert. Dazu zählen Benutzerinformationen, Einstellungen, Blog Posts, Meta-Informationen zu Inhalten wie Bilder, Videos und vieles mehr.
Wie ist eine WordPress Datenbank aufgebaut?
Eine Datenbank besteht aus zwei Komponenten: aus der eigentlichen Datenbank (Datenbasis) und dem Datenbankmanagementsystem (DBMS).
Das Datenbankmanagementsystem ist die Software, die du benötigst, um eine Datenbank anzulegen und zu bearbeiten. Ohne ein DBMS sind keine Operationen an den physischen Daten möglich. Daher erfüllt ein DBMS folgende Aufgaben:
- Daten speichern
- Daten löschen
- Daten überschreiben
- Daten auf Basis des Datenmodells organisieren (z. B. im Fall der WordPress Datenbank in Tabellen, auch Relationen genannt)
WordPress nutzt MySQL als Datenbankmanagementsystem. SQL (Structured Query Language) ist die Standardsprache, um relationale Datenbanken abzufragen und zu editieren.
WordPress – eine relationale Datenbank
Die in der Datenbank gespeicherten Informationen zu deiner Website liegen nicht alle im selben Topf, sondern sind kategorisiert. Die Kategorien heißen Datenbanktabellen, auch Relationen genannt. Demnach ist WordPress eine relationale Datenbank, weil Daten in Tabellen organisiert und miteinander verknüpft werden.
Das kannst du dir vorstellen wie eine große Excel Kalkulation oder wie die Ordnerstruktur deiner Dateiablage. Klickst du einen Ordner an, erhältst du detaillierte Informationen zu dem Thema. Nach demselben Prinzip enthalten die Datenbanktabellen in WordPress ebenfalls verschiedene Spalten und Felder mit spezifischeren Informationen.
Die Tabelle wp_comments enthält zum Beispiel Daten zu Kommentaren, die auf deinen Webseiten und Beiträgen hinterlassen wurden. Weiter unterteilt ist die Tabelle in folgende Spalten:
- comment_ID
- comment_post_ID
- comment_author
- comment_author_email
- comment_author_url
- comment_author_IP
- comment_date
- comment_date_gmt
- comment_content
- comment_karma
- comment_approved
- comment_agent
- comment_type
- comment_parent
- user_id
In der WordPress Datenbank sind somit viele Informationen zu jedem einzelnen Kommentar gespeichert. Unter anderem die eindeutige ID des Kommentars, in welchem Beitrag er sich befindet, Details über die Autor:innen und vieles mehr.
Wo befindet sich die WordPress Datenbank?
Deine WordPress Datenbank liegt auf den Servern deines Hosting Anbieters. Zugriff auf die Datenbank erhältst du über das Backend deines Hosters. Viele (nicht alle) Maßnahmen zur Optimierung deiner Datenbank kannst du aber auch über dein WordPress Dashboard durchführen. Wir werden dir beide Wege zeigen, dann kannst du nach deinem Gusto arbeiten.
Des Weiteren stellen wir dir, wann immer sinnvoll, Plugins vor, die dich beim Aufräumen unterstützen. Bevor wir die Aufräumaktion starten, bekommst du im nächsten Abschnitt noch einen Motivationsboost!
Vorteile durch die Bereinigung deiner WordPress Datenbank
Du kannst beschwingter an die Arbeit gehen, wenn du genau weißt, warum es sich für dich lohnt. Wenn du deine WordPress Datenbank bereinigst, profitierst du durch:
- Mehr Speicherplatz, weil du dich endgültig von Daten trennst, die keinen Bezug mehr zu deiner Website haben (verwaiste Daten).
- Höhere Geschwindigkeit, weil du deine WordPress Datenbank optimierst. Das heißt, leere Zeilen werden aus den Tabellen gelöscht, was beim Auslesen Zeit spart.
- Mehr Übersicht im Backend, weil du nach dem Ausmisten viel weniger Themes, Plugins und Ähnliches hast. Es bleibt nur noch das, was du für eine gute Performance deiner Website brauchst.
- Höhere Benutzerfreundlichkeit durch geringere Ladezeiten und schnelleres Reagieren der Seite.
- SEO Vorteile durch positive Nutzersignale und ein schnelleres WordPress.
Checkliste WordPress Datenbank aufräumen
Aufräumen heißt löschen, deshalb solltest du unbedingt ein Backup erstellen, bevor du dich an die Arbeit machst. Je nach Hosting Anbieter werden Backups täglich automatisch erstellt. Bei Raidboxes sichert beispielsweise ein automatisches Backup System jede Nacht den aktuellen Stand deiner Website. Zur Sicherheit kannst du aber auch zusätzlich manuell ein Backup erstellen.
Und dann heißt es: Los geht’s mit der Datenbankbereinigung! Das sind die Schritte, an die du dabei denken solltest:
- Themes entfernen
- Plugins ausmisten
- Entwürfe löschen
- Revisionen löschen
- Mediathek bereinigen und optimieren
- Spam Kommentare löschen
- WordPress Sessions löschen
Selbst machen oder Agentur beauftragen?
Die genannten Schritte erfordern teilweise viel Hintergrundwissen, damit du keinen Schaden auf deiner Website anrichtest. Wenn du dir unsicher bist, was du tun sollst, dann beauftrage lieber Freelancer oder eine Agentur mit der Wartung deiner WordPress Website. Siehe auch das Partnerverzeichnis von Raidboxes.
1. Themes entfernen
Zu viele Themes machen dein WordPress langsam. Dabei geht das Aufräumen blitzschnell. Behalte das Theme, das du nutzt und ein weiteres Standard Theme. Das kann nützlich sein, wenn du mal einen Fehler beheben musst. Verwendest du ein Child Theme, dann benötigst du auch weiterhin das Parent Theme. Darüber hinaus kannst du alle anderen Themes löschen.
So geht’s im WordPress Backend:
Klicke in der Seitenleiste auf Design → Themes und wähle ein inaktives Theme aus:
Dadurch öffnet sich ein Fenster mit Details zum Theme. Unten links findest du den Button Löschen. Gehe mit allen überflüssigen Themes wie beschrieben vor.
2. Plugins ausmisten
Bei der Menge an angebotenen Plugins, kann sich ordentlich etwas auf deiner WordPress Datenbank ansammeln. Vielleicht hast du einige Plugins ausprobiert und dann wieder vergessen. Oder du hast für dieselbe Funktion gleich mehrere Plugins. Sortiere deshalb aus und lösche überflüssige sowie ungenutzte.
So geht’s im WordPress Backend:
Leichter wird es mit dem Filter „inaktive Plugins“. Bevor du jedoch gleich die ganze Liste löschst, checke, welche du davon noch brauchst. Gehe anschließend deine aktiven Plugins durch. Welche Aufgabe erfüllt das Plugin und erfüllen eventuell zwei dieselbe? Sortiere aus und lösche unnötige Plugins.
Behalte dabei ein Plugin, das dir hilft, deine Datenbank zu reinigen (zum Beispiel Advanced Database Cleaner). Sonst hast du zwar das Plugin oberflächlich gelöscht, aber in deiner Datenbank existieren dazu immer noch Datenreste. Denn die meisten Plugins legen Tabellen in der Datenbank an, um dort ihre Daten zu speichern.
Daher sollte auch die angelegte Tabelle zu dem Plugin in der Datenbank gelöscht werden. Das kannst du mithilfe eines Plugins erledigen oder du gehst direkt den Weg über eine SQL-Abfrage. Für eine höhere IT-Sicherheit aktualisiere zum Schluss alle verbleibenden Plugins.
3. Entwürfe löschen
Im Bereich Entwürfe kann der Datenmüll mit der Zeit zu einem Superhaufen anschwellen. Das beeinträchtigt die Performance deiner Website. Nutze daher für deine Entwürfe lieber Google Drive oder Ähnliches, statt Drafts im Backend deiner Website zu erstellen. Die bisher gesammelten Entwürfe wirst du zum Glück schnell wieder los.
So geht’s im WordPress Backend:
Gehe über Seiten → Alle Seiten, finde die Einteilung Alle | Meine | Veröffentlichte | Entwürfe und lösche alles, was du nicht direkt veröffentlichen willst.
So geht’s mit MySQL:
Mit dieser SQL-Abfrage kannst du alle Entwürfe löschen:
DELETE FROM post WHERE post_status = ‘draft’
Führe SQL-Abfragen generell nur dann durch, wenn du dich mit Datenbanken und der Datenbanksprache wirklich auskennst.
4. Revisionen löschen
Eine weitere Maßnahme, mit der du deine WordPress Datenbank optimieren kannst, ist das Löschen von Revisionen. Jedes Mal, wenn du einen Beitrag oder eine Seite speicherst beziehungsweise aktualisierst, legt WordPress automatisch eine Revision an und speichert sie in der Datenbank, um ältere Versionen deiner Seiten und Inhalte zu sichern.
Hast du pro Beitrag beispielsweise 15 Revisionen, dann kommst du bei 100 Beiträgen auf 1500 unnötige Einträge. Das bläht deine Datenbank auf und verlangsamt die Performance deiner Website.
So geht’s im WordPress Backend:
Klicke den Beitrag oder die Seite an, deren Revisionen du löschen möchtest. Finde rechts die Checkbox Revisionen. Wähle die Revisionen aus, die du löschen möchtest. Klicke auf Löschen.
Manuell Revisionen zu löschen ist aufwendig, weshalb wir empfehlen, den schnelleren Weg über eine SQL Abfrage zu gehen oder ein Plugin zu nutzen.
So geht’s im Hosting Backend:
Reminder: Erstelle immer ein Backup, bevor du SQL-Befehle auf deiner WordPress Datenbank ausführst. Führe ansonsten folgende SQL-Abfrage durch, um alle Revisionen zu löschen:
DELETE FROM wp_posts WHERE post_type = „revision“
Anschließend kannst du weitere Einstellungen vornehmen, damit WordPress künftig keine oder nur eine begrenzte Anzahl an Revisionen pro Seite anlegt. Diese kannst du bei Raidboxes sehr einfach über die wp-config.php Einstellungen im Dashboard hinterlegen.
Willst du die Anzahl der Revisionen auf beispielsweise „3“ limitieren, nutze diese Codezeile:
define(‚WP_POST_REVISIONS‘, 3)
Um WordPress Revisionen komplett zu deaktivieren, füge folgende Codezeile in deine PHP-Datei ein:
define(‚WP_POST_REVISIONS‘, false)
Ob es sinnvoll ist, Revisionen zu deaktivieren, solltest du für dich entscheiden. Revisionen können hilfreich sein, wenn dir Änderungen nicht gefallen, um auf die vorherige Version zurückzusetzen. Oder du kannst Revisionen vergleichen, um zu sehen, was du geändert hast, bzw. welche Änderungen von anderen vorgenommen wurden.
So geht’s mit Plugins:
WP-Sweep:
WP-Sweep ist ein kostenloses WordPress Plugin, das dir nicht nur hilft, Revisionen zu löschen, sondern dich auch beim Aufräumen in den Bereichen Entwürfe, Kommentare und Metadaten unterstützt.
Installiere das Plugin. Klicke in der Sidebar auf „Tools“ und öffne WP-Sweep. Unter „Post Sweep“ findest du „Revisionen“. Klicke auf „Sweep“, um alle Revisionen zu löschen.
WP Optimize:
WP Optimize ist ein WordPress Plugin, mit dem du deine Datenbank bereinigen, Bilder komprimieren und deine Seiten cachen kannst. Caching sorgt für schnellere Ladezeiten und zuverlässigere Verfügbarkeit deiner Website. Denn Inhalte werden aus dem Zwischenspeicher schneller geladen als bei einer komplett neuen Anfrage. Bei Raidboxes ist jedoch bereits ein serverbasiertes Caching enthalten, ohne dass du hierfür ein Plugin benötigst.
Darüber hinaus kannst du in den allgemeinen Einstellungen von WP Optimize einen Zeitplan für die Datenbankbereinigung festlegen, um das Aufräumen teilweise zu automatisieren.
Klicke in der Sidebar auf Tools > WP Optimize. In den Plugin Einstellungen im Bereich „Optimieren“ findest du die Checkbox „Alle Revisionen bereinigen“. Setze den Haken und klicke anschließend auf „Optimierung“.
Advanced Database Cleaner:
Mit dem WordPress Plugin Advanced Database Cleaner kannst du ebenfalls den Datenmüll historisch gewachsener Websites beseitigen. Das Plugin zeigt dir verwaiste Daten an, sodass du sie bereinigen kannst. Das sind Daten, zu denen kein Bezug mehr hergestellt werden kann und die deshalb unnötig Speicherplatz belegen.
Wie auch bei allen anderen Plugins gilt: Unbedingt vor der Benutzung deine Datenbank sichern, damit du diese wiederherstellen kannst, falls es zu ungewollten Fehlern kommt.
5. Mediathek bereinigen und optimieren
Je länger du deine Website betreibst, desto wahrscheinlicher ist es, dass sich in deiner Mediathek Bilder befinden, die du nicht nutzt. Das beansprucht unnötigen Speicherplatz, erhöht die Größe deiner Backups und drosselt die Geschwindigkeit deiner Website.
So geht’s im WordPress Backend:
Wähle in der linken Seitenleiste Medien → Medienübersicht aus. Klicke auf das Bild, das du löschen möchtest. Daraufhin öffnet sich ein Fenster mit Details. Wähle ganz unten rechts Endgültig löschen aus und bestätige mit OK, um die Datei dauerhaft zu löschen.
Vorsicht beim Verwenden der Filterfunktion „nicht angehängte“ Bilder. Denn hier werden dir auch fälschlicherweise Medien angezeigt, die eingebunden sind – beispielsweise dein Logo. Schaue deshalb genau hin, damit du nicht die falschen Medien löschst.
Wenn deine Mediathek nicht so groß ist und du eine überschaubare Anzahl an ungenutzten Bildern löschen möchtest, dann geht das manuell. Andernfalls empfehlen wir dir, ein Plugin zu nutzen oder den Weg über MySQL zu gehen.
So geht’s mit MySQL:
Bilder werden in der Tabelle wp_posts gespeichert, also in derselben Tabelle wie deine Beiträge. Unterschieden werden die Inhalte durch den Wert attachment in der Spalte post_type.
Um herauszufinden, welche Bilder ungenutzt sind, führe folgende SQL-Abfrage durch:
SELECT *FROM wp_posts i
WHERE i.post_type = 'attachment'
AND NOT EXISTS (SELECT FROM wp_posts p WHERE p.ID = i.post_parent)
AND NOT EXISTS (SELECT FROM wp_postmeta pm WHERE pm.meta_key = '_thumbnail_id' AND pm.meta_value = i.ID)
AND NOT EXISTS (SELECT FROM wp_posts p WHERE p.post_type <> 'attachment' AND p.post_content LIKE CONCAT('%',i.guid,'%'))
AND NOT EXISTS (SELECT * FROM wp_postmeta pm WHERE pm.meta_value LIKE CONCAT('%',i.guid,'%'))
Bei Page Buildern kann es sein, dass diese Vorgehensweise nicht funktioniert, dazu gleich noch mehr. Durch die Verwendung von Plugins können auch falsch positive Ergebnisse ausgespielt werden, da diese Verweise auf Bilder in ihren eigenen Tabellen speichern. Hier solltest du bei Abfrage zusätzliche Bedingungen hinzufügen, um diese Fälle abzudecken.
Um versehentlich gelöschte Bilder schnell wiederherstellen zu können, aktiviere für Medien den Papierkorb mit folgendem Code, etwa über die wp-config.php Einstellungen im Raidboxes Dashboard:
define(‚MEDIA_TRASH‘, true);
Mit diesen Plugins geht es ebenfalls:
Media Cleaner hilft dir, ungenutzte Medien zu löschen. Allerdings ist dieses Plugin nur geeignet, wenn du keine Page Builder wie Thrive Architect, OptimizePress & Co. nutzt. Denn die in den Page Buildern eingebundenen Medien werden nicht korrekt erkannt. Remove Unused Media ist ein kostenpflichtiges Plugin, aber dafür mit vielen Page Buildern kompatibel.
Dateiformate anpassen, um eine Große Mediathek zu vermeiden
Einen zusätzlichen Geschwindigkeitsschub verpasst du deiner Website, indem du das Format deiner Bilder anpasst. Achte darauf, das Format JPG oder WebP zu verwenden, statt PNG, um deutlich Speicherplatz zu sparen und die Ladezeit deiner Website zu verringern.
Bilder vor dem Hochladen Komprimieren
Nutze Tools wie Tinyjpg, um Bilder zu komprimieren, bevor du sie in deine Mediathek hochlädst. So sparst du viel Speicherplatz. WordPress Bildgrößen sind auf jeden Fall ein großer Hebel, damit deine Website besser performt.
„*“ zeigt erforderliche Felder an
6. Spam Kommentare löschen
Spam Kommentare vereinnahmen unnötig Speicherplatz und drosseln die Ladezeit deiner Website.
So geht’s im WordPress Backend:
Klicke in der Seitenleiste auf Kommentare und wähle Spam → Spam leeren, um Spam Kommentare zu löschen.
So geht’s mit MySQL:
Führe folgende SQL-Abfrage durch, um alle als Spam gekennzeichneten Kommentare zu löschen:
DELETE FROM wp_comments WHERE comment_approved = `spam`;
Um alle nicht genehmigten Kommentare zu löschen, nutze diese Abfrage:
DELETE from wp_comments WHERE comment_approved = `0`;
So geht’s mit Plugins:
Das WordPress Plugin Antispam Bee bereinigt und stoppt viele Spam Kommentare auf deiner WordPress Installation.
7. WordPress Sessions löschen
Sessions steuern, protokollieren und überprüfen User Login Sitzungen. Normalerweise löscht WP Cronjob diese Sessions aus der Datenbank. Jedoch werden Cronjobs von Plugins deaktiviert. Das heißt: Userdaten werden länger gespeichert als benötigt beziehungsweise erlaubt.
So geht’s mit MySQL:
Über folgende SQL-Abfrage kannst du sehen, ob du viele Session Datenbankeinträge auf deiner WordPress Installation hast:
SELECT * FROM ‚wp_options‘ WHERE ‚option_name‚ LIKE ‚_wp_sessions_%‘
Löschen kannst du diese Einträge über folgende Abfrage:
DELETE FROM `wp_options‚ WHERE ‚option_name‚ LIKE “_wp_sessions_%‘
So unterstützt dich Raidboxes:
Der WordPress Session Eraser löscht nach einem von dir festgelegten Intervall die WordPress Sessions aller User:innen aus deiner Datenbank. Dieses Intervall kannst du in deinen Box Einstellungen für jede WordPress Installation individuell festlegen.
- Klicke auf den Tab Einstellungen in deiner Box Übersicht
- Navigiere links zum Menü Sicherheit
- Wähle dann WP Session Eraser aus und setze das Intervall
WordPress Datenbank aufräumen – der Performance Boost für deine Website
Deine WordPress Datenbank zu bereinigen, macht deine Website unter dem Strich schneller und leichter. In diesem Artikel hast du erfahren, wie du vorgehen kannst, wenn du deine WordPress Datenbank noch nie oder schon lange nicht mehr entrümpelt hast. Außerdem haben wir gezeigt, wie du mithilfe von Plugins einiges terminieren und automatisieren kannst.
Insgesamt gilt: Je regelmäßiger du aufräumst, desto geringer ist der Aufwand, um deine Datenbank zu bereinigen. Setze dir deshalb beispielsweise zweimal im Jahr einen Slot und halte die Datenbank deiner WordPress Website möglichst schlank.
Seiten und Beiträge optimieren
Behalte bei deiner WordPress Wartung auch das Große Ganze im Auge und optimiere beispielsweise dein Seitenkonzept, um die Conversions in die Höhe zu treiben. Wie das geht, erfährst du in unserem Artikel WordPress aufräumen: Frühjahrsputz mit Perspektive.
FAQ WordPress Datenbank bereinigen
Warum braucht WordPress eine Datenbank?
WordPress benötigt eine Datenbank, um Inhalte, Einstellungen, Benutzerinformationen und weitere Daten deiner Website zu speichern, zu verwalten und bereitzustellen.
Wo liegt die WordPress Datenbank?
Die WordPress Datenbank liegt auf den Servern deines Hosting Anbieters. Du kannst über deine Login-Daten darauf zugreifen.
Welche Datenbank für WordPress?
WordPress verwendet das Datenbankmanagementsystem „MySQL“, weshalb oft von „MySQL Datenbank“ gesprochen wird.
Ist WordPress eine Datenbank?
Nein. WordPress ist ein Content Management System (CMS). Die Datenbank dagegen ist die Basis, um Inhalte im CMS zu speichern und zu verwalten.
Wie viele Datenbanken für WordPress?
Pro WordPress Installation benötigst du eine MySQL Datenbank.
Wie schwierig ist SQL?
Wenn du bereits Grundkenntnisse in Programmierung hast, ist SQL eine relativ einfache Sprache, die sich leicht erlernen lässt. Verwendet wird eine klare und einfache Syntax, die es ermöglicht, Abfragen auf Datenbanken auszuführen und Daten zu editieren.
Deine Fragen zu WordPress Datenbank bereinigen
Du hast Fragen zur Wartung von WordPress? Dann nutze gerne die Kommentarfunktion. Du willst über weitere Beiträge zum Thema WordPress und WooCommerce informiert werden? Dann folge uns auf LinkedIn, Facebook, Twitter oder über unseren Newsletter.
Danke für diese Inputs, immer wieder lehrreich bei euch 🙂
Wenn ich versuche, in der mySQL den im Artikel vorgeschlagenen Code-Block zur „Mediathek bereinigen und optimieren“ wie beschrieben unter Pkt einzugeben, bockt mySQL. Bei einer Überprüfung der Gültigkeit der Syntax mit Online-Tools erhalte ich die Meldung, dass:
„syntax error near ‚FROM wp_posts p WHERE p.ID = i.post_parent) AND NOT EXISTS (SELECT FROM wp_postm‘ at line 3“.
Ist da etwa irgendwo ein Tippfehler reingerutscht?
Dank im im Voraus für das Feedback 🙂
korrigiert, mit dieser Query funzt es
SELECT *
FROM wp_posts i
WHERE i.post_type = ‚attachment‘
AND NOT EXISTS (SELECT *
FROM wp_posts p
WHERE p.ID = i.post_parent)
AND NOT EXISTS (SELECT *
FROM wp_postmeta pm
WHERE pm.meta_key = ‚_thumbnail_id‘
AND pm.meta_value = i.ID)
AND NOT EXISTS (SELECT *
FROM wp_posts p
WHERE p.post_type ‚attachment‘
AND p.post_content LIKE CONCAT(‚%‘, i.guid, ‚%‘))
AND NOT EXISTS (SELECT *
FROM wp_postmeta pm
WHERE pm.meta_key ‚_wp_attached_file‘
AND pm.meta_value LIKE CONCAT(‚%‘, i.guid, ‚%‘))