Technik
Ein HTTP-Statuscode ist eine dreistellige Zahl, mit der ein Server das Ergebnis einer Anfrage meldet, etwa 200 für Erfolg oder 404 für eine fehlende Seite.
Auf jede Anfrage antwortet ein Server mit einem HTTP-Statuscode, der nach RFC 9110 das Ergebnis der Anfrage beschreibt und angibt, ob sie erfolgreich war und welche Inhalte die Antwort enthält. Gültige Statuscodes liegen zwischen 100 und 599, wobei allein die erste Ziffer eine Klasse festlegt und die beiden übrigen Ziffern für die Einteilung bedeutungslos sind. Bezeichnungen wie „Not Found“ hinter der Zahl sind nach dem Standard nur Empfehlungen, die sich durch lokale Begriffe ersetzen oder ganz weglassen lassen. Für Suchmaschinen entscheidet der Statuscode über die Aufnahme einer Seite in den Index, ihren Verbleib dort oder ihre Entfernung.
RFC 9110 unterscheidet fünf Klassen, die sich jeweils an der ersten Ziffer des Codes ablesen lassen. Statuscodes lassen sich erweitern, doch muss ein Programm nach dem Standard zumindest die Klasse jedes Codes verstehen und einen unbekannten Code wie den Grundcode seiner Klasse behandeln. Erhält ein Client etwa den unregistrierten Code 471, wertet er ihn wie 400 für eine fehlerhafte Anfrage. Werte außerhalb des Bereichs von 100 bis 599 sind ungültig und sollen wie ein Serverfehler der Klasse 5xx behandelt werden.
Bei 200 reicht Google den Inhalt an die nächste Verarbeitungsstufe und damit in der Google-Suche an die Indexierung weiter, deren Ergebnis dadurch allerdings offen bleibt. Bei 201 und 202 wartet Google eine begrenzte Zeit auf Inhalte und verarbeitet dann das Erhaltene, während 204 keinen Inhalt liefert und daher nichts zu verarbeiten bleibt. Zeigt eine Seite trotz eines Codes der Klasse 2xx eine Fehlermeldung oder kaum Inhalt, meldet die Search Console sie als Soft 404.
Weiterleitungen folgen die Crawler von Google standardmäßig über bis zu zehn Stationen und verarbeiten dabei allein den Inhalt am Ziel. Die Codes 301 und 308 für eine dauerhafte Weiterleitung wertet Google als starkes Signal, das Ziel zu verarbeiten, während 302, 303 und 307 als vorübergehende Weiterleitungen standardmäßig ein schwaches Signal setzen. Nach RFC 9110 erlauben 307 und 308 dem Client im Unterschied zu 302 und 301 keinen Wechsel der Anfragemethode, etwa von POST zu GET. Wählen Sie deshalb am besten jeweils den Code, der zur Art der Weiterleitung passt, da sich neben Google auch andere Programme auf ihn stützen.
Bei Codes der Klasse 4xx ignoriert Google den Inhalt der Antwort und behandelt 400, 401, 403, 404, 410 und 411 gleich, indem bereits indexierte Adressen aus dem Index entfernt werden. Neu entdeckte Adressen mit 404 verarbeitet Google nicht weiter, und die Häufigkeit des Crawlens solcher Adressen nimmt nach und nach ab. Nach RFC 9110 lässt 404 offen, ob eine Seite vorübergehend oder dauerhaft fehlt, während 410 für einen voraussichtlich dauerhaften Wegfall steht und bei sicherem Wissen des Servers den Vorzug erhält. Für eine bewusste Drosselung, wie sie beim Steuern von KI-Crawlern vorkommt, eignen sich 401 und 403 nach dem Hinweis von Google nicht.
Eine Ausnahme unter den Clientfehlern bildet 429 für zu viele Anfragen, den Google wie einen Serverfehler wertet und als Zeichen einer Überlastung versteht. Bei 500, 502 und 503 senkt Google die Crawl-Rate im Verhältnis zur Zahl der fehlerhaften Adressen und erhöht sie wieder schrittweise, sobald der Server erneut mit einem Code der Klasse 2xx antwortet. Halten die Fehler an, entfernt Google die Adressen aus dem Index und behält bereits indexierte Seiten zuvor noch eine Zeit lang. Mit 503 zeigt ein Server eine vorübergehende Überlastung oder Wartung an und kann im Header Retry-After angeben, wann ein neuer Versuch sinnvoll ist.
In der Google Search Console erscheinen Adressen mit Fehlern der Klassen 4xx und 5xx ebenso wie fehlgeschlagene Weiterleitungen und Soft-404-Fehler. Den Statuscode einer einzelnen Adresse sehen Sie mit dem Befehl curl -I https://ihre-domain.de/seite/, der den Code in der ersten Zeile der Antwort ausgibt. Bei einer Kette von Weiterleitungen ergänzen Sie den Zusatz -L, mit dem curl den Weiterleitungen bis zum Ziel folgt und für jede Station den Code anzeigt.