Turbo für die Webseite – htaccess tunen, gzip injizieren und Ballast abwerfen


Mit Gzip und Deflate Compression übergewichtige Pfunde der Webseite schrumpfen sowie Müsli, ähm Cache und Expires gegen das Vergessen via htaccess optimal servieren – so gehts:

Ich habe schon lange nach einer optimalen htaccess gesucht, die möglichst alle (viele) Empfehlungen von PageSpeed sauber umsetzt. Wo wenn nicht bei google wurde ich heute endlich fündig!

Ich habe von der originalen htaccess Datei eine wichtige Teilmenge für mich abgezwackt, die all meinen Seiten ein paar Flügel verliehen hat!

Vielleicht kann der ein oder andere damit ja auch was gescheites anfangen:

1. Komprimieren der Inhalte mit Deflate nach Dateityp

# Deflate Compression by FileType
<IfModule mod_deflate.c>
 AddOutputFilterByType DEFLATE text/plain
 AddOutputFilterByType DEFLATE text/html
 AddOutputFilterByType DEFLATE text/xml
 AddOutputFilterByType DEFLATE text/css
 AddOutputFilterByType DEFLATE text/javascript
 AddOutputFilterByType DEFLATE application/xml
 AddOutputFilterByType DEFLATE application/xhtml+xml
 AddOutputFilterByType DEFLATE application/rss+xml
 AddOutputFilterByType DEFLATE application/atom_xml
 AddOutputFilterByType DEFLATE application/javascript
 AddOutputFilterByType DEFLATE application/x-javascript
 AddOutputFilterByType DEFLATE application/x-shockwave-flash
</IfModule>

2. Cache Ablauf auf einen Monat setzen

# turns cache on for 1 month
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresByType text/css "access plus 1 month"
 ExpiresByType text/javascript "access plus 1 month"
 ExpiresByType text/html "access plus 1 month"
 ExpiresByType application/javascript "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 image/x-icon "access plus 1 month"
</IfModule>
<ifmodule mod_headers.c>
 <filesmatch "\\.(ico|jpe?g|png|gif|swf)$">
  Header set Cache-Control "max-age=2592000, public"
 </filesmatch>
 <filesmatch "\\.(css)$">
  Header set Cache-Control "max-age=604800, public"
 </filesmatch>
 <filesmatch "\\.(js)$">
  Header set Cache-Control "max-age=216000, private"
 </filesmatch>
</ifmodule>

3. Komprimieren der Inhalte mit Deflate nach Dateiendungen.

Zudem wir der Default Ablaufdatum (1 Monat) für das Caching der betroffenen Dateien gesetzt
Diese Variante ist alternativ für 1. und 2. anzusehen sofern keine granulare Trennung zwischen den Dateitypen stattfinden soll

# Deflate Compression by MimeType
<IfModule mod_deflate.c>
 <FilesMatch "\.(js|jpg|jpeg|gif|png|css)$">
  ExpiresActive on
  ExpiresDefault "access plus 1 month"
  SetOutputFilter DEFLATE
 </FilesMatch>
</IfModule>

Alternative Komprimierung der Inhalte mit gzip

gzip Compression ist nicht (mehr) auf jedem Server verfügbar. Solltest Du Dich dennoch dafür interessieren gzip statt DEFLATE zu verwenden, findest Du die Anweisungen nach dem Klick.

Veröffentlicht von

Mehr zu meiner Person findest Du hier

3 Kommentare Schreibe einen Kommentar

  1. Hallo Victor,
    du schreibst bei Punkt 3.:
    gzip Compression ist nicht auf jedem Server verfügbar. Wahrscheinlich wirst Du mit DEFLATE auskommen müssen.

    Ich bin dabei mich in die Thematik einzuarbeiten. Bisher hab zu mod_deflate und mod_gzip rausgefunden, das deflate für Apache ab 2.0 und gzip bis 1.3 empfohlen wurde. Mod-gzip hab ich in der Doku für Apache auch nicht mehr gefunden. Warum empfiehlst du eher gzip?

    Gruß
    Gerd

  2. Nach Deiner Ausführung habe ich keine Argumente für GZIP. Werde es rausnehmen.
    2012 (der originale Beitrag ist so alt) war gzip noch schneller als zlib. Zudem hatten damals noch nicht alle Browser Deflate unterstützt.

    VG, Viktor

Hinterlasse eine Antwort


Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

%d Bloggern gefällt das: