WordPress Datenbank optimieren – vier praktische Tipps

W

WordPress hat sich mittlerweile als quasi Standard für den Betrieb von Blogs durchgesetzt. Und das im Prinzip auch zu recht, nicht zuletzt dank der riesigen Menge an Plugins, Themes und Supportforen und -Blogs. Allerdings gibt es ein Problem, dass man für die eigene Installation selber lösen muss: Die Datenbank performant zu halten.

Mir fiel in letzter Zeit auf, wie ungewohnt schnell ich in manchen (meist neueren) Blogs von mir Artikel schreiben, editieren und veröffentlichen kann – und wie elendig lange das hier im Agenturblog dauert. Dieses träge Verhalten stellte sich übrigens nicht schlagartig, sondern eher in Form eines schleichenden Prozesses ein. Auch die Performance der Seite selbst lies in den letzten Wochen immer mehr zu wünschen übrig. Dabei stellen sicher die nach wie vor gut zweitausend täglichen Porno(be-)sucher ein großes Problem da, denn addiert mit den regulären Besuchern und Lesern die via Suchmaschine den Weg in dieses Blog finden, muss meine Installation an Spitzentagen deutlich über 5.000 Seitenaufrufe bewältigen.

Natürlich ist WordPress grundsätzlich in der Lage diese Werte zu bedienen, aber ab einem gewissen Punkt werden Optimierungen einfach zwingend erforderlich.

Im Folgenden habe ich eine kleine Liste mit Tipps zusammengestellt, die mir geholfen haben das Agenturblog wieder deutlich flotter zu gestalten. Natürlich würde ich diese Sammlung gerne um Euer Feedback und Eure Erfahrungen erweitern:

1. Weniger Queries in den Templates.
Das sollte der erste Schritt sein: Sind alle Datenbankabfragen die Euer Blog erzeugt wirklich erforderlich? Steht Sinn und Nutzen der vielen Plugins jeweils im Verhältnis zur Last, die sie erzeugen? In jedem Fall bietet ein gründliches Aufräumen und Aussortieren gleich den ersten großen Schritt zur Steigerung der Performance bzw. Reduzierung der Datenbank aufrufe.

2. Datenbank von altem Ballast befreien
Über die Monate und Jahre der Nutzung füllt sich eine WordPress Datenbank zunehmend mit Inhalten, die eigentlich niemand braucht. Unmengen von Spam Kommentaren schlummern vor sich hin, Tabellen und Informationen von Plugins die man kurz getestet aber wieder verworfen hat bleiben bestehen, ebenso alte Kategorien die seit dem Umstieg auf Tagging nicht mehr genutzt werden – hier gibt es viel aufzuräumen und zu optimieren. Dazu ist zum einen das Plugin Clean Options empfohlen, das alle verwaisten Einträge aus der wp_option Tabelle auflistet und zur Entfernung anbietet. Zum anderen bietet Dietmar Rabichs Database Tuning eine Reihe von Option zum entfernen alter Inhalte (bspw. Spam Kommentare), ausserdem untersucht es die einzelnen Tabellen, kann sie im Bedarfsfall reparieren oder durch das setzen neuer Indizes den Lesezugriff darauf optimieren.

Wie immer gilt natürlich vor dem Anfassen der Datenank: Backup nicht vergessen.

3. Unveröffentlichte Beiträge löschen
Ein weiterer Wust an überflüssigem Ballast sammelt sich über die Zeit im Bereich der Entwürfe oder Drafts an: All die Artikel die man (noch) nicht zu Ende geschrieben hat. Die Wahrscheinlichkeit, dass man an einen Wochen, Monate oder gar Jahre alten Beitrag jemals wieder Hand anlegt und ihn doch noch online stellt ist gering. Zumindest wenn ich mir mein Verhalten ansehe. So dümpeln schnell unzählige halbgare Artikel in der Datenbank herum. Wahrscheinlich oft us dem einfachen Grund der schlechten Verwaltungsmöglichkeiten der Drafts in WordPress. Schlichtweg eine kleine Katastrophe. Leidglich aktuellsten Entwürfe werden beim Verfassen neuer Artikel aufgelistet – keine Gesamtübersicht, keine Möglichkeit alle in einem Rutsch zu löschen – nichts. Mit dem kleinen Tool Draft Controll lässt sich endlich schnell und sinnvoll sortieren. Im Gegensatz zu den anderen Tipps lassen sich hiermit keine Riesensprünge im Hinblick auf eine Performance-Optimierung machen, dennoch – und wenn es nur für das gute Gefühl ist – macht es Sinn auch in diesem Bereich einmal aufzuräumen. Ich konnte 52 alte Entwürfe löschen.

