Quantcast
Channel: WordPress – Dr. Web
Viewing all articles
Browse latest Browse all 468

Großreinemachen: So optimieren Sie Ihre WordPress-Datenbank

$
0
0

Eine MySQL-Datenbank verwaltet den kompletten Inhalt einer WordPress-Website. Blog-Beiträge, Seiten, Kommentare und den Inhalt von Custom Post Types. Zusätzlich werden noch die Einstellungen der Webseite gespeichert, ebenso wie jene von Themes und Plugins. Wenn Sie Ihre Website regelmäßig aktualisieren und pflegen, neue Beiträge schreiben und auf diese Beiträge Kommentare bekommen, dann schwillt die Datenbank immer mehr an. Letztendlich kann eine umfangreiche und nicht optimierte Datenbank erheblichen Einfluss auf die Ladegeschwindigkeit Ihrer Webseite haben. Jedoch können Sie durch das Entfernen unnötiger Daten die Effizienz Ihrer Datenbank steigern und somit Einfluss auf die Ladegeschwindigkeit nehmen. Lassen Sie uns gemeinsam schauen, wie dieses Ziel erreicht werden kann.

Das Optimieren der WordPress Datenbank

Der Aufbau der WordPress-Datenbank

Wenn man mit WordPress als Content Management System arbeitet, kann es nicht schaden, etwas mehr über die Datenbank und die einzelnen Tabellen zu erfahren. So können Sie bei der Optimierung der Datenbanktabellen selbst Hand anlegen und müssen sich nicht auf obskure Plugins verlassen, die vielleicht mehr schaden als helfen.

WordPress bringt zur Zeit (wenn ich mich nicht verzählt habe) 11 eigene Tabellen mit, die während der Installation angelegt werden. Sehr schnell kommen etliche Tabellen hinzu, die von Plugins und Themes angelegt werden, so dass der Umfang der Datenbank tendenziell und dauerhaft wächst.

Jede WordPress-Tabelle hat eine spezifische Funktion. Ich stelle hier jede Core-Tabelle einmal kurz vor:

  • wp_commentmeta – Beherbergt die Meta-Informationen über die Kommentare
  • wp_comments – Hier werden die Kommentare gespeichert
  • wp_links – Speichert die Blogroll-Links (die Funktionalität ist veraltet, kann jedoch über den Link Manager wieder hinzugefügt werden)
  • wp_options – Speichert die Optionen, die in der Admin-Oberfläche getätigt worden sind
  • wp_postmeta – Speichert die Meta-Informationen der Beiträge
  • wp_posts – Hier werden die Beiträge, Seiten und Custom Post Types gespeichert.
  • wp_terms – Speichert Kategorien, Tags und Links
  • wp_term_relationships – Speichert die Zusammenhänge zwischen Beiträgen und Kategorien inklusive Tags und die Zusammenhänge zwischen Links und Linkkategorien.
  • wp_term_taxonomy – Speichert die Beschreibung einer Taxonomie (Kategorie, Link oder Tag), die in der Tabelle wp_terms verwendet werden.
  • wp_usermeta – Der Speicherort der User-Metainformationen
  • wp_users – Speichert Ihre User (nicht Ihre Besucher)

Der WordPress Codex bietet einen wunderbaren Artikel über die WordPress Datenbank und genaue Beschreibungen der einzelnen Tabellen.

Infografik: Ein Überblick der Tabellen, leider noch auf Stand WP 3.8

Diagramm der WordPress Datenbank-Tabellen
WordPress Datenbank-Tabellen

WordPress Datenbank-Tabellen optimieren mit phpMyAdmin

Die Datenbank-Tabellen von WordPress lassen sich mit verschiedenen Methoden optimieren. Über die Datenbank-Verwaltungssoftware phpMyAdmin, die auf so ziemlich jedem Server und jedem Webhostingpaket installiert sein sollte und über Plugins. Beschäftigen wir uns jedoch erst einmal mit der phpMyAdmin-Lösung. Loggen Sie sich in phpMyAdmin ein und wählen Sie die korrekte Datenbank aus, falls Sie mehrere Datenbanken angelegt haben sollten.

