SEO Frage: Was bedeutet Caching?

Beliebte Service-Antworten aus der IT und der Web-Entwicklung:
“Haben Sie den PC schon neugestartet?” oder “Leeren Sie den Cache!”.
Aber was genau ist dieser Cache und was gibt es für relevante Einstellungen?

Caching (HTTP) hilft dabei die Zugriffszeiten auf eine Website zu verringern indem Ressourcen, wie Dateien Dokumente, Bilder, etc. in einem Cache zwischengespeichert werden. Dadurch wird der Ressourcen-Verbrauch reduziert, da unnötige Anfragen an den Server vermieden werden und weniger Daten übertragen werden müssen.

Das Aktivieren des Browser Cache ist eine wichtige Maßnahme zur Optimierung für Suchmaschinen und zum gleichen Teil auch zur Verbesserung der Nutzererfahrung. Beides geht im SEO ohnehin Hand-in-Hand. Dazu müssen verschiedene Einstellungen getätigt werden, die ich im Folgenden etwas näher beleuchten werde. Es geht nicht nur darum die Cache-Laufzeit und die Dateitypen festzulegen, die zwischengespeichert werden müssen. Es gibt noch weitere Einstellungen über die ein SEO Bescheid wissen muss:

  • Last-Modified header

    Gibt die Information mit zu welchem Zeitpunkt eine Webseite eine Änderung erfahren hat. Der Browser kann dann entscheiden, ob Daten aus dem Cache geladen oder neu vom Server abgerufen werden, um ein aktuelles Bild der Website darzustellen.

  • Expires header

    Auch die Anfrage, wann die Seite, bzw. eine notwendige Datei (CSS, JS, PNG, JPG,usw.) das letzte Mal geändert wurde, verbraucht Ladezeiten. Das kann man umgehen indem man ein Ablaufdatum für Dateien einstellt, die sich nicht häufig ändern und diese damit immer aus dem Cache laden lässt.

  • Cache control header

    In manchen Fällen benötigt der Server oder Client implizite “Direktiven” für das Caching und in anderen explizite Direktiven. Mit Hilfe des Cache Control Header erhält der Server oder der Client die Möglichkeit eine Reihe an Direktiven in Requests oder Responses zu übertragen. Diese Direktiven überschreiben die Default Caching Einstellungen.

    Was versteht man unter impliziten und expliziten Caching Direktiven:

    “Looks like implicit caching always saves your prepared and callable statements when they’re closed, while explicit caching only saves the ones you specify. It also appears that explicit caching may be slightly faster, but carries the risk of returning stale data.”
    Quelle: STACKOVERFLOW
  • Entity Tag (ETag)

    Mit dem ETag HTTP Response Header kann dem Server gesagt werden, ob sich die Version einer Information / Datei geändert hat und ob deshalb eine vollständige Anfrage notwendig ist, wenn sich der Inhalt nicht geändert hat.

  • HTTP (gzip) compression

    Ein Freund und Leser meiner Posts hat mich zurecht darauf hingewiesen, dass an dieser Stelle ein Hinweis angebracht ist:

    “Gzip und Etag lässt sich logischerweise nicht cachen, da der Header inklusive Etag mit gecached würde. Ändert sich dann an der Original-Ressource das Etag, weil sich der Dateiinhalt verändert, kommt noch für die Dauer der Cache-Lifetime das alte Etag und am Client käme keine Veränderung an… Der Ressourcen-Header wird brav mit 304 Not-Modified ausgeliefert und das File nicht (neu) geladen.”

  • Keine Cookies für statische Objekte setzen

    Dynamisch generierte Seiten, die Cookies nutzen um daraus Informationen zu ziehen sollten auf einem getrennten Webserver gehostet werden und Cookies auf diese beschränkt werden. Es gilt zu vermeiden, dass Cookies bei statische Daten, wie bspw. Bildern, mitgeschickt werden. Dadurch wird der HTTP-Request-Header nur unnötig vergrößert.

P.s. Ein gut eingestelltes CDN, wie Cloudflare bringt eure Seite einen mächtigen Schub an Speed. Datenschutz und Co. mal außen vor…


NOCH MEHR LERNEN mit der Extra-Portion Experten-Wissen von Web Entwickler und Coder Markus Hilker:

Caching Guide

Dateien werden vom Client in der Regel aufgrund von Angaben aus den Serverantworten, die als Metadaten in den sogenannten http-Headern bei jeder Anforderung mitgesendet werden im Clientcache zwischengespeichert. Dieser Mechanismus spart Bandbreite und führt zur Beschleunigung von Seitenladevorgängen.

Beim Caching können einfache aber auch komplexere Mechanismen zum Einsatz kommen. Die komplexen Verfahren können nur dann erfolgen, wenn der Server starke oder schwache Validation ermöglicht.

Eine alltägliche Situation stellt das Cachen von statischen Ressourcen dar, um etwa Ladezeiten von Webseiten zu beschleunigen. Es ist ja auch ziemlich einleuchtend, dass sich zum Beispiel eine JavaScript-Datei nicht bei jedem Ladevorgang der Seite ändert und etwa beim Navigieren über verschiedene Seiten eines Webauftritts nicht jedes Mal neu geladen werden muss.

Damit wir den Client entsprechend anweisen können, eine Datei nicht erneut zu laden, sondern aus seinem Cache zur Verfügung zu stellen, wurden im http-Protokoll diverse Mechanismen implementiert. Erreichen können wir dieses etwa durch setzen der folgenden http-Header. Was erstmal kompliziert klingt ist jedoch kein Hexenwerk denn glücklicherweise nehmen uns die Webserver diese Arbeit ab:

Expires (Ablaufdatum mittels Zeitstempel)

Last-modified (schwache Validation)

Etag (starke Validation)

Expires:

Zum Expires-Header gibt es wenig zu sagen, es wird ein Zeitpunkt angegeben für bis zu dem die Datei mindestens gültig ist. So lange soll sie aus dem Cache geladen werden. Syntax

     Expires: <http-date>

Last-Modified:

Lädt der Client erstmalig eine Ressource, kann der Webserver für statische Ressourcen einen „Last-Modified“-Header mitsenden, der als Information das Modifikations-Datum der angeforderten Datei im Filesystem  entspricht. Sobald die Datei im Client-Cache zwischengespeichert wurde, wird in allen weiteren Anforderungen auf diese Datei ein „If-Modified-Since“-Header mitgesendet. Erhält ein Server Anfrage mit „If-Modified-Since“-Header, wird er mit der Antwort die Datei und einen Header mit neuem „Last-Modified“-Datum nur dann ausliefern, wenn das Modifikations-Datum der Datei neuer ist, als der im Request-Header mitgesendete Datumsstempel, anderenfalls wird diese Anfrage mit einem Status-Code 304 – Not Modified beantwortet und der Client-Browser so angewiesen, die Datei aus dem Cache zu nutzen.

FORTSETZUNG FOLGT…

Kommentar verfassen

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

Hallo! Wollen Sie ein Erstgespräch, ein Seminar oder eine andere Leistung anfragen? Dann hinterlassen Sie mir eine kurze Nachricht.
Das ist OK!
Dipl. Ing. (FH) Armin Müller
Digital Marketing Spezialist
Overlay Image
Dipl. Ing. (FH) Armin Müller
Digital Marketing Spezialist
Das ist ok!
Overlay Image
WOLLEN SIE NEUE KUNDEN?
Preiswert, schnell und nachhaltig
Ist OK!
Overlay Image
SIE WOLLEN NEUE KUNDEN?
Neuer Online-Marketing Service
Alles klar! Ich bin einverstanden.