Meine perfekte .htaccess für schnelle Webseiten

Perfekte .htacces für schnellere Ladezeiten

Artikel wurde aktualisiert am 20.06.2016

Die Geschwindigkeit einer Webseite ist nicht nur für den Besucher wichtig, auch Google fordert einen schnellen Seitenaufbau. Mit Browser Caching und gzip Komprimierung können wir in der .htaccess dafür sorgen, dass unsere Webseite spürbar schneller lädt. Anwendbar für WordPress und für jede andere Webseite.

Hattest du bis jetzt eine nicht optimierte oder gar keine .htaccess-Datei, wird die folgende Anleitung deine Webseite garantiert schneller machen. Versprochen!

Bereits vor sechs Jahren hatte Google offiziell verkündet, dass die Geschwindigkeit in das Ranking bei Google aufgenommen wird. Site Speed ist also ein Rankingfaktor!
Ich kann mich noch gut erinnern. Damals wurde das von vielen Webmaster noch nicht so ernst genommen. Im Jahre 2000 wurde mit Javascript und Flash nicht gegeizt. Die Webseiten Designs waren fulminant und aufgebläht. Das krasse Gegenteil zum aktuellen Flat Design Boom.

Wie kann ich die Geschwindigkeit testen?

Bevor wir mit den Änderungen anfangen, müssen wir zuerst den aktuellen Zustand unserer Seite überprüfen, damit wir nachher auch einen Vergleich haben. Nur so können die Änderungen auch bewertet werden.

Ich nutze dafür am liebsten https://gtmetrix.com/.

Weitere Alternativen sind:

GTmetrix Test vor den Änderungen
GTmetrix – Test vor den Änderungen durchführen

Nachdem du deine Seite getestet hast, kennst du deinen aktuellen PageSpeed Wert, den YSlow Wert, die Ladezeit, die Downloadgröße und wie viele Requests (geladene Dateien wie CSS und JS) beim Laden deiner Seiten notwendig waren.

Was ist die .htaccess?

Die Datei namens .htaccess ist nicht unbedingt notwendig, um eine Webseite zu betreiben.

Seltsam mag dir der Name mit einem Punkt davor vorkommen. Auf Betriebssystemen wie Linux und Unix, worauf die meisten Webserver laufen, bedeutet das aber lediglich, dass diese Datei unsichtbar ist. Mehr steckt hinter diesem Punkt vor einer Datei nicht.

Diese Datei liegt normalerweise im Document Root deiner Webseite. Also dort wo auch die index.html oder index.php liegt.

.htacces im Document-Root von WordPress
.htacces im Document-Root von WordPress

Die Einstellungen darin gelten auch für alle darunter liegenden Dokumente. Du musst die Datei also nicht in jedes Unterverzeichnis kopieren.
Bei WordPress wird die Datei mitgeliefert, da sie für die sogenannten Permalinks notwendig ist. Dabei werden die unschönen URLs in lesbare Adressen umgewandelt.

Ich verwalte seit Jahren eine Vorlage einer .htaccess Datei, die ich für all meine Webseiten benutze. Die optimiere ich von Zeit zu Zeit und teste neue Funktionen. Verbesserungen trage ich dann auf allen anderen Seiten nach.

Die .htaccess anpassen

Für die Geschwindigkeit sind das Caching und die gzip Komprimierung die wichtigsten Maßnahmen in der .htaccess. Es können aber noch viele weitere Dinge darin geregelt werden.
Die Datei kannst du mit einem beliebigen Editor öffnen. Ich nutze dafür Notepad++ und den FTP Client FileZilla.

Die Standard .htaccess von WordPress schaut so aus:

Standard WordPress .htaccess
Standard WordPress .htaccess

Die vorhandenen Regeln lassen wir ganz am Ende der Datei stehen. Alles Neue fügen wir darüber ein.

Caching und GZIP

Die folgenden Regeln sagen dem Browser wie lange bestimmte Elemente lokal gespeichert werden sollen und auch von dort wieder geladen werden sollen. Der Abschnitt GZiP sorgt dafür, dass die Übertragung zwischen Server und Browser komprimiert werden soll.


#CACHING
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 5 seconds"
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType image/ico "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresByType text/css "access plus 1 day"
ExpiresByType text/javascript "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
</IfModule>

#CACHE-CONTROL, KEEP ALIVE, ETAGS
<IfModule mod_headers.c>
Header append Cache-Control "public"
Header append Vary Accept-Encoding
Header set Connection keep-alive
Header unset ETag
FileETag None
</IfModule>

#GZIP
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

Ich weiß, dafür gibt es im Netz Vorlagen, die drei mal so lange sind. Mehr hilft aber nicht immer mehr. Endlose Anweisungen lassen die .htaccess nur unhandlich und unübersichtlich werden.
Die Einstellungen habe ich über Jahre gesammelt und getestet. Damit bekommst du das beste Ergebnis.

Fertig könnte dann deine Datei so aussehen:


#CACHING
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 5 seconds"
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType image/ico "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresByType text/css "access plus 1 day"
ExpiresByType text/javascript "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
</IfModule>

#CACHE-CONTROL, KEEP ALIVE, ETAGS
<IfModule mod_headers.c>
Header append Cache-Control "public"
Header append Vary Accept-Encoding
Header set Connection keep-alive
Header unset ETag
FileETag None
</IfModule>

#GZIP
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Abschließender Test

Damit du nun den Erfolg deiner Änderungen überprüfen kannst, rufst du noch mal das Geschwindigkeits-Messtool deiner Wahl auf. Ich gehe wieder auf GTmetrics, wo ich auch einen kostenlosen Account habe. Damit werden meine Tests gespeichert und ich kann sie auch nach einigen Wochen wieder vergleichen.
Am besten in einem zweiten Browser Fenster, damit du Vorher und Nachher schön vergleichen kannst.

Hattest du vorher eine Standard .htaccess oder gar keine, wirst du in allen Werten deutliche Verbesserungen sehen.

Du siehst, mit wenigen Eingriffen kann viel erreicht werden.
Das werden dir deine Besucher mit mehr Seitenaufrufen danken und die Suchmaschinen mit besseren Rankings.

Verfasst in: WordpressTags: , ,
2 Kommentare
  1. Hallo Jochen,
    sehr hilfreicher Artikel zur Optimierung der Ladezeiten über die Anpassung der .htaccess!

    So sieht echter Mehrwert für den Besucher eines Blogs aus – klasse :-)

    Werde ich auf jeden Fall testen und ggf. an Foren-Freunde verlinken…

    Beste Grüße
    Pete

    • Hey Peter!
      Freut mich wenn ich helfen kann.
      Die .htaccess Regeln unbedingt einfügen. Die bewirken wahre Wunder :)

      Jochen


Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kommentar *

Name *
E-Mail *
Webseite