HTTP-Statuscodes: Verwendung, Fehler & SEO Best Practices

2017-08-30
Seokratie
Seokratie GmbH
Main address: Blutenburgstr. 18 D-80636 München, Deutschland ,
Tel:089 - 219098411 , E-mail: mail[@]seokratie.de
21. Jun 2017 SEO 2 Kommentare

Heute gibt es ein SEO-Basic-Thema, das aber doch einige Stolperfallen in sich birgt: HTTP-Statuscodes. Immer wenn ein Besucher oder ein Bot eine Seite aufruft, sendet dessen Client (zum Beispiel der Browser) eine Anfrage an den Server. Die Antwort des Servers beinhaltet unter anderem den HTTP-Statuscode. Doch was hat es eigentlich mit den einzelnen Statuscodes auf sich? Was sind die Risiken und Potenziale für SEO von 301, 302, 404, 410 & Co.?

statuscodes wie wege

Welcher Statuscodes ist der richtige? In meinem Blogpost erfährst Du, wann welcher Statuscode angebracht ist.

Wenn Du das Grundwissen zu Servern, HTTP-Headern und Clients überspringen möchtest, gelangst Du über die Sprungmarken direkt zu den Statuscodes:

Direkt zu den SEO-relevanten Statuscodes:

  1. 200 – ok
  2. 3xx – Weiterleitungen
  3. 4xx – Fehler
  4. 5xx – Server-Fehler

Woher kommst Du & wohin gehst Du?

Um die HTTP-Statuscodes richtig verwenden zu können, ist es erst einmal notwendig sie zu verstehen. Damit Dir das gelingt, habe ich alle dazugehörigen Begriffe einmal definiert und kurz erklärt, was sie tun.

Client

Ein Client ist im Grunde nur ein Programm auf Deinem PC bzw. auf dem Endgerät eines Netzwerks, mit dem der Server „spricht“ und Informationen austauscht. Darunter fallen zum Beispiel Webbrowser wie Chrome, Mozilla Firefox oder Internet Explorer, die mit Webservern kommunizieren und von ihnen die Informationen zur Darstellung der Seiten erhalten. Es gibt aber zum Beispiel auch E-Mail-Clients, die Mails von E-Mail-Servern abrufen oder versenden.

Server

Unter „Servern“ kann man zwei verschiedene Dinge verstehen:

  1. Server als Hardware: Das ist ein Netzwerkrechner, der Ressourcen für andere Computer zur Verfügung stellt. Ihn bezeichnet man oft auch als „Host“. Auf dem Hardware-Server sind auch die Software-Server installiert. Grob gesagt ist er also der physische Speicherort.
  2. Server als softwarebasierter Server: Das ist ein Programm, dessen spezieller Dienst von anderen Programmen (=Clients) genutzt werden kann. Grundlage dafür ist das Client-Server-Modell. Neben Web-Servern gibt es auch noch andere Server, zum Beispiel File-Server (u.a. FTP-Server), E-Mail-Server (IMAP/POP- oder SMTP-Server), Drucker-Server, Datenbank-Server (z.B. MySQL), VPN-Server (verschlüsselte, private Verbindungen auf ein Netzwerk) und Proxyserver, sowie noch einige andere, die ich an dieser Stelle nicht alle aufzählen möchte.
Das passiert, wenn Du eine Internetsseite ansurfst:
Wenn Du eine Webpage besuchst, macht sich Dein Client in Form Deines Browsers an die Arbeit und bittet den softwarebasierten Web-Server (zum Beispiel Apache oder IIS) um Informationen. Dieser antwortet dem Browser und liefert ihm diese.

HTTP-Statuscode

HTTP steht für „Hypertext Transfer Protocols“. HTTP-Statuscodes sind ein dreistelliger digitaler Zahlencode, die der Web-Server dem Client zurückgibt und ihm den Status der Seite liefert. Sie beginnen immer mit den Ziffern 1,2,3,4, 5 oder 9, die uns Aufschluss über die zugehörige Statusklasse des HTTP-Statuscodes gibt. Die wichtigsten dabei sind folgende:

  • 1xx: Der Server hat die Anfrage erhalten und die Kommunikation mit dem Client läuft. Dieser Statuscode weist den Client an, auf die endgültige Information zu warten.
  • 2xx: Diese Gruppe von Statuscodes besagt, dass die Anfrage nicht nur eingegangen ist, sondern auch erfolgreich war.
  • 3xx: Die Anfrage des Clients hat den Server erreicht, aber es ist ein weiterer Schritt des Clients notwendig, um die Anfrage erfolgreich abzuschließen.
  • 4xx: Die Anfrage war fehlerhaft – der Fehler liegt dabei auf der Seite des Clients (zum Beispiel nicht gefundene Ressourcen oder fehlende Berechtigung).
  • 5xx: Die Anfrage war fehlerhaft, der Fehler liegt jedoch auf der Seite des Servers (zum Beispiel Überlastung oder Wartung).
  • 9xx: Statuscodes der Klasse 9 kennzeichnen ebenso fehlerhafte Anfragen, der Fehler liegt im Netzwerk. 9xx-Codes bezeichnet man deswegen auch als „proprietäre“ Statuscodes, das bedeutet sie sind "netzwerkeigen". Der Client sollte seine Anfrage also erneut stellen.

