Unser Date mit Googlebot, Teil II: HTTP-Statuscodes und der If-Modified-Since-Header

Donnerstag, 11. Dezember 2008

Unser Date mit Googlebot war wunderbar, aber es ist schwierig zu wissen, ob wir, die Webseiten, das richtige gesagt haben. Wir haben eine dauerhafte 301-Weiterleitung geliefert, aber möglicherweise hätten wir mit einer temporären 302-Weiterleitung antworten sollen (um zu zeigen, dass wir nicht leicht zu haben sind)? Wenn wir ein paar neue 404-Meldungen zurückgegeben haben, wird Googlebot dann jemals wieder vorbeikommen? Sollen wir den "If-Modified-Since"-Header unterstützen? All diese Fragen können ganz schön verwirrend sein - genau wie eine junge Liebe. Deshalb fragen wir jetzt einfach mal den Experten, also Googlebot, um herauszufinden, wie er unsere Statusmeldungen so bewertet.

Wer den "If-Modified-Since"-Header unterstützt und eine 304-Statusmeldung liefert, kann Bandbreite sparen.

-----------
Liebster Googlebot,
neulich habe ich ein wenig Frühjahrsputz auf meiner Site betrieben und einige alte, verwaiste Seiten gelöscht. Diese liefern jetzt den Statuscode 404 "Nicht gefunden". Ist das in Ordnung, oder habe ich dich damit verwirrt?

Frankie O'Fore

Lieber Frankie,
404-Statuscodes sind die Standardmethode, um mir mitzuteilen, dass eine Seite nicht mehr existiert. Ich werde mich darüber nicht ärgern - es ist vollkommen normal, dass alte Seiten gelegentlich entfernt oder durch neueren Content ersetzt werden. Die meisten Websites werden ein paar 404-Meldungen auf der Diagnose-Seite zum Web-Crawl in den Webmaster-Tools anzeigen. Das ist wirklich kein Problem. Solange bei dir prinzipiell eine gute Architektur der Site vorliegt und der gesamte indexierbare Content verlinkt ist, bin ich zufrieden, weil ich in diesem Fall alles finden kann, was ich brauche.

Vergiss nicht, dass ich nicht der einzige bin, der deine Website besucht - die Seiten werden ja wahrscheinlich auch von Menschen betrachtet. Wenn du nur eine einfache "404 Seite nicht gefunden"-Meldung zeigst, können weniger erfahrene Besucher schnell überfordert sein. Dabei gibt es viele Methoden, deine 404-Seiten freundlicher zu gestalten. Eine schnelle Methode ist unser 404-Widget in den Webmaster-Tools, welches dabei behilflich ist, die Besucher zum tatsächlich existierenden Content zu lotsen. Weitere Informationen dazu findest du in diesem Blogpost von uns . Die meisten Webhoster, egal ob groß oder klein, werden es euch ermöglichen, eure 404-Seiten selbst zu gestalten (genauso wie die anderen Rückgabewerte auch).

Gruß und Kuss,
Googlebot



Hey Googlebot,
ich habe gerade deine Antwort an Frankie gelesen und dabei sind mir einige Fragen gekommen. Was passiert eigentlich, falls noch irgend jemand eine meiner Seiten verlinkt, die gar nicht mehr existiert? Wie kann ich sicherstellen, dass meine Besucher trotzdem finden, wonach sie suchen? Und außerdem: Was passiert eigentlich, wenn ich einfach ein paar Seiten verschiebe? Ich möchte meine Site etwas besser organisieren, aber ich habe Angst, dass es dich verwirren könnte. Wie kann ich es dir am einfachsten machen?

Hoffnungsfroh,
Jimmy

Hallo Jimmy,
schauen wir uns die Sache mal genauer an. Zunächst nehmen wir uns mal deine eingehenden Links vor. Diese Links können naturgemäß eine gute Quelle für Traffic zu deiner Site sein und es ist nicht besonders schön für deine Besucher, eine unfreundliche "Seite nicht gefunden"-Meldung präsentiert zu bekommen. Aus diesem Grund kannst du dir die Macht der Weiterleitung zu Nutze machen.

