CSS, JavaScript und Bilder mit TYPO3 komprimieren
Die Ladezeiten von Webseiten spielen nicht nur für ungeduldige Internetbesucher eine wichtige Rolle. Vielmehr verweisen Suchmaschinen auf die Wichtigkeit schneller Seitenzugriffe und das damit verbundene Ranking. Wir haben uns daher mit der Datenkomprimierung - insbesondere den CSS-, JavaScript und Bilddateien - bei TYPO3-Seiten beschäftigt. Einiges kann man recht schnell umsetzen, aber Vorsicht: immer überprüfen, ob es "Nebeneffekte" gibt:
1. Ergänzung typoscript
config.compressJs = 1
config.compressCss = 1
config.concatenateJs = 1
config.concatenateCss = 1
--> Das fasst die css- und JavaScript-Dateien zuammen(aber nur, wenn sie über includeCSS, includeJS oder includeJSFooter eingebunden sind).
2. Einstellungen im Installtool
Compression-Level sollte größer als 5 sein
Debuggen sollte ausgeschalt sein
Bilder: Jpg-Qualität im Install-Tool auf 70 oder 65 setzen, Browsercache für Bilder aktivieren.
3. Änderungen in der .htaccess
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 year"
# Data interchange
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
# Favicon (cannot be renamed!)
ExpiresByType image/x- icon "access plus 1 week"
# HTML components (HTCs)
ExpiresByType text/x-component "access plus 1 month"
# HTML
ExpiresByType text/html "access plus 0 seconds"
# JavaScript
ExpiresByType application/javascript "access plus 1 year"
# Manifest files
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
# Media
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# Web feeds
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
# Web fonts
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
</IfModule>