EPS 006 – Mini-Serie Teil 1: WordPress Kursplattform-Cache – was am Anfang reicht

Das ist der 7BizWorks Podcast. Ich bin Niels und ich begleite dich beim Aufbau deiner eigenen Coaching-Plattform mit WordPress. Strukturiert, datenschutzbewusst und mit einem Plan, der in deinen Alltag passt. Ich freue mich, dass du heute dabei bist.

Womit du dich am Anfang nicht beschäftigen solltest, damit startet die kleine Miniserie, die ich hier für dich vorbereitet habe. Die Idee für 7BizWorks startete aus einem eigenen Frusterlebnis heraus mit Hosting-Anbietern und der Vielzahl an Möglichkeiten, wie man seine Kursplattform aufbauen kann. Als ich begonnen hatte, eine erste Kursstruktur zu erstellen, hätte ich nicht gedacht, welche Ausmaße das am Ende nehmen wird. Denn die Liste, die ich für meine Kursstruktur gestaltet hatte, wurde länger und länger. Ich wollte alles in diesen Kurs packen, wirklich alles, was ich bisher an Erfahrung gesammelt hatte, alle Vor- und Nachteile. Und irgendwann saß ich da und dachte, Mann, das wird viel zu groß und viel zu komplex. Und vor allem gab es diesen einen Gedanken, dass ich dachte, bringt denn das wirklich dich als Kursteilnehmer zu deinem wirklichen Ziel? Und die klare Antwort war dann eigentlich nein. Weil in dieser Reflexionsphase musste ich mir diese ehrliche Frage selbst nochmal stellen. Was brauchst du wirklich, um einen soliden Kurs auf einer Plattform aufzubauen, die du auch wirklich langfristig gut managen kannst?

Und dieser Moment hat mir gezeigt, wie sinnvoll es ist, wenn man bestimmte Themen herausnimmt, nach hinten stellt, aber erstmal aus der Betrachtung herausnimmt. Aber nur weil man diese Themen herausnimmt, also quasi erstmal cancelt, heißt es nicht, dass sie komplett unwichtig sind oder gar nicht mehr auftauchen. Sondern weil sie zu einem bestimmten Zeitpunkt, nämlich zu dem falschen Zeitpunkt, eher schaden, als dass sie helfen.

Für den gesamten Kurs, den ich für 7BizWorks vorbereite, ist die Reihenfolge wichtiger als diese komplette Vollständigkeit aller Themen, die mir in der gesamten Zeit begegnet sind. Das Gefühl, ich muss alles verstehen, bevor ich anfange, ist einer der häufigsten Gründe, warum man nie fertig wird, und das geht mir öfter so. Ich bin es gewohnt, alles zu planen, zu prüfen, Alternativen nochmal zu finden und gegenzuchecken. Das sind Grundzüge aus meinem Hauptberuf als Qualitätsmanagementbeauftragter. Und manchmal kommen da Tätigkeiten zugrunde, die mir selbst manchmal zu viel sind, als es mir selbst lieb ist. Aber ein System, das zu 80 % steht, sicher steht und live gehen kann, schlägt ein perfektes System, das nie fertig wird, um Weiten.

Und was ich dir mit dieser Miniserie aufzeigen möchte, ist die Erkenntnis, die ich selbst hatte. Eine Liste von Themen, die du bewusst erst einmal ausblenden kannst. Und das Ganze ohne ein schlechtes Gewissen zu haben, diese Themen einfach nach hinten zu stellen. Nicht zu löschen, nicht komplett zu sagen, das brauche ich nie, aber erstmal aus der aktiven Betrachtung zu nehmen.

Es gibt unterschiedliche Reihenfolgen, wie man sein System aufbauen und einstellen kann. Da gibt es nicht diesen einen goldenen Weg. Aber für mich hat sich mein Aufbau, den ich in dem Kurs strukturiere, mittlerweile bewährt, und mein eigenes System möchte ich halt eins zu eins für dich in den Kurs übertragen. Und daher fallen die jetzt folgenden Punkte zuerst einmal raus.

Der erste Kernpunkt ist Cache. Aber nicht jeder Cache. Und um das etwas besser zu erklären, muss ich kurz etwas ausholen. Denn du bist vielleicht nicht so sehr mit diesem Thema bewandt oder hast nur schon mal davon gehört, gelesen oder etwas dazu gesehen. Also was ist überhaupt Cache?

