Performance einer TYPO3-Website verbessern

1. Quellcode-Verkleinerung

Jedes unnötig übertragene Byte zählt. Von Haus aus gibt und gab es bereits Ansätze, aber dennoch erledigt das eine Extension besser:

Extension: min (Autor: Armin Vieweg)

Diese funktioniert quasi out-of-the-box und tilgt unnötige Whitespaces etc. im HTML sowie den per page-Object eingebundenen JS- & CSS-Dateien.

2. Bilder-Verkleinerung

Das Gute an einem Content Management System ist, dass Redakteure Inhalte selbst pflegen können. Das Schlechte daran ist, dass diese Inhalte gern mal unverhältnismäßig groß sind. Das trifft vor allem auf Bilddateien zu, welche mit vielen Megapixeln aus den Kameras kommen und dann einfach unverändert hochgeladen werden, obwohl auf der Website oft nur ein Bruchteil der Größe benötigt wird.

Das hat nicht nur Einfluss auf den belegten Speicherplatz auf dem Server, sondern auch auf die Generierungszeit der Seite (nämlich beim 1. Aufruf, wenn das Monsterbild im Hintergrund auf ein passendes Format geschrumpft wird). Je kleiner das Ausgangsbild ist, desto weniger muss und schneller kann natürlich berechnet werden.

Im Worst Case erfolgt (wenn schlampig programmiert wurde) noch nicht einmal eine physische Verkleinerung des Bildes sondern es wird lediglich per <img>-Attributen verkleinert. Gut erkennbar ist das, wenn sich das Bild sichtbar von oben nach unten "aufbaut". Hier muss also jeder Nutzer mehrere MB downloaden, damit ein kleines Bildchen angezeigt wird.

Eine Lösung ist die schöne Extension image_autoresize (Autor: Xavier Perseguers), welche dies gut konfigurierbar erledigt.
Auch nachträgliches Verkleinern ist per Task möglich (wobei hier offenbar keine Aufteilung in Häppchen möglich ist, sondern alle definierten Ordner komplett durchgegangen werden und dies bei großen Installationen den Server ordentlich fordert).

3. Moderne Bild-Formate

Selbst wenn die Quellbilder klein sind, können sie immer noch zu groß sein. Grund dafür ist, dass JPG zwar gut und schön ist, mittlerweile aber bessere Kompressionsformate existieren und - vor allem auch - von den Browsern unterstützt werden.

Eine gute Variante ist das Format WEBP. Auch hierfür gibt es einen kleinen Helferlein in Form einer Extension (webp, Autor: Wolfgang Klinger). Diese läuft im Hintergrund und speichert alle JPGs auch als jpg.webp, die in der Regel deutlich kleiner sind und mit dem bloßen Auge nicht unterschieden werden können. Mit PNGs habe ich nicht 100% gute Erfahrungen gemacht und deaktiviere diese Standard-Einstellung daher. Hier soll aber jeder seine eigene Meinung abbilden.

Wichtig ist natürlich noch eine .htaccess-Änderung, welche in der Extension-Dokumentation beschrieben wird und für die Auslieferung der WEBP-Variante sorgt wenn der Browser dies unterstützt.