CMS-Cache einstellen und Seiten schneller ausliefern
Mit dem integrierten Cache kann das bluetronix CMS fertig erzeugte Seiten bei späteren Aufrufen direkt ausliefern. In diesem Tutorial erfährst du, wie du die Cache-Einstellung pro Seite festlegst und welche Unterschiede bei statischen, parameterabhängigen, mehrsprachigen und persönlichen Seiten wichtig sind.
Was ist der CMS-Cache?
Das bluetronix CMS kann das fertige HTML einer bereits erzeugten Seite zwischenspeichern. Bei einem späteren Aufruf lässt sich diese Cache-Version direkt ausgeben, statt die Seite jedes Mal vollständig über den CMS-Site-Rendering-Prozess neu zu erzeugen.
So können viele Seiten schneller ausgeliefert werden, ohne dass bei jedem Aufruf erneut alle PHP-Verarbeitungsschritte und Datenbankabfragen erforderlich sind. Die Cache-Einstellung legst du für jede CMS-Seite einzeln fest.
Cache-Einstellung einer Seite öffnen
Öffne die gewünschte Seite im Editor und rufe über das Zahnradsymbol die Seiten-Einstellungen auf. Dort findest du die Einstellung Cache.
Über das Auswahlfeld legst du fest, ob die Seite gecacht werden darf. Standardmäßig ist der Cache aktiviert.
Wähle die gewünschte Einstellung und tippe auf Speichern.
Cache: Yes – fertige Seite wiederverwenden
Bei Cache: Yes kann das CMS die fertig erzeugte HTML-Seite speichern. Liegt bei einem späteren Aufruf eine passende, aktuelle Cache-Version vor, kann das fertige HTML direkt ausgeliefert werden.
Seitenaufruf
↓
Passende Cache-Version vorhanden?
↓
Ja
↓
Fertiges HTML direkt ausgeben
Der vollständige Rendering-Prozess muss bei einem solchen Aufruf nicht erneut durchlaufen werden. Muss die Seite dagegen neu erzeugt werden, durchläuft sie zunächst die normale CMS-Verarbeitung; anschließend kann das Ergebnis wieder im Cache gespeichert werden.
Cache: No – Seite bei jedem Aufruf neu erzeugen
Wählst du Cache: No, wird die Seite nicht aus dem Seiten-Cache ausgeliefert. Bei jedem Aufruf führt das CMS den erforderlichen Rendering-Prozess erneut durch.
Seitenaufruf
↓
CMS-Site-Rendering-Prozess
↓
PHP-Verarbeitung und benötigte Datenbankzugriffe
↓
Layout und Seiteninhalt erzeugen
↓
HTML ausgeben
Diese Einstellung eignet sich für Seiten, deren Inhalt bei jedem Aufruf aktuell oder für den jeweiligen Benutzer individuell erzeugt werden muss.
Beispiel: Eine normale Inhaltsseite cachen
Eine Seite wie about_us.html zeigt normalerweise dieselben Inhalte für alle Besucher. Bei aktivierter Cache-Funktion kann das CMS sie erzeugen und das fertige HTML für weitere Aufrufe wiederverwenden.
/about_us.html → eigene Cache-Version
Für den Besucher sieht die Webseite genauso aus wie bei einer neu erzeugten Seite. Ob das HTML aus dem Cache stammt, ist am sichtbaren Seitenlayout allein nicht erkennbar.
Wann wird die Cache-Version erneuert?
Das CMS berücksichtigt nicht nur den direkten Seiteninhalt, sondern auch weitere Bestandteile der fertigen Seite. Dazu gehören beispielsweise das verwendete Layout, der Header, die Navigation, der Footer und weitere eingebundene Seitenelemente.
Wird etwa der Footer geändert oder ein neuer Menüpunkt angelegt, muss auch die Cache-Version einer unveränderten Inhaltsseite aktualisiert werden. Das CMS prüft die für die Seite relevanten Bestandteile und erzeugt bei entsprechenden Änderungen eine neue Cache-Version.
Eigene Cache-Versionen für GET-Parameter
Eine Seite kann auch dann gecacht werden, wenn sie über GET-Parameter aufgerufen wird. Entscheidend ist, dass eine bestimmte Parameterkombination denselben Inhalt liefert, solange sich die zugehörigen Daten nicht verändern.
Ein Produktaufruf kann beispielsweise so aussehen:
/index.html?productID=1
/index.html?productID=2
/index.html?productID=3
/index.html?productID=4
Jeder dieser Aufrufe kann einen anderen Produktinhalt anzeigen. Das CMS kann deshalb für die einzelnen Parameterkombinationen jeweils eine eigene Cache-Version verwenden.
GET-Parameter allein sind kein Grund, den Cache auszuschalten. Voraussetzung ist, dass die jeweilige Cache-Version für alle Besucher, für die sie ausgeliefert wird, denselben Inhalt enthalten darf.
Getrennte Cache-Versionen für verschiedene Sprachen
Bei mehrsprachigen Webseiten wird zusätzlich die Sprache berücksichtigt. Dasselbe Produkt kann beispielsweise auf einer englischen, deutschen und französischen Webseite unterschiedliche Texte enthalten.
https://www.my-demo.com/index.html?productID=1 → Englisch
https://www.my-demo.de/index.html?productID=1 → Deutsch
https://www.my-demo.fr/index.html?productID=1 → Französisch
Die Cache-Versionen müssen deshalb auch zur jeweiligen Sprache passen. So kann derselbe Produktaufruf in jeder Sprache mit den passenden Texten ausgeliefert werden.
Wann solltest du Cache: No verwenden?
Bei Seiten mit benutzerabhängigen Inhalten solltest du den Seiten-Cache deaktivieren. Eine persönliche Kontoseite kann zwar dieselbe URL besitzen, aber für jeden angemeldeten Benutzer unterschiedliche Informationen anzeigen.
/MyAcoount.html → Benutzer Max → eigene Shop-Käufe
/MyAcoount.html → Benutzer Ross → andere Shop-Käufe
Diese persönlichen Inhalte dürfen nicht als allgemeine Cache-Version für andere Besucher wiederverwendet werden. Stelle den Cache für eine solche Seite auf Nein.
Auch bei /Search.html kann Cache: No sinnvoll sein, wenn die Suchergebnisse bei jedem Aufruf neu ermittelt werden müssen oder von nicht im Cache berücksichtigten Eingaben abhängen.
Aktiviere den Seiten-Cache nicht für Ausgaben, die persönliche Daten unterschiedlicher Benutzer unter derselben URL enthalten.
Zusammenfassung
Mit Cache: Ja können geeignete Seiten als fertiges HTML wiederverwendet und schneller ausgeliefert werden. Unterschiedliche GET-Parameter und Sprachen können jeweils eigene Cache-Versionen erhalten. Änderungen an relevanten Seitenelementen führen zur Erneuerung der betroffenen Cache-Versionen.
Für persönliche Kontoseiten oder andere Inhalte, die bei jedem Aufruf benutzerabhängig erzeugt werden müssen, wählst du Cache: Nein. Die Einstellung findest du direkt im Editor unter Seiten-Einstellungen → Cache.
FAQ
was Kunden uns häufig Fragen
Wo finde ich die Cache-Einstellung einer CMS-Seite?
Öffne die gewünschte Seite im Editor und gehe über das Zahnradsymbol zu den Seiten-Einstellungen. Dort findest du die Auswahl Cache.
Welche Cache-Einstellung ist standardmäßig aktiv?
Standardmäßig ist der Seiten-Cache aktiviert.
Was passiert bei Cache: Ja?
Das CMS kann das fertige HTML speichern und bei späteren Aufrufen eine passende, aktuelle Cache-Version direkt ausliefern. Dadurch muss die Seite nicht bei jedem Aufruf vollständig neu erzeugt werden.
Was passiert bei Cache: Nein?
Die Seite wird bei jedem Aufruf über den erforderlichen CMS-Site-Rendering-Prozess neu erzeugt und nicht aus dem Seiten-Cache ausgeliefert.
Wird der Cache erneuert, wenn ich den Header, die Navigation oder den Footer ändere?
Ja. Das CMS berücksichtigt auch relevante, in die Seite eingebundene Elemente und erzeugt bei entsprechenden Änderungen eine neue Cache-Version.
Kann eine Seite mit GET-Parametern gecacht werden?
Ja. Beispielsweise können productID=1 und productID=2 jeweils eigene Cache-Versionen erhalten, sofern ihr Inhalt für die jeweiligen Aufrufe wiederverwendet werden kann.
Gibt es für verschiedene Sprachen unterschiedliche Cache-Versionen?
Ja. Die Sprache wird berücksichtigt, sodass beispielsweise die englische, deutsche und französische Fassung eines Produktaufrufs unterschiedliche Cache-Versionen erhalten können.
Sollte ich den Cache für persönliche Kontoseiten aktivieren?
Nein. Eine persönliche Kontoseite wie /MyAcoount.html kann unter derselben URL je nach angemeldetem Benutzer unterschiedliche Daten anzeigen. Verwende dafür Cache: Nein.
Wie gehe ich mit dem Cache einer Suchseite um?
Für /Search.html kann Cache: Nein sinnvoll sein, wenn Suchergebnisse bei jedem Aufruf neu berechnet werden müssen oder von weiteren Eingaben abhängen.