Stell dir vor, du fragst jemanden immer wieder dieselbe Frage. Und irgendwann sagt er, warte mal, ich schreibe mir die Antwort, die ich dir jetzt schon zum fünften Mal gegeben habe, auf einen Zettel, dann muss ich das nicht jedes Mal wieder neu erklären, nachdenken, sondern das liegt schon parat hier. Und genau das macht Cache im Grunde. Dein Server berechnet eine Seite einmal und merkt sich das Ergebnis. Beim nächsten Besucher, egal ob es derselbe ist oder ein neuer, wird die Antwort einfach von diesem imaginären Zettel abgelesen und muss nicht neu berechnet werden, also nicht neu nachgedacht werden vom Server. Das ist schneller, das entlastet den Server, und dein Besucher wartet weniger, um die Antwort dargestellt zu bekommen. Cache ist kein Zaubertrick, es ist organisiertes Wiederverwenden von Informationen und der Darstellung deiner Webseite.

Und beim Cache gibt es unterschiedliche Ebenen, die wir einmal kurz betrachten.

Als erstes haben wir den Object Cache, das ist der Cache, der Daten aus der Datenbank holt. Deine WordPress-Seite fragt ständig in der Datenbank ab, zum Beispiel, wer ist dieser Nutzer, der hier gerade auftaucht, wer darf was sehen, welche Rechte hat dieser zum Beispiel für deine Member-Rollen, oder welche Einstellungen gelten gerade für das Abgefragte. Und Object Cache merkt sich diese Antworten. Die Datenbank wird somit nicht bei jeder Kleinigkeit neu befragt und abgesucht, sondern die Antwort liegt schon parat, direkt griffbereit. Man könnte das vergleichen mit dem Kollegen, der sich Notizen macht, anstatt dass er bei einer Frage immer nochmal ins Archiv läuft oder irgendwelche Manuals durchblättert, der hat sofort diese Antwort parat. Das ist der Kollege, den du immer fragst, weil der sich einfach alles gut merken kann und vielleicht auch viel Erfahrung in dem Themengebiet hat. Und hierfür benötigen wir Object Cache, und es gibt unter anderem das sogenannte Redis Object Cache, das auf dem Server dafür laufen muss, und WordPress hat dann ein Plugin, das gibt es sogar kostenfrei, und somit kann WordPress bzw. dieses Plugin mit dem Object Cache kommunizieren und kann diese Daten sofort ausliefern. Also Object Cache ist für Daten aus der Datenbank zuständig.

Die nächste Cache-Variante ist der Page Cache. Das betrifft Daten, die für Aufbau, Design und Layout zuständig sind. Die fertig gebaute Seite wird also quasi als ein Snapshot gespeichert. Der nächste Besucher, der bekommt dann dieses Bild, also diesen Snapshot, direkt ausgeliefert. Und WordPress muss diese Seite nicht noch einmal zusammensetzen, bevor die Darstellung ausgeliefert wird. Man kann es gut vergleichen, es ist ein Foto von einem fertigen Gericht, was präsentiert werden kann, ohne jedes Mal nochmal dieses Gericht zu kochen und dann wieder zu fotografieren. Hierfür gibt es unterschiedliche Plugins, auch abhängig von deiner Serverstruktur. Es gibt unterschiedliche Varianten, ein sehr komplexes Thema, möchte ich jetzt nicht noch mehr darauf eingehen, aber einfach, dass du weißt, der Page Cache ist dafür da, damit dein Layout, Design und so die Webseite schneller ausgegeben werden kann.

