HTTP-Status-Codes

Nach jeder Anfrage vom Client (z.B. GoogleBot oder Webbrowser) an den Server sendet dieser einen HTTP Status-Code als Antwort zurück, ob die Anfrage (und eine bestimmte Aktion) erfolgreich bearbeitet wurde. Wenn eine HTTP Anfrage nicht gänzlich erfolgreich war, gibt der HTTP Status-Code Auskunft über den Umfang oder den Ort des Fehlers. Es gibt dreistellige Status Codes von 1xx – 5xx und 9xx (x steht für eine Zahl). Die erste Ziffer gibt an, unter welche Statusklasse der Fehler fällt. Der wohl bekannteste Status-Code lautet “404”. Dazu später mehr.

HTTP-Status-Code der Gruppe 1xx

1xx – Informationen

Die dreistelligen Status-Codes 100, 101 und 102 geben an, dass die HTTP Anfrage noch bearbeitet wird. Der Code 102 verhindert beispielsweise ein Timeout, während eine umfangreiche Aktion durchgeführt wird.

HTTP-Status-Code der Gruppe 2xx

2xx – Erfolgreiche Operation

In der Gruppe der Status Codes, die mit der Ziffer 2 beginnen, war die Client-Anfrage erfolgreich. Inwiefern das Ergebnis zu erwarten ist, ist je nach Status-Code unterschiedlich. Der bekannteste Status-Code der Gruppe 2xx ist der Code 200. Dieser gibt Auskunft darüber, dass die HTTP-Anfrage erfolgreich war und das Ergebnis in der Antwort enthalten ist. Wenn die Aufgabe nur akzeptiert wurde, aber später bearbeitet wird, ist der Code 202. Die Antwort vom Multi-Status 207 enthält ein XML-Dokument. Dieses beinhaltet mehrere Status-Codes, die unabhängig voneinander durchgeführt werden. Weitere nicht näher erläuterte 2xx-Status-Codes sind zwar möglich, kommen jedoch sehr selten vor.

HTTP-Status-Code der Gruppe 3xx

3xx – Umleitung oder Weiterleitung

Die 3xx-Gruppe bearbeitet Umleitungen. Der Code 300 stellt eine Liste für verschiedene, verfügbare Ausführungsarten bereit, da die Client-Anfrage auf verschiedene Arten vom Client bearbeitet werden kann. Bei dem Status 301 ist die vom Client aufgerufene URL geändert worden und der Web Server leitet ihn an die neue URL weiter. Bei einem 302-Status (auch “302 Found” genannt) handelt es sich lediglich um eine temporäre Weiterleitung, die irgendwann wieder aufgehoben wird. Der Use Proxy Code (305) informiert über die nötige Nutzung eines Proxys, um die User-Anfrage zu bearbeiten. Die Proxy-Adresse wird im „Location“-Header bereitgestellt. Der Code 306 wurde für Switch Proxy verwendet. Er wird zwar nicht mehr genutzt, ist jedoch reserviert. Weitere nicht näher erläuterte 3xx Codes sind zwar möglich, jedoch kommen sie sehr selten vor.

HTTP-Status-Code der Gruppe 4xx

4xx – Fehler beim Client

Wenn der Server mit einem Status-Code der Gruppe 4xx antwortet, wurde die Aufgabe vom Client fehlerhaft ausgeführt und muss vom Client korrigiert werden. Der bekannteste HTTP Status Code ist aus dieser Gruppe der 404 – Not Found – Code. Die Aufgabe kann nicht bearbeitet werden, da die geforderten Ressourcen nicht zu Verfügung stehen (not found = nicht gefunden). Der Code wird ebenfalls verwendet, wenn man keine näheren Auskünfte über den Grund der Scheiterns geben möchte. Links zu Webseiten, die zu einem 404 Status führen, bezeichnet man als Tote Links. Die Nachricht Forbidden taucht beim Status 403 auf. Der Client kann wegen fehlender Berechtigung keine Antwort bekommen, beispielsweise wenn man versucht https-URLs mit http aufzurufen. Wenn die angefragte Ressource nicht mehr bereitgestellt wird und entfernt wurde, kommt es zu einem 410-Status. Weitere nicht näher erläuterte 4xx Codes sind zwar möglich, jedoch kommen sie sehr selten vor.

