Google hat kürzlich seine Webcrawler-Richtlinien überarbeitet und empfiehlt nun die Implementierung von ETags. Diese Entwicklung ist ein wichtiger Schritt in der Verwaltung von Webressourcen und ihrer Effizienz. ETags, kurz für Entitäts-Tags, sind ein Mechanismus, den Webserver verwenden, um den Status von Ressourcen zu bestimmen. Sie helfen dabei festzustellen, ob eine Ressource seit dem letzten Besuch verändert wurde, und sparen dadurch Bandbreite und Ladezeit.
Die Nutzung von ETags kann die Serverlast erheblich reduzieren. Wenn ein Webcrawler eine Seite besucht, sendet der Browser eine Anfrage an den Server und überprüft, ob sich der Inhalt geändert hat. Durch die Verwendung von ETags kann der Server schnell antworten, ob die Ressource aktuell ist oder nicht. Wenn keine Änderungen vorliegen, wird nur ein kleiner HTTP-Header zurückgesendet, anstatt der gesamten Ressource.
ETags sind besonders nützlich für dynamische Websites, bei denen Inhalte häufig aktualisiert werden. Sie bieten eine Möglichkeit, die Effizienz von Caching-Strategien zu verbessern, indem sie den unnötigen Transfer unveränderter Daten vermeiden. Dies ist nicht nur für den Betreiber der Website vorteilhaft, sondern auch für die Nutzer, die von schnelleren Ladezeiten profitieren.
Die Implementierung von ETags ist relativ unkompliziert. Entwickler können diese Tags in den HTTP-Header einfügen, indem sie eine eindeutige Kennung für jede Ressource festlegen. Diese Kennung wird bei jeder Änderung der Ressource aktualisiert, sodass der Server präzise Informationen über den Zustand der Ressource liefern kann.
Die Aktualisierung der Crawler-Richtlinien von Google unterstreicht die Bedeutung von ETags in der modernen Webentwicklung. Während sie nicht die einzige Methode zur Ressourcenkontrolle sind, bieten sie eine effiziente Möglichkeit, die Leistung von Webanwendungen zu optimieren. Webseiten, die ETags korrekt implementieren, werden wahrscheinlich bessere Ergebnisse in Bezug auf Crawler-Effizienz und Nutzererfahrung erzielen.
Nachfolgendes Beispiel zeigt eine einfache Implementierung eines ETags in einer Node.js/Express-Umgebung. Hier wird ein eindeutiger ETag basierend auf dem Ressourceninhalt generiert und in den HTTP-Header eingefügt. Wenn der Client anschließend mittels If-None-Match
-Header nachfragt, ob die Ressource aktualisiert wurde, kann der Server entscheiden, ob er den Inhalt erneut schicken muss oder lediglich mit Statuscode 304 Not Modified
antwortet.
Beispielcode (Node.js mit Express):
const express = require(‚express‘);
const crypto = require(‚crypto‘);
const app = express();
// Beispielhafte Ressource
let inhalt = „Dieser Text ist unsere Ressource.“;
// Middleware zum Generieren eines ETags
app.use((req, res, next) => {
// ETag aus dem Inhalt generieren (z. B. mittels MD5-Hash)
const etag = crypto.createHash(‚md5‘).update(inhalt).digest(‚hex‘);
// ETag im Header setzen
res.setHeader(‚ETag‘, etag);
// Prüfen, ob Client ein If-None-Match schickt und ob es mit unserem ETag übereinstimmt
const ifNoneMatch = req.headers[‚if-none-match‘];
if (ifNoneMatch && ifNoneMatch === etag) {
// Keine Änderungen seit letztem Aufruf, 304 senden
res.status(304).end();
} else {
next();
}
});
// Route, die unsere Ressource zurückgibt
app.get(‚/‘, (req, res) => {
res.send(inhalt);
});
app.listen(3000, () => {
console.log(‚Server läuft auf Port 3000‘);
});
Benötigen Sie Hilfe bei Ihrem SEO-Projekt? Schreiben Sie uns gerne unter support@mertes-leven.de an.