Ein erweiterter Cache wäre der sogenannte Edge Cache. Das Ganze läuft dann über ein CDN. Dieser Snapshot wird nicht dann nur auf deinem Server gespeichert, sondern auf vielen unterschiedlichen Servern. Meist sind die dann weltweit oder an unterschiedlichen Standorten verteilt, je nachdem, welchen Service du dafür wählst. Nehmen wir an, du hast einen Server in Deutschland stehen, in Nürnberg zum Beispiel, und jemand aus Finnland geht auf deine Webseite, der bekommt dann nicht die Daten vom Server aus München, sondern von einem Server zum Beispiel aus Helsinki, wenn dort dein Edge-Cache-Server mit bedient werden kann. Statt alle Bestellungen aus einer Zentrale zu verschicken, gibt es eben regionale Lager. Und das System kennst du wahrscheinlich sehr gut, denn Amazon hat das quasi mit realen Gütern perfektioniert. Und daher klingelt der Postbote bereits am nächsten Tag, wenn du etwas bei Amazon bestellt hast, denn die Produkte sind schon in unterschiedliche regionale Lager verteilt, sodass sie wesentlich schneller bei dir, dem Besteller, ankommen können. Aber wie gesagt, hierfür benötigen wir einen sogenannten CDN-Service und dazu dann auch ein Plugin, was diesen Service nutzen kann. Auch hier gibt es unterschiedliche Varianten, sogar noch etwas komplexer das Thema als der Page Cache an sich, der von deinem Server direkt abgerufen wird. Das ist wirklich die höchste Ebene mit dem ganzen Cache-System.

Die letzte Cache-Variante ist dein Browser-Cache. Dein Browser merkt sich Bilder, Schriften und Dateien, die er schon einmal geladen hat. Und beim nächsten Besuch wird das dann nicht nochmal vom Server runtergeladen, sondern kann direkt aus deinem Browser genutzt werden. Also es liegt schon lokal bei dir als Webseitenbesucher. Könntest du vergleichen mit, du kaufst eine Zeitung nicht jeden Tag, sondern du kaufst sie einmal, nimmst sie mit nach Hause und hast sie schon zu Hause und kannst da immer wieder drauf schauen. Das Ganze kann ohne ein extra Plugin funktionieren, denn WordPress selbst hat keinen direkten Einfluss auf den Browser-Cache. Aber dein Server kann hier bestimmte Sachen rausnehmen oder ausschließen, sogenannten Cache-Header, der automatisch mitgeschickt wird. Also der Server sagt dem Browser dabei, diese Datei kannst du gerne für einen bestimmten Zeitraum, mehrere Tage oder mehrere Stunden, dir merken und diesen dann wieder nutzen. Das passiert alles bereits ohne Plugin auf Server-Ebene. Und wenn du einen Server buchst mit zum Beispiel NGINX, dann sind da schon bestimmte Standardwerte vorkonfiguriert, dass das Ganze ohne dein Zutun passiert. Wenn du ein zusätzliches Cache-Plugin nutzt, dann gibt es hier in der Regel eine grafische Oberfläche, wo du das direkt im Plugin steuern kannst, ohne in eine Serverkonfiguration eingreifen zu müssen. Du kannst also festlegen, wie lange sollen Bilder gecacht werden oder bestimmte Dateitypen ausschließen, also du hast da eine Konfigurationsebene. Für die meisten Kursplattformen am Anfang reichen die Standardwerte, die über den Server ausgegeben werden, vollkommen aus.

Und ein kurzes Wort nochmal zum Browser selbst und von dem Browser des Besuchers. Ja, jeder Browser hat seine eigene Logik, aber dieser hält sich in der Regel an die Anweisung vom Server, die der Server halt mitschickt. Also er entscheidet nur selbst, wenn der Server keine Vorgaben macht.

Und ein komplettes Cache-System hat natürlich ein sehr positives Beiwerk. Was gecacht ist, muss WordPress nicht dynamisch nochmal ausführen oder wiederherstellen. Es gibt weniger Anfragen, du hast eine geringere Angriffsfläche für bestimmte Arten von ungewünschten Attacken auf eine WordPress-Umgebung. Somit ist das gesamte Cache-System sehr hilfreich. Du hast zum Beispiel Stabilität bei Traffic-Spitzen. Wenn du einen Newsletter an Leute versendest und 200 Leute klicken fast gleichzeitig drauf, dann kann ohne ein Cache-System schon eine hohe Last auf den Server wirken und somit dann deine Seite verlangsamen für alle, die gerade online sind. Und mit dem Cache wird einfach ein gespeicherter Snapshot ausgegeben, und dann läuft deine Seite wesentlich ruhiger bei hohen Traffic-Spitzen.

