23.5 Caching aktivieren 

Ein Content-Management-System wie Joomla! liefert dynamische Webseiten aus, d. h., jede von Besuchern angeforderte Seite wird zunächst generiert, also aus verschiedenen Inhalten der Datenbank zusammengestellt. Nur so ist es möglich, die vielen Seitenvariationen mit Bannern, Seitenleisten und unterschiedlichen Hauptinhalten zu kombinieren. Der Nachteil an diesem in allen Webapplikationen üblichen System ist der dahinter stehende Aufwand, die Rechenzeit. Schon eine kleine Webseite benötigt drei Dutzend Datenbankabfragen, um alle Inhalte zu sammeln – das kostet viel Zeit. Als Websitebesucher merkt man das vor allem an langsamen Internetauftritten. Von der Eingabe einer URL oder einem Klick auf einen Link bis zur vollständigen Darstellung vergehen oft mehrere Sekunden. Aber warum müssen diese Seiten eigentlich bei jedem Aufruf neu erzeugt werden? Könnte man sie nicht einmal erzeugen und für alle Folgeabrufe anderer Besucher diese bereits fertig zusammengebaute Seite ausliefern? Ohne dass das Zusammenspiel zwischen PHP und Datenbank involviert ist? Kann man, denn dazu dienen Caches, die fertig generierte Seiten zwischenspeichern und beschleunigt an den Browser schicken. Der auf diesen Seiten vorgestellte Joomla!-interne Caching-Mechanismus arbeitet zwar nicht mit vollständigen zwischengespeicherten Seiten (dafür gibt es andere Lösungen), aber immerhin auf Modulebene bzw. mit Modulkombinationen.
SEO-Tipp: Idealer Wert beim Ausliefern einer Webseite sind 2 Sekunden
Bei allen Webseiten, die länger als 2 Sekunden zur vollständigen Darstellung benötigen, steigt das Risiko, dass dies Besuchern zu lange dauert und sie wieder zurück zum Google-Suchergebnis springen. Das Ziel rückt schon mit Joomla!-Bordmitteln in Reichweite, denn neben dem Standard-Joomla!-Cache existiert ein weiterer seitenübergreifender Cache, dessen Plugin Sie per Hand explizit aktivieren – Sie finden es im Plugin-Manager unter Komponenten • Plugins und über die Suche nach »cache«. Aktivieren Sie den System - Seitencache durch Klick in die Status-Spalte. Beachten Sie, dass dieser Mechanismus nur für unangemeldete Besucher eingesetzt wird, da Joomla! bei angemeldeten Benutzern davon ausgeht, dass deutlich mehr dynamische Inhalte angefordert werden.
Standardmäßig ist der interne Cache von Joomla! deaktiviert. Das hat den Grund, dass man bei Entwurf und Aufbau einer Website keine Caches einsetzt, denn es macht keinen Sinn, Seiten zwischenzuspeichern, die sich im Rahmen der Entwicklung ohnehin gleich wieder ändern. Tatsächlich sind Caches in so einem Fall sogar kontraproduktiv, denn so entsteht nach einer Programmänderung oder einem Content-Update großes Rätselraten, warum die Aktualisierung im Frontend nicht sichtbar ist. Lassen Sie deshalb den Cache so lange ausgeschaltet, bis Sie mit Ihrer Website live gehen und auch keine Änderungen in den nächsten Tagen zu erwarten sind.
Die Cache-Einstellung von Joomla! finden Sie unter System • Konfiguration • Reiter System • Bereich Zwischenspeicher (Cache). Dort erwarten Sie drei Felder, über die Sie die Art des Caches, den Speichermechanismus und die Dauer definieren, wie lange die Cache-Inhalte ausgeliefert werden, bevor Joomla! die Inhalte neu erzeugt (siehe Abbildung 23.19).
Abbildung 23.19 Aktivieren Sie den Cache von Joomla! als ergänzende Performanceoptimierungsmaßnahme erst nach Abschluss der Entwicklung Ihrer Website und nur im Live-System.
-
Cache
Stellen Sie den Cache auf AN - Normales Caching, sobald Ihre Website stabil läuft. Studieren Sie, wie sich Ihre Website jetzt verhält; in der Regel sollten die Webseiten nach einigen initialen Seitenabfragen deutlich schneller im Browserfenster erscheinen.Basis für diese Einstellung ist die modulspezifische Caching-Konfiguration, die Sie in der jeweiligen Moduleinstellung (Menü Erweiterungen • Module • das Modul anklicken • Reiter Erweitert • Feld Caching) festlegen (siehe Abbildung 23.20). Standardmäßig werden alle Modulinhalte zwischengespeichert, über das Caching-Feld der Modulkonfiguration schließen Sie bestimmte Module explizit aus, z. B. falls die Inhalte dynamisch erzeugt oder live aus externen Quellen zusammengestellt werden.
Abbildung 23.20 Schalten Sie das Caching für all die Module aus, deren Inhalte dynamisch erzeugt werden, hier z. B. für das Modul »Beiträge - Verwandte«, deren Inhalt sich von Seite zu Seite unterscheidet.
Wählen Sie in der globalen Cache-Einstellung AN - Erweitertes Caching, wenn Sie experimentierfreudig sind. Das sogenannte progressive Caching kann zu unerwünschten Effekten bei großen Websites führen, denn hier werden ganze Modulkombinationen für einzelne Benutzer zwischengespeichert, was den Caching-Mechanismus bei einer großen Modulanzahl entsprechend fordert. Am besten probieren Sie diese Einstellung einfach mit Ihrer Website aus und stellen gegebenenfalls auf Normales Caching zurück, falls es Schwierigkeiten gibt und Fehlermeldungen hagelt.
-
Cache-Speicher
Standardeinstellung ist Datei; dabei schreibt Joomla! zwischengespeicherte Elemente ins Verzeichnis /cache/. Abhängig von Ihrer PHP-Installation stehen hier weitere Caching-Mechanismen zur Auswahl, z. B. Cache_Lite, die Sie gegebenenfalls einfach mal ausprobieren. -
Cache-Dauer
Die Zeit, die eine fertig generierte Website im Cache verbringt, ist naturgemäß eingeschränkt, sonst würden Aktualisierungen niemals für Besucher sichtbar werden. Darum hinterlegen Sie im Feld Cache-Dauer die Anzahl der Minuten, nachdem solch eine Cache-Invalidierung durchgeführt und Joomla! angewiesen wird, die Webseiten bzw. Module mit ihren aktuellen Inhalten neu zu generieren. Falls Sie Ihre Website nicht häufig aktualisieren, können Sie hier also einen deutlich höheren Wert, gerne auch im vierstelligen Bereich, eintragen.
Möchten Sie auf Ihrer Website Änderungen an Inhalten oder Konfiguration überprüfen, ist es nicht notwendig, den Cache auszuschalten. Über System • Cache leeren erreichen Sie ein kleines Formular, das alle zwischengespeicherten Elemente listet und per Häkchenmarkierung und Button Löschen aus dem Cache entfernt (siehe Abbildung 23.21). Im Hintergrund kommt das dem Löschen aller Dateien im Serververzeichnis /cache/ gleich, denn dort hinterlegt Joomla! die einzelnen Cache-Dateien.
Abbildung 23.21 Manuell löschen Sie ausgewählte Komponenten- und Modul-Caches über »System« • »Cache leeren«.
Etwas sanfter ist die Cache-Bereinigung über den benachbarten Menüpunkt System • Abgelaufenen Cache leeren, der alle Cache-Elemente nacheinander unter die Lupe nimmt und nur die abgelaufenen entfernt. Deshalb dauert dieser Vorgang auch bis zu einigen Minuten, was u. U. die maximale Ausführdauer für PHP-Scripts überschreitet und zu einer Warnmeldung führt. Laden Sie dann einfach die Seite mit (F5) neu (OS X: (cmd) + (R)), und klicken Sie erneut auf den Button Abgelaufenen Cache leeren. Hinweis: Falls von Ihnen durchgeführte Änderungen im Frontend nicht sichtbar sind, müssen Sie allerdings die Leerung aller Caches erzwingen; das ist die andere Funktion, Cache leeren.