Wordpress Performance Wordpress SEO Wordpress Security Wordpress Themes Wordpress Hosting Mein Setup Das Buch

Alles was ihr über WordPress Caching wissen müsst

Wie WordPress Caching wirklich funktioniert

Wie funktioniert eigentlich WordPress Caching?

Inzwischen sollte eigentlich jeder verstanden haben, dass ein WordPress Blog ohne Caching keine wirklich gute Idee ist. Leider sehe ich trotzdem immer wieder Blogs, die noch kein Caching Plugin oder serverseitiges Caching verwenden, was fatal für die allgemeine Performance von WordPress ist. Dabei macht es einem das CMS doch sogar relativ einfach. Mit Plugins wie WP Rocket, Cachify, oder auch dem Cache Enabler, braucht ihr nichts konfigurieren, ihr braucht keine umständlichen Einstellungen vornehmen, alles läuft quasi Out-of-the-Box und ist sofort funktionsfähig. Installieren, aktivieren, Cache nutzen. Fertig. Warum gibt es also immer noch Blogs, die die Notwendigkeit von Caching nicht verstanden haben?

Wie wichtig Caching besonders für WordPress ist, möchte ich euch heute mal ein wenig genauer erklären. Vielleicht hat das System einfach noch nicht jeder durchschaut und vielleicht sind gerade neue Blogger mit all dem noch überfordert und verzichten deshalb auf ein Caching Plugin. Am besten lässt sich das alles anhand einer kleinen Grafik erklären, die das Problem und die vielen Umwege bzw. Arbeiten hinter der Seite recht deutlich machen sollte.

So wie auf dem Bild unten, sieht mehr oder weniger der normale Seitenaufbau von WordPress aus. Immer wenn ein Besucher auf euren WordPress Blog kommt, wird, wenn kein Caching Plugin installiert wurde, folgende Kette in Gang gesetzt und nacheinander abgearbeitet.

wordpress-dynamischer-seitenaufbau

Ohne Cache ist der dynamische Seitenaufbau von WordPress ein echtes Problem. Der Browser kontaktiert den Server, welcher wiederum die PHP-Dateien aufruft. Via PHP wird nun der Core von WordPress gestartet, der die notwendigen Informationen aus der Datenbank lädt. Diese Informationen gehen zurück zum Core und der Compiler erstellt die fertige HTML-Seite des Blogs. Diese wird zurück an den Browser gesendet.

Den meisten sollte beim Anblick dieser Grafik sofort klar sein, dass derartig viele Aufgaben im Hintergrund alles sind, aber ganz sicher nicht performant. Wie könnte ein WordPress Blog schnell laden, wenn er jedesmal die oben zu sehenden Zwischenschritte ausführen muss. Eben und genau deshalb ist das Caching bei WordPress auch so unfassbar wichtig und sollte auf gar keinen Fall vernachlässigt werden.

Verschiedene Cache-Methoden von WordPress

Weil ihr das, was oben in der Grafik zu sehen ist, auf gar keinen Fall für euren eigenen Blog wollt, da es für miserable Performance sorgt, braucht ihr nun das passende Caching Plugin. Doch ganz so einfach ist die Sache dann auch wieder nicht, denn WordPress unterscheidet beim Caching zwischen verschiedenen Mechanismen und Methoden, die jeweils einzelne Bereiche abdecken und zum Teil bereits in WordPress integriert sind. Schauen wir uns diese mal genauer an.

Page Caching: Die einfachste Form des Cachings. Hier werden die dynamisch erzeugten Seiten von WordPress ganz einfach als statische HTML-Kopien auf der Festplatte des Servers (HDD Cache), oder im RAM (Memory Cache) gespeichert. Statt jedes mal eine neue Seite zu erzeugen, werden fortan die bereits fertig generierten Kopien ausgeliefert. Das ist schnell und entlastet den Server, außerdem umgeht es die dynamische Seitenerstellung.

