HTTP Status Code


Ein HTTP Status Code ist ein Teil der vom Server zurückgelieferten Antwort, wenn ein Client (wie ein Browser) eine URL aufruft. Über Status Codes teilt der Server dem Client mit, ob er die Anfrage erfolgreich bearbeitet hat oder ob es einen Fehler bei der Verarbeitung gab. Die Analyse der Status Codes ist wichtig, um die Funktionalität und die Indexierbarkeit einer Website zu prüfen.

Die Statusklassen

HTTP Status Codes bestehen immer aus drei Zahlen. Sie können in verschiedene Statusklassen eingeteilt werden, wobei die erste Ziffer für die jeweilige Statusklasse steht.

  • HTTP Status Codes der ersten Klasse stehen für Informationen zur Bearbeitung und werden schon während der Anfrage gesendet, darunter Status Code 100 und Status Code 102.
  • HTTP Status Codes der zweiten Klasse repräsentieren eine erfolgreiche Operation. Einer der bekanntesten HTTP Status Codes dieser Klasse ist Status Code 200 OK.
  • Ein Status Code der dritten Klasse steht für eine Umleitung bzw. Weiterleitung und wird zurückgeliefert, wenn das angeforderte Dokument jetzt unter einer anderen Adresse zu finden ist. Die Bearbeitung ist also noch nicht vollständig abgeschlossen und erfordert weitere Schritte seitens des Clients. Eine wichtige Rolle für die Suchmaschinenoptimierung spielen insbesondere Status Code 301 und Status Code 302.
  • HTTP Status Codes der Klasse 4 repräsentieren Client-Fehler, also Fehler, die auf eine fehlerhafte Anfrage des Clients zurückzuführen sind. Für die Suchmaschinenoptimierung und Webmaster spielt vor allem der Status Code 404 Not Found eine wichtige Rolle.
  • Die fünfte Statusklasse enthält die Server-Fehler. Es handelt sich dabei um Fehler, die auf den Server zurückzuführen sind. Die bekanntesten Fehlermeldungen sind Status Code 500 Internal Server Error und Status Code 503 Service Unavailable.
  • Die neunte Statusklasse behandelt neben den standardisierten Statuscodes proprietäre Codes, die unter bestimmten Umständen eintreten können. Hierbei wird der Fehler vom Netzwerk verursacht, wobei der Client seine Anfrage erneut senden sollte. Besonders bekannt sind Status Code 906 und Status Code 950.

HTTP Status Codes checken

In der Regel zeigen Webbrowser Status Codes nicht an. Die Codes lassen sich jedoch mit speziellen Tools abfragen. Browser-Erweiterungen sind eine gute Möglichkeit, um HTTP Status Codes zu überwachen, z.B. via Live Http-Headers oder mithilfe spezieller Online-Tools, wie z.B. Web-Sniffer. Die Status Codes lassen sich auch mit dem URL-Prüftool der Google Search Console abrufen.[1]


httpStatusCode de en.png

Status Code 1xx - Informationen

Status Code 100

Der Status Code 100 wird zurückgeliefert, wenn der Server die Anfrage korrekt erhalten hat und nun auf weitere Anweisungen des Clients wartet. Nur dann kann die Anfrage vom Server ausgeführt werden.

Status Code 102

Dieser Status Code “Processing” wird verwendet, um ein Timeout bei der Anfrage zu vermeiden. Dies kann vor allem passieren, wenn der Server eine zeitintensive Anfrage bearbeiten muss.

Status Code 2xx - Erfolgreiche Operation

Status Code 200

Der Status Code 200 wird vom Server dann zurückgeliefert, wenn die vom Client (z. B. Webbrowser) angeforderten Daten wie gewünscht übermittelt werden können. Dazu müssen in der Regel folgende Voraussetzungen erfüllt sein:

  • Der Server muss die Anfrage des Clients akzeptieren und
  • die angeforderte Ressource muss auf dem Server existieren.
  • Außerdem muss der Server in der Lage sein, sie an den Client zurückzusenden.

Sind diese Voraussetzungen erfüllt, werden die angeforderten Daten an den Client übertragen und in der Antwort wird der Status Code 200 OK mitgeliefert.

Beim Status Code 200 handelt es sich um den am häufigsten auftretenden Status Code. Er gibt an, dass kein Server-Fehler besteht und eine Website korrekt von einem Browser abgerufen werden kann.

Status Code 3xx - Umleitung

Status Code 301

Der Status Code 301 sagt aus, dass die vom Client angeforderte Ressource nicht länger unter der angegebenen Adresse erreichbar ist, sondern dauerhaft auf eine andere Adresse verschoben wurde (Redirect). Die alte Adresse der Ressource ist fortan nicht mehr gültig und die neue Adresse wird an den anfragenden Client zurückgesendet, sodass dieser in der Lage ist, die Ressource unter der neuen Adresse abzurufen.