Für eine Kursplattform als Beispiel, wenn du einen Launch hast, wo du sagst, jetzt veröffentliche ich mein Produkt und ich informiere einfach mal alle meine Leute in meiner Mailingliste zum selben Zeitpunkt, dann können solche Traffic-Spitzen aufkommen. Das kannst du selber auch natürlich steuern, wenn du sagst, ich habe 1000 Leute in meiner Liste und ich schicke erstmal nur 200, und die nächsten kriegen es ein paar Stunden später, und somit könntest du das theoretisch auch schon vorher etwas begrenzen und abfangen. Aber weniger Serverlast bedeutet auch, dass du länger auf einem kleineren Server arbeiten kannst, und somit kann sich eine Strategie mit Cache natürlich auch auszahlen, sodass du halt eben mit einem kleineren Server die gleiche Anzahl von Leuten gut bedienen kannst, als wenn du das Ganze ohne einen Cache machst.

Und natürlich nicht zu vergessen ist eine bessere Core-Web-Vitals-Zeit. Also Google bewertet die Ladegeschwindigkeit von deiner Webseite und nutzt dies als einen Ranking-Faktor. Cache verbessert das natürlich dann auch indirekt, nicht als direkte SEO-Strategie, sondern es ist ein wirklich positiver Nebeneffekt, wenn deine Webseite schneller ist und alle anderen SEO-Anforderungen erfüllt, dann ist dein Ranking auch besser.

Und natürlich die Nutzererfahrung. Wenn Leute auf deine Webseite gehen, vielleicht zum ersten Mal, weil sie irgendwo einen Link von dir gesehen haben, ein Video oder was auch immer, und sie klicken drauf und sie müssen erstmal warten, bis sich deine Webseite aufbaut, sie die Bilder angezeigt bekommen, dann ist das Nutzererlebnis natürlich nicht so schön. Oder noch blöder wäre, wenn sie versuchen, sich einzuloggen in den bezahlten Kurs, und kommen nicht rein, weil dein Server gerade überlastet ist.

Also Fazit zum Cache. Cache klingt nicht nur wichtig, es ist auch wichtig, aber nicht in jeder Form für uns beim Aufbau und beim Start deiner Plattform. Hier gehen bestimmt die Meinungen auseinander, wirst du vielleicht von anderen Coaches oder anderen Online-Plattformen eine andere Meinung bekommen. Ich bin der Meinung, es gibt hier eine klare Trennung, was wir zu Anfang brauchen, und das Wichtigste ist der Object Cache, denn der entlastet deine Datenbank von deiner WordPress-Installation. Page Cache ist super hilfreich, weil es stellt alles schneller dar, und Edge Cache ist natürlich nochmal das On-Top, denn es bringt deine gesamte Seite näher an den Besucher durch die CDN-Server. Das Ganze dann auch in Verbindung mit dem Browser-Cache, der quasi Bilder von deiner Webseite automatisch mit abspeichert.

Das sind vier verschiedene Konzepte, die am Ende im besten Fall Hand in Hand zusammenspielen. Für uns am Anfang zählt wirklich Redis Object Cache. Einfach aktivierbar, spürbarer Effekt für alle, auch für dich als Admin später, wenn du in der Seite arbeitest und auf der Seite ist Betrieb, und es ist kein wirklicher Eingriff in eine Serverkonfiguration notwendig. Dein Server bzw. im besten Fall Hosting-Anbieter muss das natürlich zur Verfügung stellen, aber wenn das gegeben ist, ist das super schnell eingerichtet.

Edge Cache hingegen ist relevant, wenn du wirklich viele Besucher hast. Das ist in meinen Augen überhaupt gar kein Thema für uns im Aufbau und auch kein Beginner-Thema. Es ist gut zu wissen, dass es das gibt, und das kann später dazukommen. Wenn du von Anfang an eine bedachte Serverwahl triffst, dann hast du bereits eine sehr solide Leistungsbasis. Und das dann im Zusammenspiel mit Redis ist der sinnvollste Schritt. Mehr brauchst du erstmal nicht.

Dann ist der Browser-Cache ja noch da. Der bringt der Server sowieso mit als Grundeinstellung. Und später kannst du dann noch mit einem Cache-Plugin Page Cache aktivieren oder gegebenenfalls Edge Cache über ein CDN-Netzwerk auch noch dazu holen.

Aber so toll das gesamte Cache-System dann auch ist, können zwei sehr große Fehler entstehen, wenn man zu früh und ohne Plan cacht. Du könntest zum Beispiel eine Login-Seite cachen oder sogar den Kaufprozess, und beides zerstört das Nutzererlebnis und kostet am Ende vielleicht sogar Vertrauen in deine gesamte Plattform. Und die Fehlersuche kostet viel Zeit. Glaub mir, ich hatte damit schon richtig viel Spaß, in Anführungsstrichen, weil ich mich durch eine falsche Cache-Einstellung selbst nicht mehr im Frontend auf die Webseite einloggen konnte, da mein Login falsch gecacht war, die Sicherheitstoken ebenfalls, und somit ging die Abfrage immer ins Leere. Das war Gott sei Dank nur eine Testseite, und ich konnte über den Server dann auch das Plugin deaktivieren, um mich dann wieder einzuloggen, aber das hat mich viel Zeit und Nerven gekostet, ohne dass ich wirklich vorankam mit dem Aufbau der Webseite.

Also das gesamte Caching solltest du sehr bedacht wählen, sehr bedacht einsetzen und als Erstes nur auf Object Cache setzen und dann im Laufe der weiteren Entwicklung deiner Webseite die anderen Cache-Optionen dazu nehmen. Ein komplexes Cache-System ist also das Erste, was du nach hinten schieben solltest, und nur Object Cache erstmal im Auge behalten.

Das war’s für heute mit dem ersten Punkt aus meiner Liste, was du am Anfang nicht benötigst. Ich hoffe, es hat dir gefallen, und dass du bei der nächsten Folge dieser Miniserie wieder dabei bist. Mach’s gut, bis dahin, ciao.

Das war’s für heute. Vielen Dank, dass du bis hierhin zugehört hast. Wenn du mehr Unterstützung für dein Online-Business benötigst, dann schau auf meiner Webseite vorbei, 7bizworks.de, oder nutze den Link in den Shownotes. Auf bald, bis zur nächsten Episode.

In dieser Episode

Vier Cache-Ebenen, aber nur eine brauchst du sofort.

Mailingliste

Hinweise zum Datenschutz findest Du in der Datenschutzerklärung.

Inhaltsübersicht

WordPress Kursplattform-Cache – die vier Cache-Ebenen im Überblick (EPS 006)

WordPress Kursplattform-Cache: Warum das nicht dein erstes Thema sein muss

Wenn du eine WordPress-Kursplattform aufbaust, stolperst du früher oder später über das Thema Cache. Meistens in Form von Empfehlungen, die klingen als müsstest du das alles sofort einrichten – Cache-Plugin hier, CDN dort, dazu ein paar Einstellungen, von denen niemand so richtig erklärt, was sie tun. Genauer gesagt geht es um den WordPress Kursplattform-Cache: ein Thema, das du am Anfang bewusst kleinhalten kannst, ohne dass deine Plattform darunter leidet.

Diese Folge ist der erste Teil einer kleinen Miniserie darüber, womit du dich beim Aufbau deiner Plattform am Anfang nicht beschäftigen solltest. Die Idee dazu kam aus einer eigenen Erfahrung: Als ich die Struktur für meinen Kurs geplant habe, wurde meine Themenliste immer länger. Ich wollte alles hineinpacken, jede Erfahrung, jeden Sonderfall. Irgendwann saß ich davor und merkte, dass das viel zu groß wird – und komplette Vollständigkeit aller Themenbereiche dich als Kursteilnehmer nicht ans Ziel bringen wird. Die Reihenfolge macht das. Manche Themen schaden zu einem bestimmten Zeitpunkt mehr, als dass sie dir helfen. Nicht weil sie unwichtig sind, sondern weil sie zum falschen Moment kommen. Cache ist so ein Thema.

Die vier Ebenen, die alle „Cache“ heißen

Ein Grund, warum Cache so einschüchternd wirkt, ist die Sprache. Alle reden von „dem Cache“, dabei stecken dahinter vier verschiedene Konzepte, die unterschiedliche Aufgaben haben. In der Folge gehe ich jede Ebene einzeln durch und erkläre sie an einem Bild statt an einer Definition.