Es gibt zwei Arten der Weiterleitung - 301 und 302. Eigentlich gibt es sogar noch einige andere Weiterleitungen, aber diese beiden sind für unsere Zwecke im Moment am besten geeignet. Genau so wie eine 404-Statusmeldung sind 301- und 302-Statuscodes einfach verschiedene Arten von Rückgabewerten, die du an die User und Crawler von Suchmaschinen liefern kannst. Es handelt sich hier in beiden Fällen um Weiterleitungen, aber die 301 ist permanent, während die 302 hingegen nur temporär besteht. Eine 301-Weiterleitung sagt mir, dass, was auch immer an dieser Stelle war, jetzt an einer anderen Stelle zu finden ist. Dies ist ideal, wenn du deine Site neu organisierst und hilft auch bei eingehenden externen Links. Wann immer ich auf eine 301-Weiterleitung treffe, werde ich alle Verweise zur alten Seite mittels der Angaben aus der 301-Weiterleitung aktualisieren. Ziemlich einfach, oder?

Falls du nicht weißt, wie du mit den Weiterleitungen loslegen sollst, kann ich dir auf die Sprünge helfen. Es hängt prinzipiell von deinem Webserver ab - hier sind einige Suchanfragen, die dir weiterhelfen können:

Apache: https://www.google.de/search?q=301+weiterleitung+apache
IIS: https://www.google.de/search?q=301+weiterleitung+iis

Du kannst natürlich auch in deinem Handbuch nachschauen oder die Readme-Datei deines Webservers lesen.

Alternativ zur Weiterleitung kannst du auch dem Webmaster der Site, die zu dir verlinkt, eine E-Mail schreiben und ihn bitten, den Link zu aktualisieren. Du bist dir nicht sicher, welche Sites zu dir verlinken? Kein Problem - meine menschlichen Arbeitskollegen haben es einfach gemacht, dies herauszufinden. Im Abschnitt "Links" in den Webmaster-Tools kannst du eine spezifische URL deiner Site angeben, um festzustellen, wer darauf verlinkt.

Meine menschlichen Kollegen haben neulich auch ein Tool veröffentlicht, mit dem du sehen kannst, welche URLs auf nicht mehr existierende Seiten deiner Website verweisen. Hier kannst du mehr dazu lesen.

Informationelle Grüße,
Googlebot



Lieber Googlebot,
ich habe ein Problem - ich lebe in einem sehr dynamischen Teil des Webs und ändere ständig meine Ansichten. Wenn du mich etwas fragst, antworte ich niemals gleich - meine Top-Threads verändern sich stündlich und ich bekomme ständig neuen Content! Du scheinst ein gradliniger Typ zu sein, der unkomplizierte Antworten erwartet. Wie kann ich dir meine Veränderungen mitteilen, ohne dich zu verwirren?

Temp O'Rär

Hallo Temp,
ich habe gerade Jimmy erzählt, dass 301-Weiterleitungen der beste Weg sind, um einen Googlebot über neue Adressen von Seiten zu informieren, aber was du benötigst, sind 302-Weiterleitungen.

Sobald du indexiert wurdest, ist dies ein höflicher Weg, um deinen Besuchern mitzuteilen, dass die jeweilige Adresse noch die richtige ist, der Content aber zeitweise an anderer Stelle zu finden ist. In solchen Fällen ist eine 302-Weiterleitung (oder die seltenere "307-Vorübergehende Weiterleitung"-Meldung) das Mittel der Wahl. Zum Beispiel gibt es bei Orkut eine Weiterleitung von https://orkut.com nach https://www.google.com/accounts/ServiceLogin?service=orkut, was eine Seite ist, die menschliche Besucher nicht besonders hilfreich fänden, wenn sie nach Orkut *** suchen würden.

So handelt es sich hier beispielsweise um eine andere Domain. Es wurde also eine 302-Weiterleitung verwendet, um mir anzuzeigen, dass der gesamte Content und die Eigenschaften der Links unserer Ausgangs-URL nicht bezüglich der Zieladresse aktualisiert werden sollen - es handelt sich also nur um eine temporäre Seite.

Aus diesem Grund wird dir auch, wenn du nach Orkut suchst, die URL orkut.com angezeigt und nicht die längere URL mit dem Login.

Bedenke: Klare Kommunikation ist der Schlüssel jeder Beziehung.

Dein Freund,
Googlebot

*** Hinweis: Ich habe die URL etwas vereinfacht dargestellt, damit es einfacher zu lesen ist. Die tatsächliche URL ist noch etwas komplizierter aufgebaut.