HTTP Status-Code der Gruppe 5xx

5xx Server Fehler

Wie bei der Gruppe der 4xx-Fehler, kann der Auftrag nicht ausgeführt werden. Die Ursache liegt bei der 5xx-Gruppe jedoch beim Server. Bei unerwarteten Server Fehlern tritt der Sammel-Status-Code 500 auf. Bei Wartungsarbeiten, Überlastung der Server oder anderen temporären Sperrungen wird der Status Code 503 ausgegeben. Im Header-Feld kann eine „Retry-After“-Antwort auftauchen, die den Client auf einen möglichen neuen Bearbeitungszeitpunkt hinweist. Weitere nicht näher erläuterte 5xx-Status-Codes sind zwar möglich, jedoch kommen sie sehr selten vor.

HTTP  Status-Code der Gruppe 9xx

9xx – Proprietäre Status-Codes

Fehler, die vom Netzwerk verursacht werden, führen zu einem 9xx-Status. In diesem Fall muss der Client den Auftrag an den Server erneut senden. Wenn bei der Übermittlung der Informationen vom Client zum Remote Server ein Fehler auftritt, kommt es zu einem 906-Status. Bei der Interpretation einer Administrator-Anfrage des Nutzers kann es ebenfalls zu einem Fehler kommen, der zu einem 950-HTTP-Status-Code führt. Alle weiteren Codes der Gruppe 9xx (900-905, 907) treten bei einem fehlerhaften Erhalt der User-Anfrage ein.

Einfluss von HTTP-Status auf das Ranking

In regelmäßigen Abständen sollte der HTTP Status deiner Webseite kontrolliert werden. Suchmaschinenroboter crawlen deine Webseite in unbekannten Abständen ab. Wenn nicht alle verlinkten Inhalte oder einzelnen Unterseiten einen problematischen oder optimierungsbedürftigen HTTP-Status aufweisen, kann die Suchmaschine die Inhalte aus dem Index werfen. Diese werden dann bei den Suchmaschinen nicht mehr angezeigt. Daher ist ein fehlerfreies Abrufen jedes verlinkten Links auf einer Webseite für eine gute Suchmaschinenoptimierung wichtig.

301- vs 302-Weiterleitung

Der Status 301 „moved permanently“ ist eine dauerhafte Weiterleitung auf eine andere Domain. Wenn man dauerhaft unter einer anderen URL den Content erreichen soll, ist eine 301-Weiterleitung (301 Redirect) geeignet. Sie wird zum Minimieren von Duplicate Content (Doppelte Inhalte) genutzt, da sie die Linkstärke von Adresse A auf Adresse B vererbt. Zur Verdeutlichung: Eine Webseite ist sowohl unter http://www.beispiel.de und unter http://beispiel.de (ohne www.) erreichbar. Suchmaschinen interpretieren das als Duplicate Content, was sich schlecht auf das Ranking „beider“ Webseiten auswirkt, da die Suchmaschine nicht weiß, welche der beiden Seiten als relevant einzustufen ist. Zudem werden die unterschiedlich erreichbaren, aber identischen Webseiten unabhängig voneinander gerankt. Um das zu vermeiden, kann man beispielsweise von der Domain ohne www auf die Domain mit www eine 301-Weiterleitung setzen. Die Linkstärke, bzw. der Pagerank, vererbt sich dabei und die Domain wird nicht mehr wegen Duplicate Content im Ranking beeinflusst. Die Adresse A wird dann von der Suchmaschine aus dem Index genommen, d.h. sie erscheint nicht mehr in den Suchergebnissen (SERPs).

Eine 302-Weiterleitung ist lediglich temporär und die Linkstärke wird nicht vererbt. Diese benutzt man, wenn man den Inhalt der Adresse A ändern möchte (z.B. das Design oder die Aktualisierung des Inhalts), aber verhindern will, dass sie aus dem Suchmaschinen-Index verschwindet, da man nach dem Relaunch wieder die User auf Adresse A leiten will. Die Suchmaschine fragt jedes Mal die Adresse A ab und leitet auf Adresse B weiter, da sie irgendwann die Aufhebung der Weiterleitung erwartet.

301: Dauerhafte Weiterleitung, Pagerank wird mit vererbt

302: Temporäre Weiterleitung ohne Vererbung des Pageranks