Verwendung von If-Modified-Since/Last-Modified und SEO

Verwendung von If-Modified-Since/Last-Modified und SEO
Jeden Tag wird auf Tausende von Ressourcen im Web zugegriffen, die entweder von Website-Besuchern in Browsern geöffnet oder von Spidern gecrawlt werden.

Jeden Tag wird auf Tausende von Ressourcen im Web zugegriffen, die entweder von Website-Besuchern in Browsern geöffnet oder von Spidern gecrawlt werden. Jedes Mal, wenn dies geschieht, erhält der Server, der die Ressourcen speichert, eine Anfrage zur Rücksendung von Daten. Eine Möglichkeit, diesen Prozess zu beschleunigen, ist die Verwendung von Cache-Kontrollen wie If-Modified-Since und Last-Modified. Wenn der Server zusätzlich mit Cache-Steuerelementen konfiguriert ist, wird dieser Prozess einfacher und schneller, denn je nachdem, ob sich die Daten im Laufe der Zeit geändert haben oder nicht, kann der Server feststellen, ob er Zeit verschwenden und die Daten erneut senden muss oder nicht. Indem Sie die Effizienz der Client-Server-Kommunikation verbessern, steigern Sie auch die Leistung Ihrer Website beim Crawlen und Indizieren. Die gleichen Cache-Kontrollen, die für die Kommunikation zwischen Server und Browser gelten, gelten auch für das Crawlen Ihrer Webseiten durch Webspider. Je einfacher und schneller die Spider Ihre Website durchsuchen können, desto besser wird sie indiziert. Und das beeinflusst und verbessert Ihr SEO-Ranking erheblich.

