Expires Header

Expires Header

Copyright © Shutterstock/Brian A Jackson

Was sind Expires Header?

Der Expires Header enthält Anweisungen für den Browser eines Webseitenbesuchers, ob und wie lange er eine Ressource in seinem Cache speichern soll. Der Expires Header enthält das Datum und/oder die Uhrzeit, nach der die Ressource veraltet ist und neu geladen werden muss. Wenn Expires Header für eine Ressource, zum Beispiel für alle JPEG Bilder auf einer Webseite, festgelegt werden, speichert der Browser diese Ressourcen beim Aufruf der Webseite in seinem Cache. Sobald der Besucher das nächste Mal auf die Webseite zurückkehrt, wird diese schneller geladen, da dem Browser die Bilder bereits zur Verfügung stehen und er sie nicht neu herunterladen muss.

Nachdem Google die Auswirkungen der Ladegeschwindigkeit auf die Such Rankings bekannt gegeben hatte, richtete sich die Aufmerksamkeit vieler SEOs und Webseitenbetreiber auf die Vorteile von Expires Headern, um das Browser Caching zu steuern.

Das Verbessern der Ladegeschwindigkeit einer Website verbessert ihre Funktionalität und bietet Vorteile wie niedrigerer Absprungraten und eine höhere Verweildauer. Wenn eine Website schneller geladen wird, als die Websites der Wettbewerber, kann dies möglicherweise bessere Platzierungen in den Google Suchergebnissen zur Folge haben. Ein weiterer Vorteil von Expires Headern besteht darin, unnötige HTTP-Anfragen vom Browser an den Server zu vermeiden.

Funktionsweise und Implementierung von Expires Headern

Die Funktionsweise von Expires Header ist einfach. Sie teilen dem Browser mit, wie lange eine Datei im Cache gespeichert werden muss, damit sie bei nachfolgenden Seitenansichten und Besuchen die Datei nicht erneut herunterladen müssen. Das heißt, ein Expires-Header verbessert die Ladegeschwindigkeit einer Webseite nicht beim erstmaligen Besuch eines Users, da dieser Besucher alle Dateien zum ersten Mal herunterladen muss. Erst bei weiteren Besuchen mit dem gleichen Browser wird die Ladezeit verkürzt, da der Browser einen Teil oder alle Ressourcen im Cache gespeichert hat.

Damit der Browser weiß, dass er bestimmte Ressourcen zwischenspeichern soll, enthalten Expires Header einfache Anweisungen für den Browser. Zum Beispiel

Expires: Mon, 1 Oct 2018 12:22:00 GMT

oder

ExpiresDefault “access plus 1 month”

Die zweite Anweisung sorgt dafür, dass die gesamte Ressource für einen Zeitraum von einem Monat nach dem Abruf gespeichert wird. Wenn nur einzelne Ressourcen gespeichert werden sollen, müssen diese benannt werden. Das heißt, es muss erst ermittelt werden, welche Dateien häufig aktualisiert und welche Dateitypen nicht oft aktualisiert werden.

Manchmal ist es nicht sinnvoll, eine ganze Gruppe von Skripten, Images oder anderen statischen Ressourcen auf der gesamten Webseite zwischenzuspeichern, aber es wäre hilfreich, bestimmte zu cachen. Zum Beispiel bei einer E-Commerce Webseite, die häufig aktualisiert wird, kann es sinnvoll sein, einen Expires Header für bestimmte Bilder und nicht für alle Bilder auf der gesamten Website festlegen.

Das Setzen von Expires Headern für bestimmte Ressourcen, wie Header Images, die sich nicht ändern, ermöglicht ein schnelleres Laden der Webseite, während die Produktbilder aktualisiert werden können, ohne dass der Browser sie zwischenspeichert. Auf diese Weise wird sichergestellt, dass Produktbilder aktualisiert werden und Kunden die neuen Bilder sehen.

