HTTP-Statuscode
Inhaltsverzeichnis
Der HTTP-Statuscode und seine Bedeutung für SEO
Der HTTP-Statuscode, oft auch nur Statuscode genannt, ist eine dreistellige Zahlenkombination, die ein Server als Antwort auf die Anfrage eines Clients zurücksendet. Dieser Statuscode gibt Aufschluss darüber, ob eine Anfrage erfolgreich oder fehlerhaft war. Aus diesem Grund gehört die Analyse des HTTP-Statuscodes im Rahmen von SEO auch zu den Grundlagen der OnPage Optimierung. Ziel der Analyse muss es sein Crawling-Fehler aufzudecken und durch ihre Behebung oder Optimierung Sichtbarkeitsverluste zu vermeiden.
Hintergrund: So kommt die Webseite auf den Bildschirm
Wenn ein Internetnutzer eine Webseite aufrufen will, dann nutzt er dafür einen Browser. Browser wie Chrome, Firefox und Opera sind sogenannte Clients. Programme, die eine Webseite darstellen und dafür mit dem Server kommunizieren, auf dem die Webseite liegt. Es gibt nicht nur Browser, sondern viele verschiedene Clients. E-Mail-Clients wie Outlook beispielsweise tuen etwas ganz Ähnliches, indem sie E-Mails von einem Mail-Server abrufen oder über diesen versenden.
Der Client schickt (nach Angabe der URL im Browser) eine Anfrage an den Server. Der Web-Server stellt Ressourcen wie HTML-Dokumente, Bilder und Videos für andere Computer zur Verfügung. Er ist also der physische Speicherort dieser Dateien. Neben Web-Servern gibt es beispielsweise noch FTP-Server, Datenbank-Server, Drucker-Server, Mail-Server und VPN-Server.
Der HTTP-Statuscode ist Bestandteil der Antwort, die der Server an den anfragenden Client sendet. HTTP steht für Hypertext Transfer Protocol. Es handelt sich demnach um ein Übertragungsprotokoll, das vor allem bei der Übertragung von Webseiten an den Browser zum Einsatz kommt, also im World Wide Web (WWW). Grundsätzlich ist es jedoch nicht darauf beschränkt, sondern ein universell einsetzbares Dateiübertragungsprotokoll.
Clients werde aber nicht nur von Menschen genutzt, sondern auch von sogenannten Bots. Das sind Computerprogramme, die unabhängig menschlichen Einflusses vollkommen automatisch wiederkehrende Aufgaben erledigen. So wie der Google Bot, der das WWW nach neuen Inhalten durchforstet und dafür auch bestehende Webseiten regelmäßig besucht. Über den Google Bot gelangen die Seiten in den Index der Suchmaschine, also in die Suchergebnisse. Die HTTP-Statuscodes sind also auch für diese Bots eine wichtige Informationsquelle.
HTTP-Statusklassen
Die zahlreichen HTTP-Statuscodes sind in Statusklassen eingeteilt. Jede Klasse beginnt mit einer anderen Ziffer:
- 1XX für Informationen: Die Anfrage des Clients ist eingegangen, die Bearbeitung durch den Server dauert an.
- 2XX für erfolgreiche Operationen: Die Anfrage des Clients ist nicht nur eingegangen, sondern wurde vom Server auch erfolgreich bearbeitet.
- 3XX für Um- und Weiterleitungen: Die Anfrage des Clients ist eingegangen, aber es sind weitere Schritte des Clients notwendig, um diese erfolgreich abzuschließen.
- 4XX für Client-Fehler: Die Anfrage des Clients war nicht erfolgreich, der Fehler liegt (vermutlich) auf Seiten des Clients (z. B. nicht gefundene Ressource durch fehlerhafte URL, fehlende Berechtigung).
- 5XX für Server-Fehler: Die Anfrage des Clients war nicht erfolgreich, der Fehler liegt (vermutlich) auf Seiten des Servers (z. B. Überlastung, Wartungsarbeiten).
- 9XX für proprietäre Fehler: Die Anfrage des Clients war nicht erfolgreich, der Fehler liegt (vermutlich) im Netzwerk. Diese Klasse wird vor allem von Softwareherstellern verwendet.
SEO-relevante Statuscodes
Insgesamt gibt es über 60 HTTP-Statuscodes. Für die Suchmaschinenoptimierung sind aber nur wenige davon von Bedeutung. Eine vollständige Auflistung gibt es hier bei Wikipedia.
HTTP-Statuscode 200: Alles erfolgreich erledigt
Der HTTP-Statuscode 200 ist jener, der am häufigsten vorkommt. Das ist auch gut so, denn er signalisiert dem Client, dass die Anfrage erfolgreich bearbeitet wurde. Dieser Statuscode wird also immer dann übermittelt, wenn eine Webseite erfolgreich abgerufen wurde.
HTTP-Statuscode 301: Permanente Weiterleitung
In der SEO-Praxis sind die Statuscodes der Klasse 300 jene, bei denen die meisten Fehler gemacht werden. Der HTTP-Statuscode 301 informiert den Client darüber, dass die angeforderte Ressource dauerhaft unter einer anderen Adresse erreichbar ist und die aufgerufene URL damit keine Gültigkeit mehr besitzt. Der Server liefert automatisch die neue Adresse mit, so dass der Browser diese umgehend aufrufen kann. Das geschieht in der Praxis natürlich so schnell, dass der Anwender des Clients davon nichts mitbekommt.
Gründe für eine permanente Weiterleitung können sein:
- Domainwechsel
- URL-Strukturänderung
- verschobener Inhalt
Früher war es so, dass ein Link, der den Statuscode 301 zur Folge hatte, einen Teil seines Link Juice verloren hat. Mittlerweile vererben alle 3XX-Codes ihre Link-Power verlustfrei, wie Google 2016 bestätigte. Die neue URL, auf die weitergeleitet wird, wird von Google außerdem indexiert.
Prinzipiell sollten URL-Änderungen vermieden werden, weshalb der URL-Struktur bei der Konzeption einer Webseite besondere Aufmerksamkeit geschenkt werden muss. In der Praxis lassen sie sich aber vielfach nicht vermeiden. Es gibt verschiedene Möglichkeiten um den Statuscode 301 zu erzeugen. Die wohl einfachste und praktikabelste ist über die .htaccess-Datei, die allerdings einen Linux-Server mit aktiviertem Apache-Modul „mod-rewrite“ erfordert. Die .htaccess-Datei wird dafür um folgende Zeilen ergänzt:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^url.de [nc]
rewriterule ^(.*)$ http://www.url.de/$1 [r=301,nc]
Alternativ kann man die Weiterleitung im Header einer PHP-Datei befehlen. Dafür wird folgender Code in die alte Datei geschrieben:
<?php
Header( „[[HTTP]]/1.1 301 Moved Permanently“ );
Header( „Location: http://www.neue-url.de“ );
?>
Wichtig ist, dass der Content der neuen Seite dem Ursprungsinhalt entspricht oder diesem zumindest sehr ähnlich ist. Bei einem Domainwechsel sind alle Seiten 1:1 weiterzuleiten. Jede Unterseite also auf ihr Pendant und nicht etwa nur auf die Startseite. Allerdings sollten Weiterleitungen nicht für interne Links genutzt werden. Hier ist es besser direkt auf das neue Linkziel zu verweisen um unnötige Serveranfragen, die zum Beispiel zu höheren Ladezeiten führen können, zu vermeiden.
Zudem ist darauf zu achten, dass Weiterleitungsketten und Weiterleitungsschleifen vermieden werden. Sie führen nicht nur häufig zu Fehlern, sondern sind auch vom Google Bot nicht gern gesehen. Spätestens nach der fünften Weiterleitung bricht dieser seinen Crawling-Versuch ab.
HTTP-Statuscode 302: Temporäre Weiterleitung
Der Statuscode 302 teilt dem Client mit, dass die angeforderte Ressource temporär unter einer anderen Adresse erreichbar ist. Wie bei dem Statuscode 301 wird diese Adresse dem Browser mitgeteilt, der sogleich darauf umleitet. Gründe für eine temporäre Weiterleitung können sein:
- Migration auf neuen Server
- befristete Rabattaktion mit eigener Landing Page
- Inhaltsüberprüfung, zum Beispiel wegen einer juristischen Streitigkeit
Im Gegensatz zum Statuscode 301 behält die Ursprungsadresse weiterhin ihre Gültigkeit, weil es ja nur eine zeitlich befristete Weiterleitung ist. Bei seinem nächsten Besuch wird der Google Bot deshalb wieder den ursprünglichen Speicherort aufsuchen. Die Ursprungsadresse bleibt im Index enthalten.
Auch bei 302 gilt: Weiterleitungsketten sind zu vermeiden. Sie belasten den Server und führen zu längeren Wartezeiten. Eine Weiterleitungsschleife führt früher oder später zum HTTP-Statuscode 404.
Egal ob es sich um eine permanente oder eine temporäre Weiterleitung handelt – nach ihrer Einrichtung sollte jede Weiterleitung auf ihre einwandfreie Funktion überprüft werden, um Ranking- und Sichtbarkeitsverluste durch fehlerhafte Um- und Weiterleitungen zu vermeiden. Dafür finden sich im Internet diverse kostenlose Online-Tools, zum Bespiel unter redirect-checker.org.
HTTP-Statuscode 404: Ressource nicht gefunden
Mit dem Statuscode 404 teilt der Server dem Client mit, dass die von ihm angeforderte Ressource nicht gefunden wurde. Gründe dafür können sein:
- falsch gesetzter Link
- Tippfehler
- verschobener oder gelöschter Inhalt
Links die zum HTTP-Statuscode 404 führen, werden auch als „tote Links“ bezeichnet. Das suggeriert bereits, dass dieser Code ziemlich ungünstig ist – sowohl für Besucher, als auch für den Google Bot. Die Anzahl der 404-Statuscodes sollte deshalb so gering wie möglich gehalten werden. Zu viele davon können u. U. Folgen für das Ranking haben.
In der Google Search Console werden die vom Google Bot empfangenen 404-Fehler angezeigt. Jeder SEO sollte sich diese regelmäßig anschauen und für betroffene Seiten Lösungen finden.
Bekannte 404-Fehler sollten nicht einfach ignoriert, sondern möglichst behoben werden. Dafür gibt es im Wesentlichen drei Lösungsansätze:
- Kommt es zu dem Fehler, weil eine Ressource lediglich verschoben wurde, sollten interne Links korrigiert und externe Links mit 301 weitergeleitet werden.
- Ist für die nicht mehr verfügbare Seite ein ähnlicher Inhalt verfügbar, kann darauf verlinkt bzw. weitergeleitet werden.
- Ist kein relevanter Ersatzinhalt vorhanden, sollten interne Links, die auf die nicht verfügbare Ressource verweisen, entfernt werden. Das kann auch bei externen Links versucht werden, ist allerdings deutlich aufwendiger, weil nicht im Einflussbereich des SEOs oder Webmasters.
Ebenfalls vermieden werden sollten Soft-404-Fehler. Damit sind nicht erreichbare URLs gemeint, die keinen 4XX-Statuscode zurücksenden, sondern stattdessen beispielsweise signalisieren, es sei alles in Ordnung (200). Das geschieht beispielsweise, wenn einfach auf die Startseite umgeleitet wird. In der Regel ist das aber nicht zielführend, weil ein Besucher nach Anklicken eines Links einen ganz bestimmten Inhalt erwartet. Deshalb empfiehlt Google in diesem Fall immer mit dem Statuscode 404 zu arbeiten.
Eine individuell gestaltete Fehlerseite kommt bei menschlichen Besuchern immer besser an, als eine kaltes „404 Error – Page not found“. Vor allem, wenn diese humorvoll oder kreativ daherkommt. Wenn auf dieser Fehlerseite eine Suchfunktion oder Links zu den Hauptkategorien angeboten werden, dann ist die Chance höher, dass der erfolglose Besucher nicht verloren geht, sondern auf der Webseite bleibt.
HTTP-Statuscode 410: Ressource gelöscht
Der Statuscode 410 teilt dem Client mit, dass die angeforderte Ressource nicht länger bereitgestellt wird und deshalb dauerhaft gelöscht wurde. SEOs können diesen HTTP-Statuscode dafür nutzen, um Inhalte schnell und dauerhaft aus dem Index der Suchmaschine zu entfernen. Der Google Bot wird betroffene Seiten jedoch weiterhin crawlen, um sicher zu gehen, dass der Statuscode beabsichtigt war und nicht etwa ein Versehen. Die Bot-Besuche finden jedoch seltener statt als beispielsweise beim Statuscode 404.
HTTP-Statuscode 5XX: Server-Fehler
Die HTTP-Statuscodes der Klasse 5 stehen für serverseitige Fehler. Wie alle Fehlercodes sollten Webmaster darauf achten, dass sie möglichst selten vorkommen. Genau wie 404-Fehler sind aber auch 5XX-Fehler in einem gewissen Umfang ganz normal. Sollten sich Serverfehler jedoch häufen, zum Bespiel weil der Web-Server dem Traffic nicht mehr gewachsen ist, sollten zum Schutz vor Abstrafungen durch die Suchmaschinen Gegenmaßnahmen ergriffen werden (zum Beispiel ein leistungsstärkerer Server).
HTTP-Statuscodes abrufen
In der Regel zeigt der Browser den HTTP-Statuscode nicht an. Im Rahmen der OnPage-Optimierung gehört es für Webmaster allerdings zum Pflichtprogramm regelmäßig zu überprüfen, ob die bereitgestellten Inhalte von Mensch und Maschine fehlerfrei abgerufen werden können.
Eine Möglichkeit sich die HTTP-Statuscodes anzeigen zu lassen, ist eine Browser-Erweiterung wie „Live HTTP Headers“, die für Chrome und Firefox angeboten wird. Wer nach „Statuscode Checker“ oder ähnlichem sucht, findet jede Menge Online-Dienste, mit denen die HTTP-Statuscodes für bestimmte Seiten schnell und kostenlos abgerufen werden können. Wer die HTTP-Statuscodes seiner Webseiten dauerhaft und flächendeckend überwachen möchte, der greift am besten zu einem SEO-Tool wie zum Beispiel Screaming Frog.
Fazit: HTTP-Statuscodes im Auge behalten
Googles oberstes Ziel ist es, seine Suchmaschinennutzer zufrieden zu stellen. Das geht nur, wenn relevante Suchergebnisse angezeigt werden, die auch tatsächlich verfügbar sind. Deshalb haben einige HTTP-Statuscodes durchaus Einfluss auf das Ranking und sollten vom Webmaster im Auge behalten werden.
Mit der richtigen Weiterleitung können Traffic-Verluste verhindert und kann der Link Juice alter Seiten vererbt werden. Auch wenn Weiterleitungen technisch kein Hexenwerk sind, so muss hier doch zumindest besonders gründlich gearbeitet werden. Denn Tippfehler oder Weiterleitungsketten können negative Auswirkungen auf die Position in den Suchergebnissen haben.
Der typische 404-Fehler ist in einem gewissen Umfang normal, vor allem je größer die Webseite ist. Dennoch sollte alles darangesetzt werden, unnötige Fehler zu vermeiden. 404-Fehler müssen dafür mit geeigneten Tools überwacht und analysiert werden. Eine individuelle Fehlerseite hilft dabei einen Teil der Besucher dennoch auf der Webseite zu halten.