SEO-relevante Statuscodes & Best Practices

Lediglich eine Handvoll Statuscodes sind für SEO wichtig und haben dadurch Einfluss auf Deine Ranking. Umso wichtiger ist es, über diese Statuscodes Bescheid zu wissen. Um die Statuscodes Deiner Seiten herauszufinden, kannst Du Deine Seiten crawlen, zum Beispiel mit OnPage.org.

Statuscode 200: alles ok!

Der Großteil Deiner Seiten sollte den HTTP-Statuscode 200 zurückliefern. Er kennzeichnet den Regelfall: Die Anfrage war erfolgreich, das heißt sie wurde vom Server akzeptiert, die angeforderte Ressource ist auf dem Server vorhanden und kann an den Client gesendet werden: Die Webpage erscheint im Browserfenster.

Statuscode 301: permanente Weiterleitung

Der Statuscode 301 besagt, dass die angeforderte Ressource dauerhaft unter einer anderen Adresse zu finden ist. Suchmaschinen und Besucher werden auf direktem Weg zur neuen Seite geleitet. Früher gingen rund 15% der Linkstärke bei einer Weiterleitung verloren, mittlerweile ist das aber laut einer Aussage Gary Illyes nicht mehr so – die Linkpower geht demnach auf die neue Seite über. Zudem wird die neue URL indexiert.

Anwendungsbeispiele für 301-Weiterleitungen
Anwendungsfälle sind ein verschobener Inhalt, ein Domainwechsel oder eine URL-Strukturänderung.
Wichtig dabei ist, dass der Inhalt des Weiterleitungsziels auch dem ursprünglichen Content entspricht oder zumindest ähnelt – warum das so ist, erfährst Du weiter unten.

Statuscode 302: temporäre Weiterleitung (HTTP 1.0) – found (HTTP 1.1)

Der Statuscode 302 besagt dem Client, dass die Ressource „gefunden“ wurde, jedoch vorübergehend unter einer anderen Adresse liegt. Das heißt, der Inhalt wird zukünftig wieder auf der alten URL anzutreffen sein, diese bleibt also erhalten – und in der Regel auch im Google-Index. Laut John Mueller und Gary Illyes von Google sowie Christoph C. Cemper wird die Linkpower übrigens auch bei 302-Redirects weitergegeben.

Wofür sind eigentlich die Statuscodes 303, 307 und 308?

Sofern Dein Server HTTP 1.1 kompatibel ist, kannst Du für eine temporäre Weiterleitung, bei der sich die Request-Methode nicht ändern soll, den Statuscode 307 verwenden.

Die Mozilla-Entwicklerhilfe schreibt dazu: „The only difference between 307 and 302 is that 307 guarantees that the method and the body will not be changed when the redirected request is made. With 302, some old clients were incorrectly changing the method to GET: the behavior with non-GET methods and 302 is then unpredictable on the Web, whereas the 307 one is.“

Sofern Daten übermittelt werden sollen und Dein Server HTTP 1.1 kompatibel ist, ist 307 also Mittel der Wahl.

303 „See other“ kann auch für tempöräre Weiterleitungen unter HTTP 1.1 verwendet werden, jedoch muss der nachfolgende Request dabei einem „get“ folgen (auch wenn der ursprüngliche Request ein „post“ war.) Laut Jasper Thibaut sind mögliche Anwendungsfälle GEO-Targeting und A/B-Tests.

Das HTTP 1.1 Pendant zur 301 Weiterleitung ist der Statuscode 308 – jedoch darf sich auch hier die Request Methode nicht ändern. Wer mehr zur Theorie hinter den 3xx Statuscodes wissen möchte, dem sei die offizielle Erklärung der IETF (Internet Engineering Task Force) empfohlen.

SEO Best Practices 301- und 302-Weiterleitungen

Grundsätzlich empfehlen wir für permanente Weiterleitungen nach wie vor 301-Weiterleitungen. In allen anderen Fällen empfehlen wir laut den Webstandards zu agieren, um den Crawlern bei der richtigen Interpretation der Weiterleitungen zu helfen. 301 bzw. 308 für permanente Umzüge, 302, 303 oder 307 für temporäre.

Wir sehen immer wieder dieselben Fehler, wenn es um Weiterleitungen geht. Deswegen hier unsere wichtigsten SEO-Stolperfallen bei der Verwendung von 3xx-Codes:

Keine internen Links auf Weiterleitungen

Du solltest intern möglichst immer auf das direkte Linkziel verlinken. So ersparst Du Google unnötiges Crawlen und Deinem Webserver unnötige Serveranfragen. Prüf also regelmäßig die Statuscodes Deiner internen Links!

Keine Weiterleitungsketten

Weiterleitungsketten entstehen, wenn bereits weitergeleitete URLs noch einmal weitergeleitet werden. Jede erneute Weiterleitung belastet wiederum den Server und verlängert letztendlich auch die Ladezeit der Seite. Zudem entstehen bei Weiterleitungsketten häufig Fehler: Beispielsweise entstehen Schleifen oder das Ziel ist eine 404-Seite.

Tipp:
Mit dem Screaming Frog kannst Du Weiterleitungsketten leicht identifizieren und anschließend beheben. Dafür musst Du aber unter Configuration > Spider > Advanced ein Häckchen bei „always follow redirects“ setzen:

weiterleitungsketten sreaming froginstellungen

Mit dem Screming Frog kannst Du Weiterleitungsketten identifizieren.

Statuscodes 404 „not found“ und 410 „gone“

Der Statuscode 404 besagt, dass die angeforderte Ressource im Moment nicht gefunden wurde. Häufige Gründe dafür sind zum Beispiel falsch gesetzte Links (intern & extern), gelöschte Inhalte oder Tippfehler. Der Statuscode 410 besagt, dass die Ressource dauerhaft vom Server gelöscht wurde.

SEO Best Practices 404 & 410

Zunächst: 4xx-Seiten gehören in einem gewissen Ausmaß zu einer normalen Seitenarchitektur dazu. Jedoch gibt es auch bei den 4xx-Statuscodes einige Chancen und Risiken.

Keine internen und externen Links auf 4xx-Seiten

Du solltest nicht auf 404- oder 410-Fehlerseiten verlinken. Weder Deine User noch Bots wollen ins Leere laufen, wenn sie einem Link folgen. Diese Links sind nicht nur wertlos, sondern verärgern im schlimmsten Fall Deine User. Du solltest also die Statuscodes Deiner Links regelmäßig prüfen. Entdeckst Du 4xx-Fehler, hast Du zwei Möglichkeiten damit umzugehen:

  1. Falls ähnliche, relevante Inhalte vorhanden sind, kannst Du das Linkziel auf dieses ändern.
  2. Falls keine relevanten Inhalte vorhanden sind, solltest Du den Link löschen. Vorsicht: Leite nicht auf nur entfernt ähnliche Inhalte um. Bei fehlender Relevanz wertet Google diese als Soft-404-Fehler!
Vermeidet Soft 404-Fehler

Ein Soft 404-Fehler tritt dann auf, wenn eine nicht existente URL aufgerufen wird, diese aber statt dem Code 404 oder 410, den Statuscode 200 oder 3xx zurückgibt. Häufig wird trotz einer angezeigten Fehlerseite der Statuscode 200 angezeigt oder es wird auf eine irrelevante Seite weitergeleitet. Ein beliebter Fehler ist zum Beispiel eine Weiterleitung auf die Startseite bei ausverkauften Produkten.

Tipp:
In der Google Search Console kannst Du die Soft 404-Fehler identifizieren.

soft 404 fehler search console

In der Google Search Console unter Crawling >Crawling-Fehler findest Du Deine Soft 404-Fehler.

Erstelle individuelle Fehlerseiten

Eine gute Fehlerseite gibt nicht nur den korrekten Statuscode 404 oder 410 aus, sondern informiert Deine Nutzer auch darüber, dass der Inhalt nicht mehr verfügbar ist. Sie bietet Deinen Usern außerdem eine Suchfunktion, gibt weitere Handlungsmöglichkeiten (z.B. in Form von Links) oder unterhält sie schlichtweg. Zwei kreative Beispiele dazu findest Du in Steffis Blogpost zu “Joy of Use”. Zugegeben, da geht es nicht um HTTP-Statuscodes aber eine gute User Experience ist für Deine Rankings auch wichtig 😊