4. Caching aktiviert?
Selbst mit reduzierter Anzahl von Queries und weniger Inhalten in der Datenbank kann es durchaus sinnvoll sein, Inhalte die bereits ausgeliefert wurden temporär zwischenzuspeichern und (innerhalb eines bestimmten Zeitfensters) ausschließlich als statische Seiten, also nahezu ohne neue Datenbankanfragen, zu übermitteln.

Dazu kann man wahlweise das Plugin WP-Cache nutzen, oder WordPress direkt zum Caching überreden. Vermutlich ist die letztere Variante die bessere Wahl und auch sehr einfach zu bewerkstelligen: Ihr legt einen beschreibbaren Ordner wp-content/cache an und ergänzt folgenden Eintrag in der wp-config.php:

define('ENABLE_CACHE', true);

Sofern man sein Blog auf einem eigenen Server betreibt kann man auch das MySQL Query-Cacheing aktivieren (Tipp gefunden beim Software-Guide.de).

Darüberhinaus gibt es für technisch sehr versierte Blogger noch die Option mithilfes des Plugins Gunnart.de. Dort findet man zusätzlich noch Infos zu dem Plugin WP-Cache Inspect, dass für den Admin auf jeder Artikelseite in einer semitransparenten Box Informationen zum Cacheing Status ausgibt – und im Admin Bereich die Option ergänzt per Knopfdruck den gesamten Cache zu leeren.

Fazit
In den letzten Tagen habe ich schrittweise alle diese Punkte auf dem Agenturblog abgearbeitet und freue mich im Augenblick wieder über ein relativ schnelles und aufgeräumtes System.