Datenbank in phpMyAdmin geöffnet
Eine Testdatenbank mit zusätzlichen Tabellen durch Plugins angelegt.

Der einfachste Weg, die WordPress Datenbank-Tabellen zu optimieren, ist einen Haken bei “Alle auswählen” zu setzen und aus dem Dropdown-Menü rechts daneben “Optimiere Tabelle” zu wählen. Lassen Sie hierbei bitte Vorsicht walten, denn wenn Sie im Dropdown-Menü verrutschen, können Sie durchaus auch Ihre Tabellen löschen oder leeren.

Datenbank-Tabellen über phpMyAdmin optimieren

Sicherlich arbeiten die MySQL und Serverspezialisten lieber mit SQL Befehlen. In diesem Beitrag wollen wir es aber jedem ambitionierten Seitenbetreiber ermöglichen, seine Datenbanken optimieren zu können.

WordPress Datenbank-Tabellen mit Bordmitteln optimieren

Auch WordPress selbst bietet ein Tool zum Optimieren und Reparieren von Datenbank-Tabellen, es muss nur aktiviert werden.

Kopieren Sie die folgende Zeile Code in Ihre wp-config.php Datei:

1
define( 'WP_ALLOW_REPAIR', true );

Um das Optimierungs-Tool nun nutzen zu können, müssen Sie nicht eingeloggt sein. Geben Sie folgendes in die Adresszeile Ihres Browsers ein und rufen das Tool auf:

1
http://www.ihre-webseite.de/wp-admin/maint/repair.php

Im Anschluss sehen Sie das WordPress Database Repair und Optimize Tool vor sich.

Das WordPress Datenbank Repariere und Optimiere Tool

Die durch WordPress reparierten Datenbank-Tabellen
WordPress hat die Datenbank-Tabellen überprüft und für in Ordnung befunden.

Das WordPress Optimierungs-Tool hat die Datenbanken repariert und optimiert.
Das WordPress Optimierungs-Tool hat die Datenbanken repariert und optimiert.

Bitte beachten: Da dieses Script auch außerhalb von WordPress zugänglich ist, bitte nach der Benutzung dieses Tools die Zeile WP_ALLOW_REPAIR in der wp-config.php auskommentieren oder löschen. Sie können sich vorstellen, dass die ansonsten fortbestehende öffentliche Zugänglichkeit des Scripts ein erhebliches Sicherheitsrisiko darstellt.

Die auskommentierte Zeile des WordPress Repair und Optimizaion Tools
Die Zeile WP_ALLOW_REPAIR wurde wieder auskommentiert.

So vermeiden Sie eine zugemüllte Datenbank

WordPress speichert wirklich alles in der Datenbank und sorgt dafür, dass die Datenbank mit der Zeit riesig groß wird. Das können Sie vermeiden, indem Sie Ihre wp-config.php etwas tunen und auf einige Dinge achten.

Die Post-Revisionen

Die WordPress-Revisionen der Beiträge sind ein ganz heißes Thema. Alle 60 Sekunden speichert WordPress den Beitrag ab, den Sie gerade schreiben. Klar ist das auch sehr gut, denn geht mal etwas schief, können Sie zur vorherigen Version Ihres Beitrags wechseln. Da aber keine bestimmte Anzahl von erlaubten Revisionen festgelegt ist, würde WordPress bis ins Unendliche speichern – so lange eben, wie der Beitrag noch in Arbeit ist. Das sollte man schon etwas begrenzen. Öffnen Sie wieder Ihre wp-config.php und kopieren Sie den folgenden Code-Schnipsel hinein:

1
define( 'WP_POST_REVISIONS', 2 );

Das erlaubt nur noch 2 Revisionen, was in jedem Fall ausreichend sein sollte. Allerdings kann man die Post Revisions auch komplett abschalten:

1
define( 'WP_POST_REVISIONS', false );

Eine Komplettabschaltung kann ich Ihnen jedoch keinesfalls empfehlen. Durchaus sinnvoll wäre aber das Löschen der Post-Revisionen nach dem Veröffentlichen eines Artikels. Für diese Aufgabenstellung gibt es ein hervorragendes Plugin, nämlich das folgende.

