HTTP Status Code

Ein Status Code ist ein Teil der vom Server zurückgelieferten Antwort, bei der ein Client (z. B. ein Browser) eine URL aufruft. Mit Hilfe eines Status Codes teilt der Server dem Client mit, ob er die Anfrage erfolgreich bearbeitet hat oder ob ein Fehler auftrat.

Die Statusklassen

Die dreistelligen HTTP Status Codes 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 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, die mit einer 2 beginnen, ist Status Code 200 OK.
  • Ein Status Code der dritten Klasse steht für eine Umleitung 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. Hier ist vor allem Status Code 404 Not Found zu erwähnen.
  • Die fünfte Statusklasse enthält die Server-Fehler. Es handelt sich dabei um Fehler, die auf den Server zurückzuführen sind. Hier sind vor allem Status Code 500 Internal Server Error und Status Code 503 Service Unavailable zu nennen.
  • 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 zeigt Webbrowser den Status Code nicht an. Man benötigt daher spezielle Tools, um diese zu beobachten. 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.


600x400-HTTPStatusCode-01.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 vorallem 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, da er den Normalfall darstellt. Der Status Code tritt also ein, wenn keine Probleme auftreten.

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ück gesendet, so dass 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:

<?php
Header( "[[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 Weiterleitungketten 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, nicht jedoch die Reputation der Seite auf Google Plus (Soziale Signale). 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. Wichtig ist auch, dass dadurch bei Status Code 302 kein Link Juice vererbt wird, bei Status Code 301 jedoch schon.

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.[1] 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. Falsche 404-Fehler support.google.com Abgerufen am 25.01.2014

Weblinks

Kategorie

Brauchst Du noch Hilfe?
Feedback einreichen