Was sind If-Modified-Since- und Last-Modified-Header? Die If-Modified-Since- und Last-Modified-Header sind ein Paar von Cache-Kontrollen, die als "bedingte GET-Anfrage" bezeichnet werden. Sie legen fest, ob die Antwort auf die GET-Anfrage unterschiedlich ausfällt, je nachdem, ob die Seite geändert wurde oder nicht. If-Modified-Since- und Last-Modified-Header sind HTTP-Header für Anfragen und Antworten. Ihr Hauptzweck besteht darin, die Leistung der Anwendungen zu verbessern und gleichzeitig Bandbreite zu sparen. If-Modified-Since ist ein Request-Header, der an einen Server gesendet wird, wenn eine Seite in einem Browser geöffnet (oder vom Googlebot gecrawlt) werden muss, damit der Browser erfährt, wann die Ressource auf der Serverseite zuletzt geändert wurde. Der antwortende Last-Modified-Header gibt den Zeitpunkt an, zu dem die Ressource zuletzt auf dem Server geändert wurde, und teilt dem Browser mit, ob er seine zuvor zwischengespeicherte Kopie verwenden kann oder eine neue Version der Ressource herunterladen muss. DerLast-Modified-Antwort-Header enthält das Datum und die Uhrzeit, zu der die Ressource nach Ansicht des Ursprungs-Servers zuletzt geändert wurde. Wenn der Cache einen Eintrag speichert, der den Last-modified-Header enthält, kann er ihn verwenden, um den Server zu fragen, ob sich der Inhalt im Laufe der Zeit geändert hat. Im Grunde genommen dient er zur Überprüfung, ob eine empfangene und gespeicherte Ressource noch dieselbe ist. Dies geschieht mit Hilfe des If-Modified-Since-Anforderungsheaders. Wie funktionieren sie? Schauen wir uns ein vereinfachtes Beispiel dafür an, wie und wo diese beiden Header angewendet werden:

  1. Jedes Mal, wenn ein Browser versucht, auf eine Webseite zuzugreifen, erhält ein Server eine normale HTTP-Anfrage nach einer bestimmten Ressource, zum Beispiel ABC.
  2. Nun bereitet der Server die Antwort vor, und seine Logik schreibt vor, dass der Browser die Ressource ABC lokal zwischenspeichern soll. Dies wird von allen Browsern standardmäßig so gehandhabt, so dass es nicht notwendig ist, weitere spezielle Header in die Antwort einzufügen. Einige Browser können jedoch explizit "Cache-Control" in der Kopfzeile senden, um das maximale Alter des Caches zu begrenzen und anzugeben.
  3. In der Antwort enthält der Server die Angabe "Last-modified ". Sie gibt das Datum und die Uhrzeit an, zu der ABC auf der Serverseite zuletzt geändert wurde. Last-Modified: Tue, 25 Apr 2017 08:36:15 GMT
  4. Häufig fügt der Server den optionalen Cache-Control-Header in die Antwort ein. Wenn dieser Header nicht enthalten ist, verwendet der Browser beim Zugriff auf die Ressource über einen Link oder durch manuelle Eingabe des Links in die Adressleiste direkt den Cache, ohne eine neue Anfrage an den Server zu senden, um die Gültigkeit des gespeicherten Cache zu überprüfen. Ist die Kopfzeile hingegen enthalten, wird der Browser gezwungen, die Gültigkeit des Caches zu überprüfen, indem er eine Anfrage an den Ursprungsserver sendet, bevor er die gecachte Kopie anzeigt. Die Gültigkeit bezieht sich darauf, ob die Ressource ABC seit dem letzten Zugriff geändert wurde. Cache-Kontrolle: no-cache
  5. Der Ursprungsserver sendet die Antwort mit den Headern Last-modified und Cache-Control , der Ressource ABC im Body und einem Statuscode 200, der anzeigt, dass der Inhalt korrekt geladen wurde. Wenn der Browser die Ressource lädt, speichert er gleichzeitig eine Kopie im Cache, zusammen mit den empfangenen Header-Informationen.
  6. Wenn derselbe Browser später eine neue Anfrage stellt, um auf dieselbe ABC-Ressource zuzugreifen, sendet er in der Kopfzeile den Anfragekopf If-Modified-Since. If-Modified-Since: Tue, 25 Apr 2017 08:36:15 GMT
  7. Wenn der Server die Anforderung für die ABC-Ressource zusammen mit dem Header "If-Modified-Since" erhält, ist die serverseitige Logik so programmiert, dass sie prüft, ob eine neue Kopie der Ressource gesendet werden muss, indem sie das aktuelle Datum von ABC (das Datum der letzten Änderung) mit dem im Request-Header empfangenen Datum vergleicht.
  • Wenn das Datum in der Kopfzeile "If-Modified-Since" mit dem aktuellen Änderungsdatum von ABC übereinstimmt, antwortet der Server mit einem Statuscode 304 und einem leeren Textkörper. Der Statuscode 304 bedeutet, dass die Ressource seit dem letzten Zugriff nicht geändert wurde, so dass der Browser seine zwischengespeicherte Kopie verwendet.
  • Wenn das Datum im "If-Modified-Since"-Header älter ist als das aktuelle Änderungsdatum von ABC, sendet der Server die neue Version der ABC-Ressource zusammen mit einem 200-Statuscode zurück . Außerdem wird ein "Last-modified"-Header mit einem neuen Wert in die Antwort aufgenommen. Nun verwendet der Browser die neue Version von ABC und aktualisiert seinen Cache mit den neuen Daten.

