Expires Headers optimieren die Ladezeit Deiner Webseite. Sie geben dem Browser Anweisungen, ob er eine bereits im Cache gespeicherte Version einer Seite oder ihrer Komponenten verwenden oder neue Versionen der Dateien herunterladen soll. In diesem Beitrag zeigen wir Dir, wie Du Expires Headers zu Deiner .htaccess-Datei hinzufügst und was jede Zeile in dieser Datei bewirkt.
Ziel von Expires Headers
Das Hauptziel von Expires Headers ist es, die Anzahl der Downloads einer Datei von einem Server zu reduzieren und dem Browser zu ermöglichen, eine bereits auf Deinem Computer gespeicherte Version einer Datei zu verwenden. Dies reduziert die Anzahl der HTTP-Anfragen an den Server, wenn jemand auf Deine Website zurückkehrt, da Du die zuvor heruntergeladene Version derselben Datei wiederverwenden kannst.
Du benötigst eine PageSpeed-Optimierung?
Wie funktionieren Expires Headers?
Das Speichern der Dateien im Cache Deines Computers bedeutet, dass bei zukünftigen Besuchen dieser Seite der Browser die Datei nicht erneut herunterladen muss. Beachte aber, dass Expires Headers die Seitengeschwindigkeit bei einem ersten Besuch nicht verbessern, schließlich musst Du die Dateien mindestens einmal heruntergeladen haben, um sie erneut zu referenzieren.
Für wiederkehrende Besucher werden jedoch die Ladezeiten der Seiten schneller sein.
Wie fügst Du Expires Headers zu Deiner .htaccess-Datei hinzu?
Zunächst musst Du entscheiden, welche Dateien Du häufig aktualisierst und welche Dateitypen nicht oft aktualisiert werden. Hier ist eine gängige Liste von Dateitypen, die Du einbeziehen solltest:
- Bilder: jpg, jpeg, gif, png, svg, webp
- favicon/ico
- Javascript
- CSS
- HTML
Nachdem Du Dich für die Dateitypen entschieden hast, musst Du überlegen, wie oft Du jeden einzelnen änderst. Bilder werden beispielsweise in der Regel nicht oft geändert, während CSS häufiger geändert wird.
Expires Headers werden in der .htaccess-Datei definiert. Dies ist eine versteckte Datei, die sich oft im Hauptverzeichnis Deiner Website befindet (über FTP).
Bevor Du Änderungen vornimmst, sichere diese Datei.
Öffne nun Deine .htaccess-Datei in einem Texteditor und füge den folgenden Code hinzu:
# Expires headers <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5) ExpiresByType text/cache-manifest "access plus 0 seconds" # Your document html ExpiresByType text/html "access plus 0 seconds" # Data ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" # Feed ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" # Favicon (cannot be renamed) ExpiresByType image/x-icon "access plus 1 week" # Media: images, video, audio ExpiresByType image/gif "access plus 4 months" ExpiresByType image/png "access plus 4 months" ExpiresByType image/jpeg "access plus 4 months" ExpiresByType image/webp "access plus 4 months" ExpiresByType video/ogg "access plus 4 months" ExpiresByType audio/ogg "access plus 4 months" ExpiresByType video/mp4 "access plus 4 months" ExpiresByType video/webm "access plus 4 months" # HTC files (css3pie) ExpiresByType text/x-component "access plus 1 month" # Webfonts ExpiresByType font/ttf "access plus 4 months" ExpiresByType font/otf "access plus 4 months" ExpiresByType font/woff "access plus 4 months" ExpiresByType font/woff2 "access plus 4 months" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" # CSS and JavaScript ExpiresByType text/css "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" </IfModule>
Erklärung des Codes:
<IfModule mod_expires.c>
: Dieser Code überprüft, ob das Modulmod_expires
auf Deinem Server aktiviert ist.ExpiresActive on
: Dies aktiviert die Expires Headers.ExpiresDefault "access plus 1 month"
: Dies setzt die Standardablaufzeit für alle Dateitypen, die nicht spezifisch definiert sind, auf einen Monat.ExpiresByType
: Mit diesem Befehl kannst Du spezifische Ablaufzeiten für bestimmte Dateitypen festlegen. Zum Beispiel legtExpiresByType image/gif "access plus 4 months"
fest, dass GIF-Bilder vier Monate im Cache gespeichert werden sollen.
Du benötigst eine PageSpeed-Optimierung?
Zeiträume für Expires Headers und ihre Auswirkungen
Zeitspanne | Bedeutung |
---|---|
access plus 1 year | Die Datei bleibt für ein Jahr im Cache, nachdem sie zuletzt zugegriffen wurde. |
access plus 1 month | Die Datei bleibt für einen Monat im Cache, nachdem sie zuletzt zugegriffen wurde. |
access plus 1 week | Die Datei bleibt für eine Woche im Cache, nachdem sie zuletzt zugegriffen wurde. |
access plus 1 day | Die Datei bleibt für einen Tag im Cache, nachdem sie zuletzt zugegriffen wurde. |
access plus 1 hour | Die Datei bleibt für eine Stunde im Cache, nachdem sie zuletzt zugegriffen wurde. |
access plus 10 minutes | Die Datei bleibt für zehn Minuten im Cache, nachdem sie zuletzt zugegriffen wurde. |
Unsere Best Practices:
- Bilder und Videos: Da diese Dateien selten geändert werden, ist es sinnvoll, sie für einen längeren Zeitraum, z.B. ein Jahr, im Cache zu behalten.
- CSS und JavaScript: Diese Dateien werden häufiger aktualisiert. Ein Monat ist ein guter Kompromiss, um sicherzustellen, dass die Benutzer nicht ständig veraltete Dateien verwenden.
- HTML-Dateien: Da der Inhalt einer Webseite häufig aktualisiert wird, ist es sinnvoll, diese Dateien nur für kurze Zeiträume, z.B. 10 Minuten bis 1 Stunde, im Cache zu behalten.
Hast Du Fragen oder Anmerkungen? Dann lass es uns in den Kommentaren oder über das Kontaktformular wissen.
Hi, ist diese Datei nur für WordPress?
Hi Theo,
die .htaccess ist nur für Apache-Webserver, also nicht für NGINX. Ob bei WIX, Jimdo und anderen Baukästen Du ein Zugriff zu dieser hast weiß ich nicht. Es ist aber nicht nur für WordPress, sondern allgemeingültig.