Der Unterschied zwischen Status Code 301 und dem sehr ähnlichen Status Code 302 liegt in der Zeitangabe. Während die alte Adresse bei einem gesendeten Status Code 302 noch gültig bleibt, ist diese bei einem Status Code 301 nicht länger gültig. Mitte 2016 gab Gary Illyes von Google bekannt, dass sämtliche 3xx Weiterleitungen Link Juice vererben und dabei keine Link Power verloren geht.

Anwendungsfall URL-Änderung

Im besten Fall ändert sich eine einmal vergebene URL-Struktur nicht mehr und bleibt für immer bestehen. Wird es trotzdem notwendig, die URL-Struktur einer Seite zu verändern bzw. die Domain zu wechseln, muss darauf geachtet werden, dass alle alten URLs auf die jeweils neue URL umgeleitet werden. Das gilt insbesondere für URLs, die im Laufe der Jahre wertvolle externe Links erhalten haben. Dies erfolgt mittels einer 301-Weiterleitung. Wird dann die nicht mehr bestehende URL aufgerufen, liefert der Server den Status Code 301 zurück und teilt dem Client die neue URL der Ressource mit. Nach RFC-Standard soll bei einem Redirect eine absolute URL verwendet werden. Relative Redirects sind demnach nicht gültig.

301 anwenden

Es gibt verschiedene Möglichkeiten einen Status Code 301 zu senden, so kann beispielsweise in PHP-basierten Anwendungen ein entsprechender Header erzeugt werden. Dazu müsste folgender PHP-Code in die alte Datei eingetragen werden:

<!--?phpHeader( "[[HTTP]]/1.1 301 Moved Permanently" );
Header( "Location: http://www.new-url.com" );
?-->

Wesentlich praktikabler ist es dagegen, den Status Code 301 mittels .htaccess-Datei zu senden. Voraussetzung dafür ist jedoch ein Linux Server mit aktiviertem Apache Mod-Rewrite-Modul. In der .htaccess-Datei müssen dazu folgende Zeilen eingetragen werden:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

Zu beachten beim Einsatz des Status Code 301 ist, dass etwa bei einem Domain-Wechsel alle Seiten 1:1, also auf die neuen Unterseiten und nicht auf die Startseite umgeleitet werden. Außerdem sollten so genannte Weiterleitungsschleifen oder lange Weiterleitungsketten vermieden werden. Der Googlebot schaltet nämlich nach der vierten oder fünften Weiterleitung ab.

Weiterleitung von Links

Eine 301-Weiterleitung leitet zwar den Link Juice zu größten Teilen auf das neue Ziel um. Bevor man die Inhalte umzieht, sollte man sich vergewissern, ob die Weiterleitung wirklich erwünscht ist.

Status Code 302

Der Status Code 302 steht für eine temporäre Weiterleitung. Das bedeutet, die angeforderte Ressource ist vorübergehend unter einer anderen Adresse zu finden. Neben diesem Status Code sendet der Server auch die neue Adresse der Ressource zurück. Wichtigster Unterschied zu Status Code 301 ist, dass die ursprüngliche Adresse weiterhin gültig bleibt. Dies ist zugleich auch der Grund, weshalb Inhalte, die dauerhaft unter einer neuen Adresse erreichbar sind, mit Status Code 301 und nicht mit Status Code 302 ausgeliefert werden sollten. Denn der Googlebot durchsucht und indexiert bei der temporären Weiterleitung weiterhin den ursprünglichen Speicherort.

Status Code 4xx - Client-Fehler

Status Code 404

Status Code 404 Not Found wird immer dann ausgeliefert, wenn die angeforderte Ressource (also meist eine URL, aber auch ein Bild oder eine andere Datei) nicht oder nicht mehr existiert, und ist damit nach dem Status Code 200 “OK” und dem 304er “Not Modified” sicher einer der häufigsten HTTP Status Codes.

Gründe für den 404er

Eine nicht existierende Ressource kann folgende Ursachen haben:

  • Die Ressource wurde an einen anderen Ort umgezogen, jedoch wurden nicht alle internen Links angepasst.
  • Die Ressource wurde an einem neuen Ort abgelegt, neben den internen Links gab es aber auch externe Verweise auf das Dokument. Diese wurden jedoch nicht über den Umzug in Kenntnis gesetzt und verlinken deshalb noch auf die alte Adresse. Man spricht hier auch von sogenannten „Toten Links“.
  • Der Client hat eine Ressource angefordert, die nie existierte, indem er beispielsweise eine vorhandene gültige URL in der Adresszeile des Browsers verändert bzw. manipuliert hat. Das kommt häufig bei kopierten Links vor.

404 Fehler beheben