33 Kommentare

  • […] WordPress Datenbank optimieren – vier praktische Tipps : agenturblog.de (tags: wordpress datenbank mysql) […]

  • Pflicht für jeden Blogger – Datenbankoptimierung…

    Oli von agenturblog.de beschreibt in seinem Artikel vier Schritte, mit denen man den eigenen Blog wieder auf Touren bringt. Spam, Queries, alte, nicht mehr benötigte Tabellen und unveröffentlichte Beiträge wirken wie eine angezogene Ha…

  • […] Wagner vom Agenturblog hat ein paar Tipps gesammelt (und erfolgreich angewendet), mit denen man die Datenbank hinter WordPress performant halten kann: […]

  • […] unnötigem Balast zu befreien. Er erldigt das in vier Schritten welche Ihr natürlich im agenturblog nachlesen […]

  • Vielen Dank für den Tipp gegen verwaiste Datensätze in wp_options! Vorgestern habe ich mich erst über das dortige Chaos geärgert und befürchtet, selbst herumpfuschen zu müssen. Dass es dafür ein eigenes Plugin gibt hätte ich nicht gedacht.

  • Das Plugin um die wp_options endlich mal zu säubern kannte ich auch noch nicht, danke für den Tipp. Ich möchte noch anmerken, dass alle die noch eine WP Version vor 2.1 einsetzen auch wegen der Performance unbedingt upgraden sollten. Seit 2.1 gibt es einige Verbesserungen in der DB-Struktur, einige weitere Indexe etc. So wie ich das mitbekommen habe, wurden diese Anpassungen direkt vom MySQL.com Team durchgeführt.

    Grüße

    Paul

  • […] WordPress Datenbank optimieren – vier praktische Tipps von Oliver Wagner auf agenturblog.de […]

  • Mein Blog ist auch so langsam geworden, nun werde ich deine Tipps mal abarbeiten. Vor allem die ausprobierten Plugins im Laufe der Zeit (Bei mir seit April 2006) müllen die DB richtig zu…

  • […] WordPress Datenbank optimieren – vier praktische Tipps. Kann nicht schaden den einen oder anderen Tipp anzuwenden. Wobei bei meinen geringen Userzahlen […]

  • Habe zwar erst frisch mit dem Bloggen angefangen, aber ich denke, wenn man gleich von Anfang an auf eine entschlackte DB achtet, ist dies bestimmt von Vorteil. Danke daher für den Post ;-)

  • Eine kleine Umstellung im System und Tips zum Säubern von Wordpress » RANDPOP Eine kleine Umstellung im System und Tips zum Säubern von Wordpress sagt:

    […] paar gute Tips, um WordPress nochmal etwas mehr Geschwindigkeit abzutrotzen, gibt es hier im Agenturblog . Das Einschalten des Cachings hat jedenfalls schon vor Wochen für eine deutliche […]

  • Eine kleine Umstellung im System und Tips zum Säubern von WordPress…

    Irgendwie lahmt der Aufruf der Startseite seit Tagen wie nichts Gutes und das geht mir auf die Nerven. Ich vermute, daß das ganz entschieden auch an den eingebundenen Videos liegt und werde daher jetzt nicht nur die längeren Texte per More-T…

  • […] WordPress Datenbank optimieren – vier praktische Tipps : agenturblog.de Wird demnächst mal angewendet. (tags: tipps WordPress Blogging) […]

  • V.a. die Queries, die mitunter hinter den Template-Tags stecken, sind nicht ganz ohne. WordPress ist echt … naja …

  • […] auch mal sein. Angeregt durch diesen Artikel beim Agenturblog habe ich (nebst mehreren Datenbankbackups vor und nach jeder […]

  • Danke für die Liste! Hab auch schon gehört dass es da irgendwann Probleme gibt. Aber jetzt muss mein Blog erst mal noch wachsen!

  • Danke für die Tipps und die Verweise auf die Plugins. Habe Freitag einiges davon umgesetzt und tatsächlich wieder einiges an Speed gewonnen.

  • […] gedacht hatte… Die vier praktischen Tipps, wie man WordPress-Datenbanken optimiert, hat der agenturblog zwar nicht erst gestern veröffentlicht – lesenswert sind sie aber allemal… Macadelic […]

  • […] Dank diesem Beitrag bin ich darauf gestoßen, dass es ab und an sinnvoll ist, die WordPress-Datenbank mal aufzuräumen. Dies habe ich gerade mit den dort vorgeschlagenen Tools getan. Subjektiv gesehen läuft es hier gerade wieder richtig flott. Die wp_options Tabelle konnte um die Hälfte der Einträge erleichtert werden und mehrere Tausend Spam-Kommentare, die zwar im Backend gelöscht aber noch in der Datebank waren, sind nun endlich vernichtet. In knapp vier Jahren und insbesondere bei den vielen Probierversuchen mit Themes und Plugins hat sich eben viel Ballast angesammelt. Vielen Dank jedenfalls an Oliver. Popularity: unranked […]

  • […] es mir eigentlich geht ist die Tatsache, dass eben dieses Plugin meine gesamte (und neulich erst so säuberlich bereinigte) WordPress Installation in die Knie gezwungen hat. Das Plugin verursacht bei vielen bereits in der […]

  • […] es hier! [via Macoholic] Blog Plugin […]

  • […] ich habe aufgeräumt! Und zwar meine Datenbank und ein wenig mein Quellcode. Auf dem agenturblog habe ich Klasse Tips gefunden, wie man ein wenig sein WordPress sauber hält. Dazu zählen […]

  • Vielen Dank für die Tipps, werde mich die nächsten Tage mal daran setzen meine WPMU Version ein wenig zu optimieren, meine Installation ist zwar noch nicht so alt aber die Performance lässt jetzt schon zu wünschen übrig.
    Grüsse

  • Hallo, danke für die Tipps. Leider hat das Ausmisten nicht so viel gebracht, da muss wohl ein größerer Server her.

  • […] etwas unzureichenden Performance von WordPress (ein paar Tipps zur Optimierung übrigens hier: WordPress Datenbank optimieren) ist insbesondere die Anfälligkeit für Angriffe von Hackern ein großes Manko einer […]

  • […] oft etwas unzureichenden Performance von WordPress (ein paar Tipps zur Optimierung übrigens hier: WordPress Datenbank optimieren) ist insbesondere die Anfälligkeit für Angriffe von Hackern ein großes Manko einer nicht richtig […]

  • Relativ viel Traffic und Performance des Servers verbraucht auch der Googlebot beim Spidern des Blogs. Besonders bei Blogs mit vielen Seiten. Wer nicht unbedingt darauf Wert legt, dass der Googlebot neue Seiten möglichst schnell indiziert kann deshalb in den Google Webmastertools die Indizierungsgeschwindigkeit herabsetzen.

  • Das mit der Google-Crawlrate kannte ich garnicht, klingt auf jedenfall interessant, aber ich vermute mal, dass die meisten viel Wert darauf legen, dass Google oft und schnell kommt ;-)

Instagram