Plugin: Optimize Database after Deleting Revisions

WordPress Plugin: Optimize Database after Deleting Revisions

Nach der Installation findet man die Einstellungen des Plugins unter “Einstellungen => Optimize BD Options“. Folgende Einstellungen empfehle ich:

Die Einstellungen des Optimize Database after Deleting Revisions WordPress Plugins

Hat man die Einstellungen einmal so gesetzt, erfolgt die Optimierung der Post Revisionen, das Löschen der Spam-Kommentare, der bereits gelöschten Beiträge und der ungenutzten Tags automatisch täglich um 01:00 Uhr nachts. Möchte man händisch löschen, findet man das Tool unter “Werkzeuge => Optimize Database” und kann dort einen manuellen Reinigungslauf anstoßen.

Das "Optimize Database" Tool

Nach Abschluss der Arbeiten erhält man einen detaillierten Bericht über die vorgenommenen Optimierungen.

Ein Klick auf die folgende Grafik öffnet den kompletten Screenshot.

Das Ergebnis der Datenbank-Optimierung

  • Entwickler: CAGE Web Design | Rolf van Gelder
  • Wird ständig weiter entwickelt: Ja
  • Letzte Version vom: 23.10.2014
  • Kosten: kostenfrei über WordPress.org
  • Lizenz: GNU GENERAL PUBLIC LICENSE
  • Wechselwirkungen mit anderen Plugins: nicht bekannt
  • Entwickler-Homepage:  CAGE Web Design

 Tabellen von nicht mehr genutzten Plugins und Themes befreien

Wer kennt das nicht: ab und an werden mal neue Plugins oder Themes ausprobiert. Mit jedem installierten Plugin oder Theme wächst dabei die Datenbank, weil die Einträge der Plugins und Themes nicht bei deren Deinstallation wieder gelöscht werden, sondern erhalten bleiben. Im Sinne einer akzeptablen Ladegeschwindigkeit Ihrer Website sollten Sie solche Einträge hin und wieder aus der Datenbank löschen. Um ungenutzte Tabellen aus der Datenbank zu zu entfernen, kann ich dieses Plugin wärmstens empfehlen:

WPDBSpringClean

Das WPDBSpringClean Plugin für WordPress

Das Plugin ist nach der Aktivierung in den Einstellungen zu finden. Nachdem Sie es aufgerufen haben, starten Sie als erstes eine Suche (Perform Search).

Suche starten

Nachdem die Suche beendet ist, können Sie die ungenutzten Tabellen durch das Plugin löschen lassen.

Ungenutzte Tabellen löschen

Zusätzlich können Sie alle noch verbliebenen Tabellen zuverlässig optimieren lassen. Suche starten, alle Tabellen anhaken und Optimize klicken. Fertig!

Datenbank-Tabellen mit dem WPDBSpringClean Plugin optimieren

  • Entwickler: wpsolutions
  • Wird ständig weiter entwickelt: eher unregelmäßig
  • Letzte Version vom: 11.08.2013
  • Mit WordPress 4.0 kompatibel: Ja, vollständig
  • Kosten: kostenfrei über WordPress.org
  • Lizenz: GNU GENERAL PUBLIC LICENSE
  • Wechselwirkungen mit anderen Plugins: nicht bekannt
  • Entwickler-Homepage:  WPDB Spring Clean

Fazit

Mit ein wenig Arbeit lässt sich die WordPress-Datenbank schlank erhalten, so dass die Website so schnell wie möglich an den Leser ausgeliefert werden kann. Unnötigem Ballast wird kurzerhand der Garaus gemacht und die lieb gewonnene WordPress-Präsenz läuft wieder rund. Für mich persönlich ist das WPBDSpringClean-Plugin unverzichtbar geworden. Es läuft auf allen meinen Websites. Wie gehen Sie mit schweren Datenbanken um? Was sind Ihre Optimierungsstrategien?

Links zum Beitrag

 


Viewing all articles
Browse latest Browse all 468