Lieber Herr Googlebot,
ich bin die Art von Site, die sich ständig neu erfindet. Ich habe festgestellt, dass die Links auf den Sites meiner Freunde alle auf URLs von mir verweisen, die schon seit einigen Redesigns nicht mehr aktuell sind! Ich habe 301-Weiterleitungen zu den URLs meiner Seiten angelegt und danach dann diese Seiten erneut per 301 auf meine aktuellsten Seiten weitergeleitet. Jetzt habe ich Angst, dass du eine zu lange Kette von 301-Weiterleitungen vorfindest und deswegen am Ende gar nicht mehr auf meiner Site vorbeischaust.

Ethel Binky


Liebe Ethel,
es hört sich so an, als hättest du einige URLs so eingerichtet, dass sie auf weitere Weiterleitungen weiterleiten, die ihrerseits weiterleiten... du meine Güte! In geringer Anzahl sind solche "wiederkehrenden Weiterleitungen" nachvollziehbar, aber es könnte sinnvoll sein, darüber nachzudenken, weshalb du überhaupt so viele davon benötigst. Wenn du die 301-Weiterleitungen in der Mitte entfernst und mich bei allen direkt zur endgültigen Zielseite schickst, sparst du uns beiden eine Menge Zeit und viele HTTP-Anfragen. Aber denke dabei nicht bloß an uns. Andere Leute finden es ebenfalls nicht besonders spannend, ein ewiges "Warten auf... Übertragen der Daten... Warten auf..." in ihrem Statusbalken des Browsers zu sehen.

Versetz dich mal in deren Lage - wenn deine Reihe an Weiterleitungen beginnt, übermäßig lang zu wirken, könnten deine Besucher befürchten, in einer Endlosschleife gelandet zu sein! Sowohl Bots als auch menschliche Besucher fürchten sich zurecht vor einer derartigen "ewigen Bindung". Versuche einfach, solche verketteten Weiterleitungen loszuwerden und wenn überhaupt, halte sie möglichst kurz. Denk an die Menschen!

In Gedanken bei dir,
Googlebot


Lieber Googlebot,
ich weiß, du scheinst mich zu mögen - du fragst mich sogar nach unveränderten Dateien, wie z. B. nach meiner Diplomarbeit, die sich seit 10 Jahren nicht mehr geändert hat. Das geht mir so langsam etwas auf die Nerven! Kann ich denn irgendetwas tun, damit du nicht unnütz meine kostbare Bandbreite aufbrauchst?

Janet Crinklenose


Janet, Janet, Janet,
scheint so, als ob du einen neuen Spruch kennen lernen solltest: 304 "Nicht geändert". Wenn mir eine URL bereits begegnet ist, füge ich ein "If-Modified-Since" in den Header meiner Anfrage ein. Diese Zeile enthält eine Datumsangabe im HTTP-typischen Format. Wenn du mir nicht zum wiederholten Mal eine Kopie einer Datei schicken willst, nimm die Sache selbst in die Hand und liefere einen gewöhnlichen HTTP-Header mit dem Status 304 "Nicht geändert"! Ich liebe Informationen - und so eine Meldung fällt auch darunter. Wenn du diesen Statuscode zurückgibst, brauchst du mir nicht erneut eine Kopie der Datei zu schicken - du verbrauchst dann keine unnötige Bandbreite und ich habe nicht das Gefühl, dass du mir immer dasselbe alte Zeug andrehen willst.

Du hast vielleicht auch schon bemerkt, dass viele Browser und Proxies die "If-Modified-Since"-Meldung ebenfalls in ihren Headern aufführen. Das kann auf jeden Fall eine Methode sein, um die ungeliebte Rechnung für Bandbreite etwas zu minimieren.

Also, mach dich auf den Weg und spare etwas Bandbreite!
Der gute alte Googlebot


-----------

Googlebot war ja wieder einmal sehr hilfsbereit! Jetzt wissen wir schon mal, wie wir am besten auf Anfragen von Usern und Suchmaschinen antworten sollten. Beim nächsten Treffen wird es an der Zeit sein, uns gegenseitig das Herz auszuschütten (Unser Date mit Googlebot, Teil III, folgt demnächst!).

Date with Googlebot, Part II: HTTP status codes and If-Modified-Since (English version)

Wie es Chewy [Trewhella], Developer Advocate, überliefert wurde (Übersetzung von Sven, Search Quality)