Joomla! und Caching

Der Server Cache (Joomla!)
Joomla! biete euch eine Art Modulares Cacheverfahren an. Das bedeutet es wird nicht die komplette Seite gecacht sondern die einzelnen Bausteine (Komponenten und Module). Dadurch lässt sich die Seite Stückchenweise zwischenspeichern und wieder zusammen fügen. Das hat den Vorteil das dynamische Module wie mod_breadcrumbs oder mod_mainmenu auch dynamisch bleiben, man muss nur für sie das Caching deaktivieren. Das kann man in der Modul Übersicht machen indem man das Modul bearbeitet und bei "Erweiterte Parameter" es entsprechend konfiguriert.

Nachdem die Module richtig konfiguriert sind kann man nun in der Systemkonfiguration den Cache aktivieren. Die Dauer kann man selbst bestimmen und wird in Minuten angegeben, wie lang das sein wird muss je nach Anwendungsfall entschieden werden. Wenn euer System APC unterstützt aktiviert es, da es schneller ist als einfaches Datei caching.

Der Browser Cache (Client)
Der Cache ist ebenso wichtig und hilfreich, den dadurch lassen sich sehr viele HTTP-Anfragen ersparen. Das ganze kann man mit der .htaccess regeln (für Apache Server). Die Module mod_headers und mod_expires sollten dazu aktiviert sein.
In der Regel ändern sich Grafik nicht oft und können von daher recht lang im Cache des Clienten verweilen. Um den Browser die entsprechende Anweisung zu geben verwendet man folgenden Code:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access 1 months"
ExpiresByType text/javascript "access 1 months"
ExpiresByType application/x-javascript "access 1 months"
ExpiresByType application/javascript "access 1 months"
ExpiresByType image/* "access 2 months"

FileETag none
</IfModule>

Weiter Infos: http://httpd.apache.org/docs/2.0/mod/mod_expires.html

Es ist auch praktisch Expires oder Cache-Control: max-age zu setzen, nicht beide da es redundant wäre. Das selbe gilt für Last-Modified oder ETag.

Es gibt natürlich noch weitere Möglichkeiten zu Cachen aber diese beiden sind sehr leicht zu handhaben.

MfG Ultima