Zum Hauptinhalt springen

Barry Schwartz hat freundlicherweise darauf hingewiesen, dass Pedro Dias darauf hingewiesen hat, dass die Google Search Central dokumentiert hat, dass die Google Dokumentation zu Crawl Budget und If-Modified-Since and If-None-Match ergänzt wurde.

Was ist If-Modified-Since und If-None-Match?

If-Modified-Since und If-None-Match sind Header-Angaben, die beim Thema Caching relevant sind. Wenn wir über E-Tags oder Statuscode 304 reden, dann hat es was damit zu tun.

Einfach gesagt: Ein Client kann beim Server nachfragen, ob er eine Ressource (in diesem Kontext das HTML, technisch aber auch Bilder, CSS- und JS-Dateien und so weiter), die möglicherweise nicht mehr aktuell ist, noch weiterverwenden kann. Wenn ein Client also eine Datei noch im Cache hat, aber nicht weiß, ob sie aktuell ist, weil z.B. das Expires Date abgelaufen ist, kann er bei einem Request:

  • mit If-Modified-Since das Abrufdatum der Version, die er im Cache hat oder

  • mit If-None-Match ein vorhandenes E-Tag

mitschicken. Wenn der Server anhand dieser Information feststellt, dass die Ressource sich seitdem nicht geändert hat, kann er, anstatt die Ressource nochmal zu schicken, einfach mit Status 304 antworten und dem Client so mitteilen, dass er die gecachte Ressource weiterverwenden soll.

Was lernen wir daraus?

Die Verwendung von If-Modified-Since und If-None-Match ist offensichtlich und wir wissen schon lange, dass Googlebot den Status 304 versteht. Ein paar Details kann man aber aus der Ergänzung der Doku schließen:

  • Es gibt einen gemeinsamen Cache für alle Googlebots inklusive AdsBot

  • Google vergisst niemals eine Ressource – oder glaubt zumindest, dass sie es sich länger merken, als Du/Dein Server Dir merken kannst, dass Google die Ressource schon kennt

"Independently of the request headers, you can send a 304 (Not Modified) HTTP status code and no response body for any Googlebot request if the content hasn't changed since Googlebot last visited the URL."

Hier die Quelle

Ob das nur für indexierbare Inhalte gilt oder für alle Ressourcen, die der Web Rendering Service abruft, ist nicht klar. Wir wissen, dass If-Modified-Since und If-None-Match generell für alle Requests des Googlebot funktionieren, und es macht Sinn für Google, dass der WRS einen gemeinsamen Cache für alle Bots vorhält.

Ob allerdings jedes Json-, Javascript- und CSS-Schnipselchen von Google quasi unbegrenzt aufbewahrt wird, sodass Du den Status Code 304 ohne If-Modified-Since und If-None-Match einsetzen kannst, würde ich nicht daraus schließen wollen.

Das ist aber auch eher eine akademische Frage. Die bereits standardisierten If-Modified-Since oder If-None-Match Angaben funktionieren auf jeden Fall und die genannte Möglichkeit, selbst die Googlebot Abfragen für Ressourcen zu tracken und unaufgefordert den Status 304 einzusetzen, ist ein riesengroßer Aufwand, ohne dass es wirklich was bringt. Die Domains, bei denen solch ein Overhead gegenüber sauberem Caching und E-Tag Logiken einen Vorteil bringt, kannst Du vermutlich an einer Hand abzählen.

Du hast Fragen zum Artikel, zum Thema oder brauchst einen Tipp für Deine nächsten Schritte? Hier kannst Du Dir einen unverbindlichen Termin in meinem Kalender buchen. Ich freue mich auf Dich!
15-Minuten-Termin mit Behrend reservieren
Das ist ein Artikel aus unserem Newsletter. Wenn Du jeden Dienstag Morgen schlauer werden möchtest, melde jetzt kostenfrei für den SEO-Newsletter an

Kurze, praxisnahe SEO-Tipps – maximal 1× pro Woche. Keine Werbung, kein Spam.

Deine Daten sind bei uns in guten Händen und werden ausschließlich für diesen Newsletter genutzt.