Database Caching: Die Datenbank ist das Herzstück von WordPress, denn hier liegen die eigentlichen Inhalte eures Blogs. Leider sind Datenbanken aber extrem ressourcenhungrig und oft der Flaschenhals (also die Schwachstelle) bei Hostern und der heikle Teil in Sachen WordPress Performance. Für jede Anfrage werden nun immer wieder dieselben Daten hin und hergeschickt. Der eine fragt an, die Daten werden gesendet. Der nächste fragt an, wieder werden exakt dieselben Daten gesendet. Das ist ineffizient. Solche Abfragen zu Cachen, nennt man dann Database Caching.

Object Caching: WordPress selbst besitzt bereits verschiedene Caching-Systeme, zum Beispiel die Transient API, oder eben auch den Object Cache. Allgemein werden diese Systeme zum Caching von WordPress Plugins genutzt, um Daten zwischenzuspeichern und so deutlich effizienter zu arbeiten. Dann können komplizierte Anfragen nämlich einfach gecached werden, weil die erneute Generierung zu aufwändig, oder zu umständlich wäre.

Opcode Caching: Der Opcode Caching ähnelt dem Database Caching. Statt aber Datenbankabfragen zwischenzuspeichern, geht es hier um PHP-Code. Im Grunde basiert WordPress nämlich auf vielen kleinen PHP-Befehlen, wie im eigenen Theme bzw. den einzelnen Dateien auch sehr nachvollziehbar zu sehen ist. Diese Befehle werden nun vom PHP-Compiler nacheinander abgearbeitet und in ausführbaren Code für den Webserver umgewandelt. Opcode Caching kümmert sich nun um den Code, der aus dem PHP-Compiler herauskommt, speichert also das fertige Ergebnis und stellt es den nachkommenden Nutzern zur Verfügung. So muss selbiges nicht immer wieder neu generiert werden.

Was das Caching von WordPress bewirken soll

Caching sorgt allgemein dafür, dass eure Website die Dynamik verliert. Statt sich bei jedem Seitenaufruf, aus den einzelnen Inhalten der Datenbank neu zusammenzusetzen, wird das fertige Ergebnis, also die HTML-Seite selbst, in einem Cache-Verzeichnis einfach zwischengespeichert. Kontaktiert der Browser nun den Server, antwortet dieser direkt mit der fertigen Seite. Er braucht im Idealfall nicht einmal mehr PHP und auch keinen Kontakt zur Datenbank, denn die fertige Seite liegt bereits im Cache und wird von dort aus direkt an den Browser gesendet. Eine Grafik verdeutlicht (vor allem im Vergleich mit dem Ablauf oben), wie simpel der Schritt bei aktiviertem Cache ist. Pure Performance, weil alle aufwändigen Zwischenschritte einfach übersprungen werden können.

wordpress-caching-seitenaufbau

WordPress Caching stoppt die Dynamik und umgeht im Idealfall sogar die Ausführung von PHP. Der Browser kontaktiert den Server, der wiederum sofort die fertige HTML-Seite senden kann, da diese bereits im Cache liegt. Blitzschnell.

Browser Cache und passende Plugins finden

Mit Hilfe eines effektivem Browser Caches, kann der Schritt oben sogar noch weiter perfektioniert werden. In diesem Fall legt der Browser selbst eine Kopie an, sodass nicht einmal der Server mehr kontaktiert werden muss, weil die fertige Seite, mitsamt all ihren Inhalten, direkt beim Nutzer zwischengespeichert wird. Das sorgt für ultimative Performance, darf aber nur sehr vorsichtig eingesetzt werden, da der Browser Cache keine Aktualisierungen berücksichtigt, da er ja quasi nicht einmal den Server kontaktiert. Mehr zum Thema Browser Caching gibt es hier, denn auch das ist ein Thema für sich und sollte separat und ganz ausführlich besprochen werden.

Wer nun nach passenden Caching Plugins für WordPress und nach weiteren Tipps sucht, sollte außerdem auf der WordPress Performance Unterseite hier auf FastWP den Abschnitt zum Thema Caching lesen. Dort gebe ich weitere Tipps zu den von mir bevorzugten Plugins und weitere allgemeine und sehr wichtige Hinweise zum Thema WordPress Performance. Unbedingt mal anschauen.



Wordpress Performance eBook