Object Cache

Der Object Cache kümmert sich um die Daten aus deiner Datenbank – wer gerade eingeloggt ist, welche Rechte jemand für deine Member-Rollen hat, welche Einstellungen gerade gelten. Ich vergleiche ihn mit dem Kollegen, der sich Antworten notiert, statt bei jeder Frage neu ins Archiv zu laufen. Für eine Kursplattform mit Logins und Zugriffsrechten ist das die Ebene, die am Anfang den spürbarsten Effekt bringt.

Page Cache und Edge Cache

Der Page Cache speichert deine fertig gebaute Seite als eine Art Snapshot, damit WordPress sie nicht bei jedem Aufruf neu zusammensetzen muss. Der Edge Cache geht noch einen Schritt weiter und verteilt diesen Snapshot über ein CDN auf Server an verschiedenen Standorten – so bekommt ein Besucher aus Finnland deine Seite von einem Server in seiner Nähe statt aus Nürnberg. Ein schönes System, aber nichts, worum du dich beim Start kümmern musst, schon gar nicht, wenn du deine Zielgruppe regional in deiner Nähe sitzt.

Browser-Cache

Der Browser-Cache liegt beim Besucher selbst und merkt sich Bilder, Schriften und Dateien beim ersten Besuch. Das Angenehme daran: Er läuft in der Regel schon über deinen Server mit, ohne dass du dafür ein zusätzliches Plugin brauchst. Wenn du dir einen Server mit NGINX buchst, sind hier meist schon sinnvolle Standardwerte hinterlegt.

Der WordPress Kursplattform-Cache am Anfang: was zählt

Ich mache in der Folge eine klare Trennung, welche dieser vier Ebenen für den Aufbau deiner WordPress-Kursplattform am Anfang zählt und welche warten kann. So viel vorweg: Es ist genau eine davon, und sie lässt sich schnell aktivieren – vorausgesetzt, dein Hosting-Anbieter stellt diese in deinem gebuchten Paket zur Verfügung. Die anderen Ebenen sind nicht schlecht oder überflüssig – sie kommen später dran, wenn deine Plattform wächst und mehr Besucher bekommt. Von Anfang an alles aufzusetzen, bringt dich nicht weiter, es hält dich eher auf.

Du hörst außerdem, welche Vorteile ein durchdachtes Cache-System später bringt: mehr Stabilität bei Traffic-Spitzen, etwa wenn du deinen Kurs launchst und alle gleichzeitig auf deinen Link klicken. Weniger Serverlast, sodass du länger mit einem kleineren Server auskommst. Und einen positiven Nebeneffekt auf deine Ladezeit, die Google als Ranking-Faktor bewertet.

Der Fehler, der mich fast ausgesperrt hat

Zum Schluss erzähle ich dir von einer Situation, die mich viel Zeit und Nerven gekostet hat. Ich hatte auf einer Testseite etwas gecacht, das man auf keinen Fall cachen darf – meinen Login samt Sicherheitstoken. Die Folge: Ich kam über das Frontend nicht mehr in meine eigene Seite, weil die Abfrage immer ins Leere lief. Zum Glück nur eine Testumgebung, und ich konnte das Plugin über den Server deaktivieren. Aber genau daran siehst du, warum Cache mit Bedacht eingesetzt werden will. Eine gecachte Login-Seite oder ein gecachter Kaufprozess kostet dich im Zweifel das Vertrauen deiner Kursteilnehmer – und dich selbst eine lange Fehlersuche.

Wenn du gerade an deiner Plattform baust und dir unsicher bist, wie tief du beim Thema Cache einsteigen musst, gibt dir diese Folge eine Antwort, mit der du weiterarbeiten kannst. Und einen Punkt, den du für den Moment guten Gewissens von deiner Liste streichen darfst.

Summary

  • Die vier Cache-Ebenen und wofür jede zuständig ist: Object, Page, Edge, Browser
  • Warum am Anfang der Object Cache reicht und der Rest warten kann
  • Browser-Cache läuft meist schon über den Server – kein extra Plugin nötig
  • Wie ein falsch gesetzter Cache Login oder Kaufprozess lahmlegt
  • Cache als Punkt, den du für den Start von der Liste streichen kannst