In Teil eins der Artikelserie habe ich euch bereits gezeigt, wie ihr euren WordPress Blog oder eure WordPress Website mit einfachen Mittel beschleunigen könnt. Dabei ging es vor allem um die wichtigen Grundlagen, wie zum Beispiel das Caching einer Website, die jeder verstanden haben sollte, um sie entsprechend umsetzen zu können. Viele Empfehlungen und Hinweise waren dort enthalten, mit denen ihr gleich loslegen konntet, um den Pagespeed eures WordPress Blogs deutlich zu steigern.
Im zweiten Teil der Artikelserie möchte ich nun ein wenig in die Details gehen. Wie kann die Ladezeit einer WordPress Website noch weiter gesteigert werden, wenn bereits alle bekannten Optimierungsmaßnahmen bestmöglich durchgeführt wurden?
Genau diesen Aspekt der Performance-Optimierung schauen wir uns hier nun ein wenig genauer an. Dazu gebe ich euch praktische Tipps und Tricks aus dem Alltag, schließlich arbeite ich tagtäglich mit WordPress, weiß also sehr genau, wo die Schwachstellen des CMS liegen und wie allgemein für eine bessere Performance gesorgt werden kann. Los gehts!
Datenbank säubern und optimieren
Wie im ersten Teil bereits erwähnt, ist die MySQL-Datenbank von WordPress oft die Schwachstelle des jeweiligen Hostings. Damit die Datenbank sauber läuft und möglichst wenige verwaiste Einträge enthält, lohnt es sich daher, diese regelmäßig zu pflegen. Im besten Fall von Hand, doch mit MySQL-Befehlen kennen sich nur die wenigsten aus, weshalb ein Plugin hier vermutlich die bessere Wahl ist.
Es gibt, wie immer bei WordPress, viel Auswahl bei den Plugins. Gute Dienste hat mir stets WP-Optimize erwiesen. Eine einfache, flüssig laufende und sauber gepflegte Erweiterung, die die Reinigung der Datenbank quasi automatisiert. So werden Duplikate entfernt, alte Kommentare gelöscht und noch vieles mehr. Ein einfach zu nutzendes Plugin, welches sehr sorgfältig vorgeht.
Wichtig! Wer an die Datenbank von WordPress geht, Cleaning Tools verwendet oder in irgendeiner Art und Weise Inhalte löscht, sollte vorab immer ein Backup erstellen. Was in der Datenbank entfernt wird, ist weg und wenn ihr euch die MySQL-Datenbank zerschießt, ist ein Backup einfacher, als die Datenbank selbst wieder in Stand zu setzen. Also vorsichtig sein und immer ein Backup anlegen, um einen Plan B parat zu haben, falls etwas schiefgeht.
Möglichst viele Plugins deaktivieren
In WordPress ist es so, dass jedes aktivierte Plugin ein wenig an der Performance zieht. Je mehr Erweiterungen aktiv sind, desto schlechter läuft das CMS daher meist auch. Eine gute Grundregel, die man sich merken kann, ist demnach: Weniger Plugins, besseres Performance.
Natürlich gibt es da auch Ausnahmen und im Detail ist das alles auch noch etwas komplizierter, aber als Faustregel sollten immer so wenig Erweiterungen wie nur irgendwie möglich aktiviert werden. Das Gilt übrigens auch für Cleaning Plugins oder Broken Link Checker.
Aktiviert diese nur dann, wenn ihr sie auch aktiv benutzt, lasst sie danach aber nicht einfach dauerhaft weiterlaufen.
Wer ganz genau wissen möchte, welches Plugin oder welche Plugins Leistungsfresser sind, kann mit verschiedenen Performance-Analyse Tools arbeiten. GTmetrix zum Beispiel, zeigt in seinem Wasserfall-Diagramm sehr genau an, welche Dateien besonders lange Ladezeiten aufweisen. Diese können ein Indiz dafür sein, welches Plugin dafür verantwortlich ist. Früher ging das noch mit dem P3 Profiler innerhalb von WordPress, doch dieser ist nicht mit PHP 7 Kompatibel, welches aber inzwischen bei jedem guten Hoster Standard geworden ist. Also hilft nur die Performance-Analyse von Hand.
.htaccess Tricks für eine bessere Performance
In dem Hauptverzeichnis eurer WordPress-Installation, liegt immer auch die sogenannte .htaccess, welche bereits einige Regeln enthält, die WordPress oder verschiedene Plugin hinzugefügt haben. Diese Datei ist sehr mächtig und kann, mit den richtigen Snippets ausgestattet, für eine deutlich bessere Performance sorgen. Damit ihr nicht lange suchen müsst, habe ich euch die besten Code-Schnipsel für eure .htaccess herausgesucht.
# GZIP Komprimierung komplett aktivieren
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>
# Browser Caching
# Bilder etc.
<FilesMatch "\.(ico|pdf|jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age= 31536000"
</FilesMatch>
# HTML-Seiten für 1 Minute im Cache
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=60"
</FilesMatch>
# Image Hotlinking verbieten (Website eintragen)
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?WEBSITE.at [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://deinbild.jpg [NC,R,L]
Firewall einrichten
Ebenfalls via .htaccess möglich, ist die sogenannte 7G Firewall vom bekannten WordPress-Entwickler Jeff Starr. Seine Firewall ist mittlerweile recht bekannt und sehr beliebt, denn sie blockiert allerlei Spam-Aufrufe. Das wiederum hat zur Folge, dass bösartige Angriffe und Aufrufe einfach blockiert werden, also gar nicht mehr durchkommen.
Selbiges gilt auch für User-Agents, die nichts Gutes im Schilde führen. So gibt es kaum einen Grund, chinesische Suchmaschinen zuzulassen oder sich von Marketing Bots durchleuchten zu lassen. All diese Aufrufe können, noch bevor sie Inhalte von euch anzeigen, abgewehrt werden. Das wiederum hat zur Folge, dass WordPress weniger arbeiten muss und euer Server spürbar entlastet wird.
Die 7G Firewall bringt also eine bessere Performance, indem bösartige Aufrufe eurer Website einfach ausgesperrt werden. Das klingt so einfach wie es ist und funktioniert tatsächlich recht gut. Weitere Informationen zur 7G Firewall und wie ihr sie einsetzen könnt, findet ihr hier.
WordPress-Funktionen abschalten
Ein Plugin, welches ich sehr gerne verwende, hört auf den Namen Clearfy. Die Erweiterung schaltet ungenutzte Funktionen von WordPress ab und zwar vollständig. Auch das verbessert die Performance teilweise enorm. Das Clearfy Plugin könnt ihr direkt im Plugin-Verzeichnis herunterladen.
So lässt sich unter anderem die WordPress Heartbeat API abschalten, Autosaves und Revisions können deaktiviert werden, Kommentare werden auf Wunsch auch abgeschaltet, ebenso wie RSS-Feeds (braucht fast niemand mehr), Emojis und andere Integrationen, die nicht zwingend notwendig sind.
Das Plugin kann noch vieles mehr, um den ganzen Ballast von WordPress möglichst einfach abzuschalten. Das geht streng genommen zwar auch händisch via Snippets, doch ist hier deutlich angenehmer gelöst. Schon ironisch, dass ausgerechnet ein zusätzliches Plugins dafür sorgt, dass WordPress schneller wird.
Performance ist ein Denkanstoß
Performance ist nichts, was von heute auf Morgen kommt. Es ist nichts, was mit diesen Tipps und Tricks für immer bestehen bleibt. Wer möglichst kurze Ladezeiten erreichen will und die Leistung allgemein verbessern möchte, der muss die aktivierten Funktionen und genutzten Features beständig hinterfragen. Brauche ich diese Funktion wirklich? Ist das umfangreiche Theme tatsächlich notwendig? Nutze ich das Plugin im Alltag überhaupt?
Performance ist ein Denkanstoß, der bei jeder Entscheidung mit dabei sein sollte.
Denn viel zu oft wird blauäugig entschieden, möglichst alles zu aktivieren, was vorhanden ist. Dann kommen dynamische Features hinzu, die zwar gut funktionieren, aber eben nur, bis mal mehr als 100 Besucher auf der eigenen Website vorbeischauen. Dann bricht plötzlich alles zusammen und die Aufregung ist groß. Denn bedenkt: Nur weil etwas auf einem frisch installierten WordPress Blog läuft, heißt das noch lange nicht, dass die Funktion auch einem Besucheransturm standhält.
Oft sind es solche vermeintlichen Features, die dann die gesamte Website lahmlegen.
Weniger ist also mehr und so solltet ihr jede Entscheidung in Zukunft hinterfragen. Braucht ihr das alles wirklich? Ich hoffe, ich konnte euch dabei helfen, eure Website schneller zu machen. Wer noch mehr Hilfe benötigt oder nicht weiterkommt, schreibt mir einfach eine Mail.