itfoo Logo
 

TYPO3: Scripte und CSS komprimieren und zusammenfassen

Die PageSpeed ist ein relevanter Rankingfaktor für Suchmaschinen. Dabei spielen sowohl die Komprimierung von JavaScript- und CSS-Dateien (minify) als auch die Reduzierung der Menge der entsprechend eingebundenen Elemente eine Rolle.

Seit TYPO3 4.6 gibt es hierzu vier kleine Konfigurationsbefehle, die dafür eine einfache wie wirkungsvolle Lösung anbieten.

config {
   concatenateJs = 1
   compressJs = 1

   compressCss = 1
   concatenateCss = 1
}

Um in den vollen Genuss einer effektiven Komprimierung zu kommen, sollte noch im Installtool ['FE']['compressionLevel'] auf 5 oder mehr gesetzt sowie die entsprechenden Zeilen in der .htaccess einkommentiert werden:

<FilesMatch "\.js\.gzip$">
    AddType "text/javascript" .gzip
</FilesMatch>
<FilesMatch "\.css\.gzip$">
    AddType "text/css" .gzip
</FilesMatch>
AddEncoding gzip .gzip

TYPO3 sorgt jetzt dafür, dass

  1. unnötige Leerzeichen in den CSS-Dateien entfernt
  2. sowohl CSS- als auch JavaScript-Dateien komprimiert (gzip) übertragen
  3. alle CSS bzw. JavaScript-Dateien zu jeweils einer Datei zusammengefasst

werden.

Dadurch sollten sich insgesamt merkliche Geschwindigkeitsverbesserungen einstellen.

Damit der Spass funktioniert, müssen sowohl JavaScript- als auch CSS-Dateien mit includeJS / includeJSFooter bzw. includeCSS eingebunden werden.

Nachtrag: Die Nutzung von "compressionLevel"  (BE/FE) kann ab und an auch zu Problemen führen. Beispielsweise sieht das Backend aus, als ob es keine Styles hätte. In diesen Fällen besser auf "0" setzen. Die oben genannten Einstellung in der .htaccess bringt dennoch etwas.

Kommentare (2)

  • Tofu
    Tofu
    am 06.02.2016
    Wenn ich das mache bekomme ich im Frontend irgendeine nicht lesbare Ausgabe. Laut phpinfo ist aber
    gzip compression enabled
    HTTP_ACCEPT_ENCODING gzip, deflate, sdch

    Bin bei 1und1, viellleicht liegt da der Wurm begraben
  • Tofu
    Tofu
    am 06.02.2016
    vergiss meinen letzten post. ich bekomme die seltsame ausgabe wenn ich FE->compressionLevel einschalte

Write new comment reply