Jede Antwort eines Webservers beginnt mit einer dreistelligen Zahl. Die erste Ziffer sagt, wie die Antwort zu behandeln ist, die beiden anderen präzisieren — und ein Client, der einen Code nicht kennt, muss ihn wie den x00 seiner Klasse behandeln. Deshalb ist ein unbekannter 499 für den Browser schlicht ein 400.
Interessant sind die Codes, die sich fast gleichen und trotzdem verschieden wirken: 301 gegen 308, 302 gegen 307, 404 gegen 410. Genau diese Unterschiede zeigt dieses Nachschlagewerk — samt der Frage, ob die Antwort ohne weitere Angaben zwischengespeichert werden darf.
301, 302, 307, 308 — zwei Fragen, vier Antworten
Zwei Eigenschaften unterscheiden die vier Weiterleitungen. Die erste: dauerhaft oder vorübergehend. 301 und 308 sagen „endgültig“, Suchmaschinen ersetzen die alte Adresse und übertragen deren Bewertung. 302 und 307 sagen „für jetzt“, die alte Adresse bleibt im Index.
Die zweite Eigenschaft ist die Methode. Historisch wandelten Browser bei 301 und 302 ein POST in ein GET um; die Spezifikation hat das nachträglich anerkannt. 307 und 308 wurden eingeführt, damit die Methode erhalten bleibt. Für einen Klick auf einen Link ist das gleichgültig — für ein abgeschicktes Formular entscheidet es darüber, ob die Daten ankommen.
404 oder 410, und warum ein Soft-404 schlimmer ist als beide
404 heißt „hier ist nichts“, 410 heißt „hier war etwas und ist bewusst entfernt“. Für Google ist der Unterschied gering; 410 führt in der Regel nur dazu, dass die Adresse etwas zügiger aus dem Index verschwindet. Beide sind völlig normal, und eine Website mit vielen 404 wird deswegen nicht schlechter bewertet.
Schädlich ist die dritte Variante: eine Fehlerseite, die den Statuscode 200 sendet und im Text „Seite nicht gefunden“ schreibt. Für den Server hat alles geklappt, also bleibt die Adresse im Index — mit einer Seite ohne Inhalt. Google nennt das Soft-404 und meldet es in der Search Console. Prüfen lässt sich das nur im Header, nie am Aussehen der Seite.
5xx und die Wartungsklappe
Antwortet der Server dauerhaft mit 500 oder 502, kann der Crawler nichts prüfen und besucht die Seite seltener. Hält der Zustand an, verschwinden Seiten aus dem Index — nicht als Strafe, sondern weil ihr Inhalt nicht mehr bestätigt werden kann.
Für geplante Arbeiten gibt es 503 zusammen mit einem Retry-After-Header. Damit sagt der Server ausdrücklich: nicht kaputt, nur gerade nicht verfügbar, komm in so vielen Sekunden wieder. Wer stattdessen eine Wartungsseite mit 200 ausliefert, riskiert, dass genau diese Seite als Inhalt aller Adressen im Index landet.