Nutze 410, um Inhalte schnell & dauerhaft aus dem Index zu entfernen

Um Inhalte schneller und endgültig aus dem Index zu entfernen, empfehlen wir Dir den Statuscode 410 auszuspielen. Zwar wird die Seite trotzdem immer wieder von Google gecrawlt, um wirklich sicherzugehen, dass der Statuscode 410 auch wirklich beabsichtigt war, jedoch deutlich seltener als bei dem HTTP-Statuscode 404.

Dazu gibt es auch ein Video von Matt Cutts, in dem er den Unterschied gut erklärt:

Auf der SMX 2017 in München hat John Mueller diese Aussage zwar relativiert und erläutert, dass es keinen Unterschied (mehr) zwischen den Statuscodes 410 und 404 gibt, jedoch empfehlen wir Dir auch hier die webkonforme Verwendung.

Statuscodes 5xx: Serverseitige Fehler

Zu den Codes 500 und 503 gibt es eigentlich nicht viel zu sagen, außer dass sie möglichst auf Deiner Seite nicht vorkommen sollten – schließlich zeigst du damit, dass Deine Seite bereits mit dem aktuellen Traffic überfordert ist. Prüfen kannst Du das zum einen in der Google Search Console, aber auch Tools wie OnPage.org monitoren die Erreichbarkeit Deines Servers.

Statuscode 418: I´m a Teapot!

Besonders große SEO-Relevanz hat der Statuscode 418. (Vorsicht, Ironie!). Dieser Statuscode wurde bereits 1998 von der RFC eingeführt, er sagt: "I`m a teapot!". Er folgt damit einer langen Reihe von Aprilscherzen seit 1989. 2014 hat Google diesen Statuscode wiederentdeckt:

418 i m a teapot

Kennst Du Googles Aprilscherz aus dem Jahr 2014.?

Im Übrigen hat der “Teekannen-Statuscode” keine SEO-Relevanz. Laut einem Test von Alex J. Fierro ignoriert Google ihn einfach und behandelt ihn wie den Statuscode 200. Nur zur Sicherheit: Wir raten Dir natürlich trotzdem dringend davon ab, diesen Statuscode zu verwenden!

Fazit

Um einen Überblick über die Statuscodes Deiner Seiten zu behalten, solltest Du Deine Seiten regelmäßig crawlen. So entdeckst Du Fehler in der Verwendung der HTTP-Statuscodes frühzeitig und kannst diese schnell beheben. Hast Du Fragen zu den Statuscodes oder verwendest Du sie anders? Dann melde Dich gerne in den Kommentaren zu Wort! Solltest Du SEO-Hilfe für Deine Seite benötigen, freuen wir uns über Deine Anfrage zur SEO-Beratung.

Titelbild: © istock / BrianAJackson

Merken

Merken

Merken

E-Book: Der Weg zum erfolgreichen Online Shop
Seokratie E-Book
  • Das 47-seitige E-Book mit 72 konkreten Tipps für Deinen Online Shop
  • Einmal wöchentlich exklusiver Content für das Marketing Deines Shops
  • Unser Newsletter (1-2x pro Woche)
Jetzt kostenlos downloaden
2 Kommentare
    1. Fabian 21. Juni 2017, um 11:55 Uhr

      Hmmm…dieser 418 Status Code kommt mir bekannt vor 😉

      Toller und ausführlicher Beitrag von euch. Keine Fragen bleiben hier offen.

      Viele Grüße,
      -Fabian

    2. Chris Gerner 21. Juni 2017, um 14:24 Uhr

      Der 410er Code hat noch eine große Bedeutung, wenn eine Domain mal gehackt wurde und die ganzen PayPal Phishing Seiten, Malware Verteiler und Porno Weiterleitungen etc. von Google indexiert wurden.

      Am Besten nach dem Säubern der Seite das Apache Error Log und Search Console im Auge behalten und jede URL die irgendwo aufschlägt und mit dem Hack zu tun hat, in der .htaccess mittels:

      Redirect Gone /path/to/phishing-site.html

      ins Nirwana schicken – sonst habt ihr nämlich viele schlechte Seiten im Index die das Ranking abschwächen, weil Phishing-, Porn- oder Malware Seiten.

      BG
      Chris

    Schreibe einen Kommentar

    Deine E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

    Willst Du fit in SEO werden?

    Abonniere unseren Newsletter und bleibe in Sachen SEO, Inbound- & Online-Marketing auf dem Laufenden.

    Du kannst den Newsletter jederzeit wieder abbestellen.