Mit der richtigen Konfiguration seiner .htaccess-Datei kann man einiges an der Geschwindigkeit des Seitenaufbaus ändern. In diesem Tutorial werde ich mich deshalb mit genau dieser Datei beschäftigen, da die Geschwindigkeit in unserer heutigen Zeit einfach eine enorm große Rolle spielt. Nicht nur für die Besucher, die nicht ewig warten wollen, sondern auch die Suchmaschinen, die die Geschwindigkeit mit in ihr Ranking einfließen lassen.
Ich habe hier einige Tipps für die .htaccess-Datei. Diese sind ausschließlich leistungsoptimierend, andere Ratschläge werden zu gegebener Zeit folgen. Ihr könnt dann ja einfach das Schlagwort .htaccess auswählen um ähnliche Artikel zu finden.
Die Einstellungen könnt ihr für jede Website verwenden, egal ob WordPress, Joomla, MyBB, ein anderes CMS oder eine selber geschriebene Seite. Am besten macht ihr einen Vergleich, indem ihr die Geschwindigkeit vorher misst, oder euch die Google Pagespeed Tipps anseht.
Gzip Komprimierung
Die Gzip Komprierung mit dem Apache Mod „mod_deflate.c“ packt die zu ladenden Dateien in Gzip-Archive und verringert somit die Dateigröße der zu ladenden Dateien. Mit der heutigen Rechenleistung ist das Entpacken schneller als das Herunterladen von größeren Dateien.
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf AddOutputFilterByType DEFLATE font/truetype font/opentype </IfModule>
Browsercache
Die Daten werden von dem Browser gecached (zwischengespeichert) und müssen somit beim erneuten Aufrufen der Seite nicht nochmal heruntergeladen werden. Das kann schon einige Sekunden sparen. Die Cachedauer wird in Sekunden angegeben, ihr könnt die Zahlen also gerne anpassen.
<IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css A31536000 ExpiresByType text/x-component A31536000 ExpiresByType application/x-javascript A31536000 ExpiresByType application/javascript A31536000 ExpiresByType text/javascript A31536000 ExpiresByType text/x-js A31536000 ExpiresByType text/html A7200 ExpiresByType text/richtext A7200 ExpiresByType image/svg+xml A7200 ExpiresByType text/plain A7200 ExpiresByType text/xsd A7200 ExpiresByType text/xsl A7200 ExpiresByType text/xml A7200 ExpiresByType video/asf A31536000 ExpiresByType video/avi A31536000 ExpiresByType image/bmp A31536000 ExpiresByType application/java A31536000 ExpiresByType video/divx A31536000 ExpiresByType application/msword A31536000 ExpiresByType application/vnd.ms-fontobject A31536000 ExpiresByType application/x-msdownload A31536000 ExpiresByType image/gif A31536000 ExpiresByType application/x-gzip A31536000 ExpiresByType image/x-icon A31536000 ExpiresByType image/jpeg A31536000 ExpiresByType application/json A31536000 ExpiresByType application/vnd.ms-access A31536000 ExpiresByType audio/midi A31536000 ExpiresByType video/quicktime A31536000 ExpiresByType audio/mpeg A31536000 ExpiresByType video/mp4 A31536000 ExpiresByType video/mpeg A31536000 ExpiresByType application/vnd.ms-project A31536000 ExpiresByType application/x-font-otf A31536000 ExpiresByType application/vnd.oasis.opendocument.database A31536000 ExpiresByType application/vnd.oasis.opendocument.chart A31536000 ExpiresByType application/vnd.oasis.opendocument.formula A31536000 ExpiresByType application/vnd.oasis.opendocument.graphics A31536000 ExpiresByType application/vnd.oasis.opendocument.presentation A31536000 ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000 ExpiresByType application/vnd.oasis.opendocument.text A31536000 ExpiresByType audio/ogg A31536000 ExpiresByType application/pdf A31536000 ExpiresByType image/png A31536000 ExpiresByType application/vnd.ms-powerpoint A31536000 ExpiresByType audio/x-realaudio A31536000 ExpiresByType image/svg+xml A31536000 ExpiresByType application/x-shockwave-flash A31536000 ExpiresByType application/x-tar A31536000 ExpiresByType image/tiff A31536000 ExpiresByType application/x-font-ttf A31536000 ExpiresByType audio/wav A31536000 ExpiresByType audio/wma A31536000 ExpiresByType application/vnd.ms-write A31536000 ExpiresByType application/vnd.ms-excel A31536000 ExpiresByType application/zip A31536000 </IfModule>
Google Pagespeed
Google bietet sowohl einen Pagespeed Service als auch ein Mod für Nginx oder Apache an. Ich denke der Service bringt am meisten Performance, da die Seiten dann auch auf den Google Servern gecached werden, jedoch hat man die Daten dann auch bei Google. Das muss jeder für sich selber entscheiden. Der Service oder Mod optimiert die Ausgabe der Dateien indem Minifying betrieben wird, also unnötige/überflüssige Teile gelöscht werden. Außerdem wird wie gesagt gecached, ihr findet aber alle Informationen auf der Google Pagespeed Seite.
<IfModule pagespeed_module> ModPagespeed on # using commands,filters etc </IfModule>
Ihr könnt die verschiedenen Teile einfach untereinander in eure .htaccess-Datei einfügen. Die verschiedenen Mods/Module müssen natürlich auf eurem Webserver installiert sein, ansonsten bringt es euch nichts das in die .htaccess-Datei zu schreiben. Wer direkten Zugriff auf die vHosts hat, kann dies natürlich auch dort eintragen und den Webserver .htaccess-Dateien ignorieren lassen. Das würde auch nochmal ein paar Millisekunden bringen, ich hab das allerdings noch nie getestet.
Ich bin auf eure Ergebnisse gespannt und wenn ihr weitere Tipps habt, nur raus damit.