Es sollte stets darauf geachtet werden, die Anzahl der 404-Fehler so klein wie möglich zu halten. Denn weder der User noch der Googlebot sind erfreut, wenn sie auf eine Fehlerseite stoßen. Welche Seiten mit Status Code 404 von Google gefunden wurden, kann man regelmäßig in der Google Search Console unter „Crawling -> Crawling-Fehler“ einsehen. Dort finden sich auch alle Informationen über die interne und externe Verlinkung der URL. So können die wichtigen, verlinkten 404-Seiten erkannt und angepasst werden.

Soft-404-Fehler

Bei Soft-404-Fehlern handelt es sich um Webseiten, die zwar den angeforderten Inhalt nicht mehr bereitstellen, die aber keinen 404- oder 410-Statuscode ausgeben. Der Webmaster hat somit für die betreffenden Seiten keine 404-Fehlerseite hinterlegt, sodass beim Aufrufen der Pages z.B. die Statuscodes „200 OK“ oder auch „302 Found“ ausgegeben werden.

In der Praxis erweist es sich als wenig zielführend, wenn User nach einem bestimmten Inhalt gesucht haben, jedoch auf eine Seite treffen, die keinen Fehlercode ausgibt und stattdessen dennoch Content anzeigt, der nicht zur Query passt. Google selbst empfiehlt, immer mit dem 404-Statuscode zu arbeiten, wenn ein Inhalt nicht mehr auf der Seite gehostet wird.[2] Für eine bessere Usability kann die Fehlerseite optimiert werden, um die Besucher dazu zu bewegen, auf der Webseite zu bleiben.

Zur Analyse von Soft-404-Fehlern können gängige SEO-Tools oder auch die Google Search Console oder die Webmastertools von Bing verwendet werden.

Status Code 5xx - Server-Fehler

Status Code 500

Status Code 500 steht für Internal Server Error, einen internen Serverfehler. Die angeforderte Ressource kann also aufgrund eines Server-Fehlers nicht zurückgeliefert werden. Da es sich bei diesem Status Code im Grunde um einen „Sammel-HTTP Status Codes“ für alle möglichen, unerwarteten Serverfehler handelt, ist er nicht sehr aussagekräftig. Häufig erhält man jedoch den Status Code 500 bei fehlerhaften Einträgen in der .htaccess-Datei.

Status Code 503

Der Status Code 503 steht für einen temporär nicht zur Verfügung stehenden Server. Das kann verschiedene Gründe haben. So wird dieser Status Code beispielsweise bei Wartungsarbeiten oder der Überlastung des Servers ausgegeben. Um den anfragenden Client zu informieren, wann die gestellte Anfrage voraussichtlich wieder bearbeitet werden kann, kann im Header-Feld „Retry-After“ der entsprechende Zeitpunkt angegeben werden. Zu beachten ist dabei, dass der Server bei Status Code 503 die angeforderten Ressourcen auch dann nicht verarbeitet, wenn die entsprechenden Kapazitäten wieder zur Verfügung stehen.

Status Code 9xx - Proprietäre Statuscodes

Status Code 906

Dieser Status Code wird ausgeliefert, wenn bei der Übermittlung der Anfrage vom Client zum Remote-Server ein Fehler aufgetreten ist. Die Anfrage muss erneut gesendet werden.

Status Code 950

Der Status Code 950 wird zurückgeliefert, wenn bei der Interpretation einer Administrator-Anfrage des Clients ein Fehler aufgetreten ist. Auch hier muss in den meisten Fällen die Anfrage erneut gesendet werden.

Bedeutung von Status Codes für die Suchmaschinenoptimierung

Bei der Suchmaschinenoptimierung spielen die http Status Codes eine wichtige Rolle. So kann eine Häufig von 404-Fehlern auf eine schlecht gepflegte Webseite hinweisen. Erhalten Nutzer beim Aufruf von URLs den Status Code 404, führt das zu einer höheren Absprungrate, die wiederum ein negatives Nutzersignal für Google und andere Suchmaschinen darstellt.

Die Angabe “404-not found” an sich gehört zu den natürlichen Vorgängen im Web, wenn eine Seite zum Beispiel durch einen Domainumzug nicht mehr vorhanden ist. Stärker hingegen beeinträchtigen jedoch sogenannte Soft 404-Fehler die Suchmaschinenoptimierung. Sie liefern einen Statuscode aus, der nicht zum Inhalt der Seite passt. Soft 404-Fehler können im schlimmsten Fall zum Ausschluss einer URL aus dem Google-Index führen. Wichtig für die SEO sind ebenfalls 301-Redirects, weil sie dabei helfen, Duplicate Content zu verhindern.

Einzelnachweise

  1. URL-Prüftool support.google.com Abgerufen am 06.12.2021
  2. [ https://developers.google.com/search/docs/advanced/crawling/soft-404-errors?hl=de Falsche 404-Fehler] support.google.com Abgerufen am 06.12.2021

Weblinks