« Zurück zum Magazine

XXL-Anleitung: Status Codes und ihre Folgen

Wenn Du eine Webseite nicht erreichst oder ein Bild sich nicht öffnen lässt, liegt ein Fehler vor. Fehlerseiten und „Tote Links“ sind ärgerlich – für Suchmaschinen und User.

Im Normalfall siehst Du nach Suchanfragen die gewünschten Ergebnisse und Bilder. Wenn nicht, erscheinen Nummern wie 301, 404 oder 500. Was sich hinter diesen Zahlen verbirgt und wie Du Fehlerseiten vermeidest, erfährst Du in diesem Artikel.

Jede Suchanfrage im Internet löst einen Prozess aus: die Kommunikation zwischen User, Client (Browser) und Server. Außerdem wird jeder Vorgang mit einem HTTP Status Code vom Server quittiert. So erfährt der User, ob seine Anfrage erfolgreich war oder, wenn nicht, was der Fehler für ein nicht angezeigtes Element ist.

HTTP Status Codes bestehen grundsätzlich aus drei Ziffern und unterteilen sich in verschiedene Statusklassen. Die erste der Zahlen bezeichnet die jeweilige Klasse. Diese Codes sind Antworten des Servers, sobald er eine Suchanfrage bearbeitet. Kurzgefasst stecken hinter den Zahlen folgende Hinweise beziehungsweise Probleme:

  • 1xx: Informationen in Bearbeitung.

  • 2xx: Anfrage erfolgreich durchgeführt.

  • 3xx: Seite wurde auf eine neue Domain umgeleitet oder weitergeleitet.

  • 4xx: Es liegt ein Fehler vor bei der Anfrage des Clients (Browser).

  • 5xx: Es gibt ein Problem mit dem Server (auf dem die Webseite liegt).

  • 9xx: Fehler vom Netzwerk

Nicht alle dieser Statusklassen erfordern eine Aktion, manche siehst Du gar nicht am Bildschirm. Im Folgenden findest Du detailliertere Informationen zu den Codes.

1xx Status Codes

100 (Continue):

Der Server hat die Anfrage korrekt erhalten und wartet auf weitere Anweisungen des Webbrowsers. Erhält er diese Anweisungen, kann er die Aktion erfolgreich zu Ende bringen.

101 (Switching Protocols):

Wird (selten) gebraucht, wenn der Server eine Anfrage mit "Upgrade"-Header-Feld empfängt und zu einem anderen Protokoll wechselt.

102 (Processing):

Dieser Status Code verhindert ein Timeout (Zeitbeschränkung) bei einer Anfrage. Er kommt vor allem bei zum Einsatz, wenn die Anfrage viel Zeit in Anspruch nimmt.

2xx Status Codes

200 (OK):

Dieser HTTP Status Code ist der Normalfall und wird verwendet, wenn es keine Probleme im Anforderungsprozess gibt. Er zeigt dem Server an, dass die Suche nach der URL erfolgreich war. Die angefragte Webseite erscheint im Browser, die 200 nicht. Dafür muss der Server erstens die Anfrage des Clients akzeptieren und zweitens in der Lage sein, die angeforderte Seite an den Client zurückzusenden. Außerdem muss die Ressource auf dem Server existieren.

3xx Status Codes

301 (Moved Permanently):

Dieser HTTP Status Code gibt an, dass die eine Seite nicht mehr unter der angefragten URL zu erreichen ist. Sie wurde auf Dauer auf eine andere URL verschoben (Redirect). Die alte URL ist zwar nicht mehr gültig, vererbt aber trotzdem noch Link Juice an die neue Adresse. Ist ein gelungener Redirect eingerichtet worden, wird der Besucher automatisch weitergeleitet auf die neue URL.

302 (Found; Moved Temporarily):

Der Status Code 302 gibt an, dass eine Seite nur temporär verschoben wurde und übergangsweise unter einer anderen URL auffindbar ist. Die ursprüngliche Webseite verliert nicht ihre Gültigkeit. Der Googlebot crawlt und indexiert bei einer temporären 302-Weiterleitung weiterhin den ursprünglichen Speicherort. Deshalb müssen auf Dauer unter einer neuen Adresse erreichbare URLs mit dem Status Code 301 umgeleitet werden.

307 (Temporary Redirect):

Über den 307-Redirect können kurzfristige Umleitungen von Websites realisiert werden. Dies erfolgt häufig, wenn ein Server gewartet wird. Hierfür wird zunächst eine php-Datei geschrieben, in welcher eine Nachricht für die Besucher der Website hinterlegt wird. Danach wird diese Datei im Stammverzeichnis (Root Directory) gespeichert. Anschließend muss eine neue htaccess-Datei erstellt werden, die den Namen htaccess.307 trägt.

4xx Status Codes

410 (gone):

Erhält der User diesen Status Code, bedeutet dies, dass die Ressource nicht mehr länger verfügbar ist und/oder gelöscht wurde.

401 unauthorized:

Bei dieser Anfrage auf den Server muss sich der Client autorisieren. Dies erfolgt üblicherweise über ein Login. Will ein User dennoch auf die passwortgeschützte Ressource zugreifen, erscheint der Status Code 401 (Unauthorized) mit dem Hinweis, was zu tun ist.

404 (Not found):

Der HTTP Status Code 404 weist Webbrowser und Suchmaschinen darauf hin, dass eine Ressource nicht (oder nicht mehr) erreichbar ist. Das kann eine URL sein oder ein Element innerhalb einer Unterseite – zum Beispiel ein Video, ein Bild oder eine Pdf-Datei. Die Fehlermeldung wird auch angezeigt, wenn der Nutzer eine URL in die Adresszeile des Browsers eingibt, die es nicht gibt oder die er falsch geschrieben hat.

Der Status Code 404 wird ausgeworfen,

  • wenn sich der Ort eines Elements oder einer Datei geändert hat, die darauf verweisenden externen Verweise aber nicht informiert wurden und noch auf die alte Adresse verlinken („Tote Links“).

  • wenn die Ressource umgezogen wurde, der Webmaster aber den jeweiligen Link nicht angepasst hat.

  • wenn eine URL angefordert wird, die gar nicht existiert, die zum Beispiel in der Adresszeile falsch geschrieben wurde.

Abbildung 1: Typische Fehlerseite im Chrome-Browser

5xx Status Codes

500 (Internal Server Error)

Der Code 500 ist ein "Sammel-Statuscode" für interne Serverfehler. Die angeforderte URL oder das Element werden bei dieser Anzeige nicht erreicht. Ist nicht klar, woran das genau liegt, solltest Du überprüfen, ob es Fehler in der .htaccess-Datei gibt.

503 (Service Unavailable):

Der Code steht für unerwartete Serverfehler. Der Server steht temporär nicht zur Verfügung steht, zum Beispiel, wenn er überlastet ist oder gerade gewartet wird. Der Webbrowser kann darüber informiert werden, wann die Anfrage wieder möglich sein wird. Im Header-Feld "Retry-After" steht dann der angepeilte Zeitpunkt.

9xx Status Codes

Manche Softwarehersteller verwenden den Bereich ab 900 für proprietäre Statuscodes. Dieser Zahlenbereich findet in den relevanten RFC-Dokumenten allerdings keine Erwähnung und es gibt zahlreiche Beispiele für proprietäre Statuscodes außerhalb dieses Bereichs.

HTTP Status Codes überprüfen und Fehler beheben

Da Browser den Status Code nicht anzeigen, brauchst Du spezielle Tools, um sie zu überprüfen, zum Beispiel Browser-Erweiterungen wie Live Http-Headers für den Browser oder Online-Tools wie Web-Sniffer.

Wie behebe ich 404 Fehler?

Wenn Du Deinen Content oder die Dateistruktur änderst, können 404-Fehler auftreten. Am besten ist es, die schon bestehenden URLs zu lassen, wo sie sind, oder sie per 301 Redirect umzuleiten. Wenn Du aber Deine URLs umstrukturieren musst, zum Beispiel um sie SEO-freundlicher zu gestalten, brauchst Du eine Strategie, um Fehlerseiten zu verhindern oder die Anzahl möglichst gering zu halten.

Arbeite mit dem Tool, das Google Dir in seiner Search Console zur Verfügung stellt: Unter dem Reiter "Crawling" findest Du die Option "Crawling-Fehler". Gib Deine Domain ein, dann erfährst Du, welche internen und externen Verlinkungen nicht funktionieren und angepasst werden müssen. Wenn es keine Probleme gibt, erscheint folgende Nachricht:

Abbildung 2: Crawling-Tester in der Google Search Console

Gibt es URLs mit 404-Fehler, findest Du sie unter dem Unterpunkt "Nicht gefunden". Wenn Du auf die fehlerhafte URL klickst, erscheinen detaillierte Informationen zur Verlinkung. Diese Liste solltest Du regelmäßig abrufen und Fehler beheben.

Noch ärgerlicher als "normale" Fehlerseiten sind Seiten mit einem falschen oder "Soft-404-Fehler". Sie zeigen nicht an, was der Nutzer gesucht hat, geben aber auch nicht den HTTP Status Code 404 aus. Ein Soft 404-Fehler tritt auf, wenn ein Nutzer eine nicht existente oder fehlerhafte Website mit seinem Browser anfordert und der Server fälschlicherweise einen "200 Ok" oder "302 Found" HTTP Status Code an den Klienten (Browser) sendet. Der Nutzer bekommt einen 404 Fehlercode am Bildschirm angezeigt, aber der Server sendet einen anderen Antwortcode bei der Kommunikation zwischen Klient und Webserver. Der Content der Website steht in keinem Zusammenhang mit der HTTP-Antwort des Servers.

Dies kann Auswirkungen auf das Crawling und die Indexierung der angeforderten Webseite haben. Zudem ist es für den Nutzer mitunter frustrierend, weil die Antwort des Servers nicht zu seiner Suchanfrage passt. Ähnliche Bezeichnungen für einen Soft 404-Fehler sind falscher 404- oder weicher 404-Fehlercode.

Was sind benutzerdefinierte Fehlerseiten?

Die meisten Browser zeigen vom Webserver gelieferte Standard-Seite. Du kannst aber auch benutzerdefinierte 404-Seiten einrichten, um Suchenden weitere Informationen über die Ursachen der Fehlermeldung zu übermitteln. Damit verbesserst Du die Usability und lenkst die Aufmerksamkeit der Nutzer auf Deine anderen Unterseiten – so bleibt er idealerweise auf Deiner Webpräsenz und verbessert die Click-trough-rate (CTR).

Der Lieferdienst Lieferando.de führt seinen potenziellen Kunden sehr kreativ vor Augen, was sie erhalten, wenn sie auf der Seite bleiben. Statt einer simplen abweisenden Standard-404-Seite ohne Mehrwert finden Interessenten das komplette Navigationsmenü.

Abbildung 3: Benutzerdefinierte Fehlerseite von Lieferando.de

Wikipedia bietet den Lesern Lösungsvorschläge an, wie sie den gesuchten Begriff finden können. Wenn er noch nicht in die Datenbank aufgenommen, besteht auch die Option, einen eigenen Artikel zu schreiben.

Abbildung 4: Benutzerdefinierte Fehlerseite von Wikipedia

404-Ryte

Abbildung 5: 404 Seite von Ryte

Wenn Du zum Beispiel einen Onlineshop mit stark fluktuierendem Sortiment betreibst, können 404 Status Codes zum Problem werden. Durch das Einrichten origineller Fehlerseiten bietest Du verärgerten Kunden eine Alternative mit Mehrwert.

Wie erstelle ich eine Custom 404 Page?

Um eine benutzerdefinierte Fehlermeldung zu erstellen, musst Du zunächst eine .htaccess-Datei erstellen und auf dem Server im Hauptverzeichnis (Root-Verzeichnis) hinterlegen. Wenn ein Server eine gesuchte Webseite nicht findet, sucht er in der .htaccess-Datei. Die Datei steuert das Server-Verhalten und gibt bei einem 404-Fehler die Fehlerseite aus. In der Datei wird folgende Zeile notiert (bezieht sich auf den Apache Server):

ErrorDocument 404 /fehlermeldung-404.htm

Anschließend erstellst Du im Editor eine fast gleichnamige Datei: "fehlermeldung-404.html" und speicherst sie auch im Stammverzeichnis. Darin steht, warum eine Fehlermeldung erscheint und was der Besucher als Nächstes unternehmen kann, um gesuchte Informationen zu finden. Jetzt zahlt es sich aus, wenn Du eine Suchfunktion auf Deine Seite eingebunden hast. Eine einfache, aber benutzerfreundliche Lösung bietet das Unternehmen amCharts an.

Abbildung 6: Einfache Fehlerseite von amCharts

Der Code in der amCharts-Datei "fehlermeldung-404.html" beinhaltet folgende Elemente:

die eigentliche Fehlermeldung:

<h1 class="page-title">404 Page Not Found</h1>
<h2>Oops! That was not supposed to happen :(</h2>

den Hinweis auf die Suchfunktion:

<p>It looks like nothing was found at this location. Maybe try the search below?</p>

den Link zur gültigen Startseite:

<a href="https://www.amcharts.com/" id="logo2" rel="home">amCharts</a>

Die Beispielseite von amCharts beinhaltet zwar die wichtigsten Hinweise für den Leser, ist aber sehr lieblos und schlicht gestaltet. Passe Deine Fehlerseite an das Design und den Stil Deiner Webpräsenz an, inklusive Navigation zur besseren Orientierung und Link zur Startseite. Kreativität ist dabei willkommen, zu viele Spielereien oder unpassende Bemerkungen wie "Na toll, jetzt haben Sie meine Webseite gecrasht!" sind aber fehl am Platz. Bleib höflich, erkläre Deinen Lesern, warum die Seite angezeigt wird (zum Beispiel Seite existiert nicht mehr, Adressänderung) und gib ihnen präzise Informationen und Alternativen für die weitere Vorgehensweise.

Wie leite ich Webseiten mit dem 301 Redirect richtig um?

Eine Umstrukturierung von URLs oder gar ein kompletter Domainwechsel stellen Webmaster vor große Herausforderungen. Wenn Du nicht riskieren willst, dass Deine Seite plötzlich ins Nirvana der Suchergebnisse rutscht, musst Du einige Dinge beachten.

1. Die alten Unterseiten sollten 1:1 auf die neuen Unterseiten weitergeleitet werden, nicht auf die Startseite. Damit vermeidest Du, dass URLs mit wertvollen externen Links ihren Linkjuice verlieren.

2. Weiterleitungsschleifen oder lange Weiterleitungketten sind kontraproduktiv, denn spätestens nach der fünften Weiterleitung gibt der Googlebot auf.

3. Bei einem Redirect kann die alte Adresse eine relative URL sein. Das Weiterleitungsziel sollte aber eine absolute URL sein.

Beispiel für eine relative URL (Pfad zum verlinkten Dokument hinter dem Schrägstrich):

<a href="/impressum.html">Impressum</a>

Beispiel für eine absolute URL (inklusive Domain):

<a href="http://www.beispielseite.de/Impressum.html">Impressum</a>

Um einen Status Code 301 zu senden, kannst Du zum Beispiel in PHP-basierten Anwendungen einen passenden Header erzeugen und folgenden PHP-Code in die alte Datei "der-alte-name.php" eintragen:

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

Da die Seite über "domain.de/der-alte-name.php" aufrufbar ist, werden Besucher auf die neue URL "domain.de/der-neue-name.php" weitergeleitet. So wird der HTTP-Statuscode 301 Moved Permanently (Dauerhaft verschoben) ausgegeben.

Wenn Du auf einem Linux Server mit aktiviertem Apache Mod-Rewrite-Modul arbeitest, kannst Du den Status Code 301 mit einer .htaccess-Datei senden. Die .htaccess-Datei muss folgende Code-Zeilen enthalten:

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

Fazit

Die Bedeutung von Fehlermeldungen für Deine Suchmaschinenoptimierung ist nicht zu unterschätzen. Welche Status Codes für Deine Webseite ausgeworfen werden, solltest Du immer im Blick haben. Flüchtigkeitsfehler wie Rechtschreibfehler in der URL oder sorglos umstrukturierte Verzeichnisse können fatale Folgen für Deine Sichtbarkeit in den SERPs haben.

Besondere Vorsicht ist bei Domain-Wechseln gefragt. Die Weiterleitung von der alten zur neuen Seite sollte immer per 301 (Redirect) erfolgen, nicht per 302 (Moved Temporarily). Wenn Du das weniger spannend findest, überlass es Deinem Programmierer und kümmere Dich um die kreative Seite: den Entwurf Deiner ganz individuellen Fehlerseite.

Zum Abschluss dieses Artikels haben wir Dir eine grafische Übersicht über die, in diesem Artikel vorgestellten Status Codes, erstellt - Enjoy!

Tabelle_XXLAnleitungCodes-02-1

Prüfe Deine 404 Seiten mit Ryte

Veröffentlicht am Mar 29, 2017 von Irina Hey