Wichtig ist hier, dass je nach Implementierung des Ursprungs-Servers und der Art der ursprünglichen Ressource die genaue Bedeutung des Last-Modified-Header-Feldes unterschiedlich sein kann. Bei Entitäten mit dynamisch eingebundenen Teilen kann es sich um die jüngste aus der Menge der letzten Änderungszeiten für ihre Bestandteile handeln. Bei Datenbank-Gateways kann es sich um den Zeitstempel der letzten Aktualisierung des Datensatzes handeln. Bei virtuellen Objekten kann es sich um den Zeitpunkt der letzten Änderung des internen Zustands handeln. Darüber hinaus darf der Ursprungsserver keine zuletzt geänderte Antwort senden, bei der das Datum dem Zeitpunkt entspricht, zu dem die t-Nachricht des Servers entsteht. In diesem Fall, wenn die letzte Änderung der Ressource in der Zukunft liegt, muss der Server das Antwortdatum durch das Datum der Nachrichtenerstellung ersetzen. Wenn der Ursprungsserver die zuletzt geänderte Antwort sendet, sollte er den Wert so nah wie möglich an dem Zeitpunkt erhalten, an dem er den Datumswert der Antwort erzeugt. Dies hilft dem Empfänger, den Änderungszeitpunkt der Entität genau einzuschätzen, was besonders wichtig ist, wenn sich die Entität kurz vor dem Zeitpunkt der Erstellung der Antwort geändert hat. Warum sind  If-Modified- und  Last-Modified-Header wichtig für SEO? Der Hauptzweck der If-Modified-Since- und Last-Modified-Header für die Cache-Steuerung besteht darin, eine effiziente Aktualisierung der im Cache gespeicherten Informationen zu ermöglichen und gleichzeitig den Transaktions-Overhead auf ein Minimum zu beschränken. Diese Header tragen zur Verbesserung der Seitengeschwindigkeit und der Ladezeiten bei und verbessern die Gesamtleistung der Website und die Benutzerfreundlichkeit. Im Hinblick auf die technische Suchmaschinenoptimierung sind Cache-Kontrollen sehr wichtig, da sie das Crawling und die Indexierung Ihrer Website verbessern. Wenn Sie Ihre Website für das Crawling optimieren, sollten Sie sich den Suchmaschinen-Crawler als Web-Proxy-Cache vorstellen, der versucht, Ihre Website vorab abzurufen und eine temporär gespeicherte Version der Seiten im Index zu erstellen. Denken Sie auch daran, dass für Ihre Website nur ein begrenztes Crawl-Budget zur Verfügung steht, und Ihr Ziel bei der SEO-Optimierung ist es, das Beste daraus zu machen. Deshalb ist es sehr gut, wenn Sie Ihr kostbares Crawling-Budget einsparen und den Suchmaschinen helfen können, die Seiten effizienter zu crawlen und besser zu indizieren, indem Sie den Spidern mitteilen, ob sie bestimmte Seiten erneut besuchen und indizieren müssen oder nicht. Dies gilt insbesondere, wenn Sie eine große Website haben und häufig Inhalte ändern oder hinzufügen. Es ist sicher nicht nötig, dass Google eine Seite, die sich nicht geändert hat, erneut crawlt. Wenn Ihre Seiten jedoch nicht korrekt getaggt sind oder keine zwischengespeicherten Kopfzeilen verwenden, wird Ihre Website möglicherweise nicht korrekt gecrawlt. Ihre "Über uns"-Seite kann beispielsweise häufiger gecrawlt werden, weil sie in der Fußzeile jeder Seite verlinkt ist, was dem Googlebot signalisiert, dass es sich um eine wichtige Seite handelt, obwohl dies in Wirklichkeit nicht der Fall ist, insbesondere wenn es um Crawling und SEO-Ranking geht. Anstatt also ein "noindex"-Tag zu setzen, weil Sie die Seite immer noch indiziert haben wollen, können Sie dieses Problem lösen, indem Sie zwischengespeicherte Kopfzeilen verwenden, um den Webspidern mitzuteilen, dass sich der Inhalt dieser Seite nicht geändert hat und keine neuen Download-Anfragen an den Server gesendet werden müssen. Da die Spider nun wissen, dass sie die bereits indizierte Kopie der Seite verwenden können, können sie mit dem Crawlen auf Ihren neuen und relevanteren Seiten fortfahren. Ein weiteres Problem, das bei großen und komplexen Websites häufig auftritt, wenn es um das Crawling geht, und das durch die Verwendung von If-Modified-Since- und Last-Modified-Headern gelöst werden kann, ist der erhöhte Bandbreitenverbrauch, der zusätzliche Kosten verursacht. Durch die Verwendung von Cache-Kontroll-Headern und die Begrenzung des unnötigen Crawlings können Sie Bandbreite sparen und den Crawling-Prozess erleichtern. Wenn es Ihnen gelingt, die Anzahl der Serveranfragen zu reduzieren, und wenn Sie zwischengespeicherte Inhalte verwenden, können Sie die Geschwindigkeit der Website erheblich beeinflussen und erhöhen. Und wir alle wissen, dass die Geschwindigkeit einer Website und die Ladezeit einer Seite zu den wichtigsten Faktoren für die Benutzerfreundlichkeit gehören. Und zufriedene Besucher sind gut für Ihr SEO-Ranking. If-Modified-Since/Last-Modified-Plugins für WordPress Wenn Sie eine WordPress-Website haben, ist es sehr einfach, die Funktionalität und Leistung Ihrer Website zu verbessern, indem Sie einige der über 49 000 Plugins verwenden, die WordPress seinen Nutzern zur Verfügung stellt. Und Tausende weitere sind auf Websites von Drittanbietern wie Github verfügbar. Bei den Plugins handelt es sich um kleine Softwareanwendungen, die in die WordPress-Software integriert werden und auf ihr laufen. Sie ermöglichen es Ihnen, jede Art von Website zu erstellen und einfach die Funktionalität der Website zu verbessern. Wenn Sie mit dem Design Ihrer Website zufrieden sind und deren SEO und Leistung verbessern möchten, gibt es natürlich auch dafür Plugins. Eine der einfachsten Möglichkeiten, die Leistung des Caching zu nutzen, ist die Installation eines Plugins für Ihre WordPress-Website, das das serverseitige Caching auf Ihrem WordPress-Server übernimmt. Zu den drei wichtigsten Cache-Plugins, die Sie installieren können, gehören:

  • WP Super Cache - das am häufigsten heruntergeladene Cache-Plugin mit über einer Million Installationen. Es ist kostenlos, einfach zu benutzen und erfordert wenig bis gar keine Konfiguration. Es bietet eine Fülle von Anpassungsmöglichkeiten, um den Bedürfnissen aller gerecht zu werden.
  • W3 Total Cache - das am zweithäufigsten heruntergeladene Cache-Plugin. Es ist ebenfalls kostenlos und verfügt über 16 Seiten mit Konfigurationsoptionen, mit denen Sie eine Caching-Lösung auf Ihre Bedürfnisse zuschneiden können.
  • WP Rocket - Es ist ein Premium-Plugin und eine der schnellsten Optionen auf dem Markt, aber im Gegensatz zu den beiden vorherigen ist es nicht kostenlos. Es kostet zwischen $39-$199, je nachdem, auf wie vielen Websites Sie es installieren möchten. Die Installation ist einfach, aber Sie erhalten auch technischen Support, sobald Sie eine Lizenz erworben haben.