Eine Möglichkeit nur bestimmte Ressourcen zwischenzuspeichern besteht darin, zwei separate Asset Ordner zu erstellen: einen für statische Ressourcen und den anderen für Ressourcen, die häufig aktualisiert werden. Alle Ressourcen, zum Beispiel Bilder und Skripte, für die ein Ablauf in der fernen Zukunft festgelegt werden soll, werden in den statischen Ordner gelegt. Die Ressourcen, die nicht im Cache gespeichert werden sollen, werden in den anderen Ordner gelegt.

Beide Ordner sollten eine .htaccess Datei enthalten. In der .htaccess Datei für die häufig zu aktualisierenden Inhalte sollte explizit ein No-Cache-Header eingefügt werden. Dadurch wird sichergestellt, dass der Inhalt nicht zwischengespeichert wird.

Selektiv gespeichert werden können praktisch alle Elemente einer Webseite wie Bilder, Favicons, Texte, CSS oder Scripte. Die Anweisungen werden üblicherweise in die .htaccess-Datei der Webseite wie folgt eingefügt:

< IfModule mod_expires.c># Enable expirationsExpiresActive On# My faviconExpiresByType image/x-icon "access plus 1 year"# ImagesExpiresByType image/gif "access plus 1 month"ExpiresByType image/png "access plus 1 month"ExpiresByType image/jpg "access plus 1 month"ExpiresByType image/jpeg "access plus 1 month"# CSSExpiresByType text/css "access plus 1 month"# JavascriptExpiresByType application/javascript "access plus 1 year"< /IfModule>

Wenn der Browser diese .htaccess-Datei erhält, weiß er, dass Bilder mit den Formaten .gif, .png, .jpg und .jpeg sowie CSS Dateien für einen Monat, das Favicon der Webseite und Javascript für ein Jahr gespeichert werden sollen. Der maximale Ablauf der Speicherfrist kann 12 Monate in der Zukunft liegen.

Mögliche Nachteile für die User Experience

Der offensichtliche Nachteil der Implementierung von Expires Headern ist die Tatsache, dass, wenn eine Ressource zu weit in der Zukunft abläuft und Aktualisierungen an der Webseite, ob geplant oder unvorhergesehen, vorgenommen werden müssen, können wiederkehrende Besucher die Änderungen erst nach Ablauf der Header in ihrem Browser sehen. Es ist wichtig, darüber nachzudenken, wie weit davon ausgegangen werden kann, dass die Ressourcen gleich bleiben, um das am besten geeignete Ablaufdatum zu bestimmen. Es ist darüber hinaus wichtig, selbst die kleinsten Ressourcen einer Webseite zu bewerten, bevor Expires Header genutzt werden. Dies gilt insbesondere für E-Commerce Webseiten.

Bei E-Commerce Webseiten können nicht ordnungsgemäß genutzte Expires Header zu schwerwiegenden Problemen führen. Wenn beispielsweise ein wiederkehrender Besucher versucht, Produkte in den Einkaufswagen zu legen, aber die Ressourcen wie zum Beispiel HTML, CSS oder Produktbilder zwischengespeichert werden, zeigt der Einkaufswagen Produkte an, die in der Vergangenheit hinzugefügt wurden und nicht die neu in den Einkaufswagen gelegten Produkte. Zwar kann das Problem durch einfaches Auffrischen des Browser Caches mit STRG + F5 behoben werden, aber viele Besucher kennen diese Möglichkeit wahrscheinlich nicht. Sie werden den Shop frustriert und ohne etwas zu kaufen, wieder verlassen.

Anforderungen an die Funktionalität von Webseiten

Jede Webseite hat unterschiedliche Anforderungen an die Funktionalität. Nicht alle Ressourcen auf einer Webseite müssen unbedingt zwischengespeichert werden. Zum Beispiel lädt HTML im Allgemeinen sehr schnell, sodass es normalerweise keine wirkliche Notwendigkeit gibt, HTML im Cache zwischenzuspeichern. Wenn eine Website nur langsam geladen wird, ist es empfehlenswert, die wichtigsten Ressourcen wie Bilder und Skripte zu überprüfen, da diese die Hauptursache langsamer Webseiten sind. Richtig eingesetzt kann mit Expires Header die Funktionalität, Benutzerfreundlichkeit und Suchmaschinenfreundlichkeit einer Website erheblich verbessert werden.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte