Eines der Kriterien für eine gutes Suchmaschinenranking und eine positive Nutzererfahrung ist die Geschwindigkeit mit der Seiten geladen werden. Neben dem rein subjektiven Eindruck gibt es auch Webservices, mit denen man objektive Tests durchführen kann. Eine Seite ist z.B. der PageSpeed-Test der Google-Deverloper-Seiten. Hier werden neben einer Bewertung auch Maßnahmen zur Beschleunigung vorgeschlagen.

Für einen Seitenbetreiber eines Joomla-Projektes stellt sich nun also die Frage, wie man die eigene Seite schneller machen kann. Dazu möchte ich nachfolgend ein paar Maßnahmen ausführen.

 

  1. Template-Cache an:
    Manche Template bieten schon die Möglichkeit von Komprimierungsmaßnahmen. Hierdurch werden z.B. css- und js-Scripte zusammengefasst zu einer Datei und zusätzlich komprimiert. Das verringert die Anzahl der Requests und die zu ladende Datenmenge.
  2. Joomla-System-Cache an
    Das mit dem J!-Systemcache ist jedoch kompliziert. Da gibt es diverse Möglichkeiten, um das jeweils noch mal zu steigern. Zusätzlich kann man den plattformspezifischen Cache und das erweiterte Joomla-Caching aktivieren. Allerdings kann es mitunter passieren, dass dann manches nicht mehr sauber funktioniert. Anfällig sind z.B. alle Formulare oder andere interaktiven Seitenelemente. Das muss man also für alle 3 Zusatzoptionen akribisch durchtesten. Sollten manche Seiten nicht sauber laufen, kann man diese mit No-Caching-Plugins ggf. vom Caching ausschließen.
    Achtung! Nicht vergessen zu prüfen, ob das Plugin "System Seitencache" auch tatsächlich aktiviert ist.
  3. J!-System-Cache Lebensdauer erhöhen:
    Dieser ist meist auf 15min voreingestellt. D.h. dass wenn 15 min niemand auf Deiner Seite war, ist der Cache wieder leer und muss weniger schnell bei einem nächsten Seitenabruf wieder gefüllt werden. Weiterführende Infos zum Joomla-Systemcache sind hier zu finden.
  4. GZIP-Komprimierung einschalten.
    Diese J!-Funktion ist in der Konfiguration unter dem Register "Server" aktivierbar. Allerdings muss das durch den Server unterstützt werden. Unter Apache-Servern macht das i.d.R. das Modul mod_deflate. Also in die PHP-Infos schauen, ob dieses Modul geladen wird. Ggf. müssen in der .htaccess dazu Einträge erfolgen. Wer sich in das Thema vertiefen will, finden hier detailiert Informationen.
  5. Schauen, ob alle relevanten Module gecacht werden:
    Wenn neue Module angelegt werden, kann man für jedes Modul erstellen, ob dieses gecacht werden soll oder nicht. Werden Module vom Cache ausgeschlossen, dann bremsen diese natürlich das Joomla-Caching aus.
  6. Plugins abschalten die nicht notw. sind:
    Standardmäßig werden viele Plugins als aktiv im System eingebunden. Einige davon sind jedoch nicht notwendig, z.B. dann wenn man man zusätzliche Erweiterungen installiert hat die Ihre eigenen Plugins installieren. Wenn man die Erweiterung zwar installiert hat aber gar nicht nutzt, sollte man deren Plugins ggf. abschalten.
  7. Schauen ob es Module mit aktiviertem "Inhalte vorbereiten" gibt, die das nicht brauchen.
    Joomla nutzt sogeannte Content-Plugins. Diese haben die Aufgabe den Inhalt von Beiträgen oder Modul-Texten zu durchlaufen und nach Plugin-Anweisungen zu suchen und diese ggf. auszuführen. D.h. Sie haben in einem Text (i.d.R. nur Texte die mit dem Editor-Feld erstellt wurden) eine Plugin-Schalter eingebunden. Jedes aktive Content-Plugin durchsucht nun den Textinhalt, ob es einen Trigger für sich findet. Wenn ja, wird dieses Element ersetzt durch den Inhalt, welches das Plugin lt. seiner Aufgabe erzeugen soll. Also für alle Module, die keine Content-Ersetzungen enthalten diese Option deaktivieren.
  8. Spezielle Bildversionen für mobile Devices:
    Mobile Geräte haben in der Regel kleinere bis sehr geringe Displays zu Anzeige der Inhalte. Für diese wäre es also nicht notwendig sehr hoch auflösende Grafiken anzuzeigen, wie diese auf Desktop-Monitoren notwendig wären. Leider bietet Joomla hier keine onboard-Option, um dies einfach zu erreichen. Einiges kann man über css machen, speziell wenn Bilder z.B. als Hintergründe eingebunden sind. Bei Inhaltsbildern wird es schwierig. Versuche mit speziellen J!-Erweiterungen, die das Device erkennen und unterschiedliche Auflösungsversionen eine Bildes ausliefern sind bei mir gescheitert. Waren einfach nicht zuverlässig. Ursache war, dass das Caching nicht sauber funktionierte, so dass bei manchen Seitenaufrufen plötzlich sehr gering aufgelöste Bilder auf Desktop-Geräten angezeigt wurden. Ich hoffe, dass Joomla hier bei Zeiten eine vernünftige OnBoard-Lösung liefert oder eine gute Erweiterung das Problem zuverlässig löst.
  9. Einsatz der AMP-Technologie (Accelerating mobile pages), wie diese von Google favorisiert wird. Avisiert wird hier ein Bündel von Maßnahmen, die von eine Laien aufwändig umzusetzen sind.