Sie können auch einfach einige der Plugins If Modified Since und Last Modified verwenden, die WordPress ebenfalls anbietet. Schlussfolgerung Eine bessere Leistung Ihrer Webseiten ist sehr wichtig für die Verbesserung der Benutzererfahrung und Ihres SEO-Rankings. Es macht keinen Sinn, den Browser eine Webseite erneut herunterladen zu lassen oder den Googlebot immer wieder über Seiten fahren zu lassen, deren Inhalt sich nicht verändert hat. Das Zwischenspeichern Ihrer Webseiten spart eine Menge Zeit, wenn es darum geht, Ihre Website in einem Browser zu öffnen oder sie von Googlebot crawlen zu lassen. Die Implementierung der If-Modified-Since- und Last-Modified-Header führt zu besseren SEO-Ergebnissen. Sie verhindern, dass Google immer wieder dieselben, unveränderten Seiten Ihrer Website aufruft, sparen Ihr Crawling-Budget ein und verringern die für das Crawling benötigte Bandbreite. Außerdem wird die Ladezeit der Seiten verkürzt, was sowohl für Erstbesucher als auch für wiederkehrende Besucher von Vorteil ist. Mit wenig Aufwand können Sie die Leistung Ihrer Website und das SEO-Ranking erheblich beeinflussen. Und egal, ob Sie diese Cache-Kontrolle manuell implementieren oder sich für ein Plugin entscheiden, zögern Sie nicht. Es kann nur gut für Ihre Website und Ihre SEO-Bemühungen sein.