HTTP-Statuscode
Was ist ein HTTP-Statuscode?
Ein HTTP-Statuscode ist ein dreistelliger Code, mit dem ein Webserver auf jede Anfrage eines Browsers oder Crawlers antwortet. Der HTTP-Statuscode signalisiert, ob die Anfrage erfolgreich war, umgeleitet wurde oder fehlschlug. Die erste Ziffer ordnet jeden Code einer von fünf Klassen zu (1xx bis 5xx). Für SEO zählen vor allem die Codes 200, 301, 302, 304, 404, 410 und 503, weil sie steuern, wie Google Seiten crawlt und indexiert.

Jeder Aufruf einer Webseite löst im Hintergrund eine Anfrage an einen Server aus. Der Server antwortet mit einem HTTP-Statuscode, noch bevor die eigentlichen Inhalte übertragen werden. Für Besucher bleibt dieser Code meist unsichtbar. Für Suchmaschinen ist er das zentrale Signal, ob eine Seite abrufbar ist und in den Index gehört. Die Codes sind im Standard für Crawler und Browser einheitlich in RFC 9110 festgelegt.
Kurzprofil des Begriffs
| Merkmal | Angabe |
|---|---|
| Wortart | Substantiv (Maskulinum: der HTTP-Statuscode), auch HTTP-Statuscode oder kurz Statuscode |
| Abkürzung | HTTP = Hypertext Transfer Protocol |
| Aussprache | „ha-te-te-pe-Statuscode“ |
| Standard | RFC 9110 (HTTP Semantics), zuvor RFC 7231 / RFC 2616 |
| Aufbau | dreistellige Zahl (100–599) plus optionaler Reason Phrase, z. B. „200 OK“ |
| Verwandte Begriffe | Redirect, 301 Weiterleitung, Canonical, Crawling, Indexierung |
Wie ist ein HTTP-Statuscode aufgebaut?
Ein HTTP-Statuscode besteht aus einer dreistelligen Zahl und einem kurzen Klartext, dem sogenannten Reason Phrase. Die Zahl liegt zwischen 100 und 599, die erste Ziffer legt die Klasse fest. Der Statuscode steht in der ersten Zeile der Server-Antwort, der Statuszeile, noch vor allen Kopfzeilen und dem eigentlichen Inhalt.
Eine typische erfolgreiche Server-Antwort sieht im Rohformat so aus:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 3271
Cache-Control: max-age=3600
Bei einer Weiterleitung nennt der Server zusätzlich das Ziel im Location-Header:
HTTP/1.1 301 Moved Permanently
Location: https://beispiel.de/neue-seite/
Der Reason Phrase (OK, Not Found, Moved Permanently) dient nur der Lesbarkeit für Menschen. Suchmaschinen und Browser werten allein die dreistellige Zahl aus. Ein falscher Text bei korrekter Zahl ändert also nichts, eine falsche Zahl dagegen alles.
Welche Statuscode-Klassen gibt es?
Es gibt 5 Klassen von HTTP-Statuscodes, geordnet nach der ersten Ziffer. Jede Klasse steht für eine Art von Antwort: Information, Erfolg, Umleitung, Client-Fehler oder Server-Fehler.
| Klasse | Bedeutung | Typische Codes |
|---|---|---|
| 1xx | Informationell – die Anfrage läuft, der Server hält den Vorgang offen | 100 Continue, 101 Switching Protocols |
| 2xx | Erfolg – die Anfrage wurde verstanden und beantwortet | 200 OK, 201 Created, 204 No Content |
| 3xx | Umleitung – die Ressource liegt woanders, der Client soll weitergeleitet werden | 301, 302, 304, 307, 308 |
| 4xx | Client-Fehler – die Anfrage ist fehlerhaft oder die Ressource fehlt | 400, 401, 403, 404, 410, 429 |
| 5xx | Server-Fehler – der Server kann eine gültige Anfrage nicht beantworten | 500, 502, 503, 504 |
Die erste Ziffer genügt für die grobe Einordnung: Alles im 2xx-Bereich ist gut, 3xx bedeutet Umleitung, 4xx und 5xx sind Fehler. Die zweite und dritte Ziffer verfeinern die Aussage innerhalb der Klasse.
Welche HTTP-Statuscodes sind für SEO wichtig?
Für SEO sind 7 Statuscodes besonders relevant, weil sie direkt steuern, wie Google eine Seite crawlt, wertet und indexiert. Ein falscher Code kann eine ganze Seite aus dem Index werfen oder Linkkraft verschenken.
| Code | Bedeutung | SEO-Relevanz |
|---|---|---|
| 200 | OK – Seite erfolgreich ausgeliefert | Pflicht für jede indexierbare Seite. Nur 200-Seiten gehören in den Index. |
| 301 | Moved Permanently – dauerhafte Weiterleitung | Vererbt Linkkraft ans Ziel. Erste Wahl bei URL-Wechseln und Domain-Umzügen. |
| 302 | Found – temporäre Weiterleitung | Nur für kurzfristige Umleitungen. Behält den Original-URL im Index. |
| 304 | Not Modified – Inhalt unverändert | Spart Crawl-Ressourcen, weil Google die zwischengespeicherte Version nutzt. |
| 404 | Not Found – Seite existiert nicht | Normal für gelöschte Seiten. Google entfernt 404-URLs nach und nach aus dem Index. |
| 410 | Gone – Seite dauerhaft entfernt | Deutlicheres Signal als 404. Google deindexiert 410-URLs schneller. |
| 503 | Service Unavailable – vorübergehend nicht erreichbar | Richtiges Signal bei Wartung. Google versucht es später erneut, ohne zu deindexieren. |
Der Statuscode 200 ist der Normalfall. Jede Seite, die ranken soll, muss beim Abruf 200 zurückgeben. Liefert eine wichtige URL versehentlich 404 oder 500, verschwindet sie aus den Suchergebnissen.
Bei Umzügen entscheidet der Unterschied zwischen 301 und 302 über die Linkkraft. Eine 301 Weiterleitung ist dauerhaft und überträgt die Ranking-Signale der alten auf die neue URL. Eine 302 signalisiert „nur vorübergehend“ und lässt die alte URL im Index. Wer eine URL dauerhaft ersetzt, aber eine 302 setzt, verschenkt aufgebaute Sichtbarkeit.
Für gelöschte Inhalte sind 404 und 410 gleichermaßen legitim. 410 (Gone) ist das entschiedenere Signal und führt in der Praxis oft zu schnellerer Deindexierung. Wichtig: Eine gelöschte Seite darf nicht heimlich 200 liefern (ein sogenannter Soft 404), sonst hält Google sie fälschlich für gültig.
Bei geplanter Wartung ist 503 Pflicht. Der Code sagt Google „komm später wieder“ und verhindert, dass eine kurzzeitig offline genommene Seite deindexiert wird. Wer eine Seite nicht per Statuscode, sondern über die robots.txt oder den X-Robots-Tag aus dem Index halten will, arbeitet auf einer anderen Ebene: Der Statuscode steuert die Erreichbarkeit, robots.txt und X-Robots-Tag steuern Crawling und Indexierung.
Wie prüft man HTTP-Statuscodes?
HTTP-Statuscodes lassen sich mit wenigen Werkzeugen direkt auslesen. Für einzelne URLs genügt der Browser, für ganze Websites braucht es einen Crawler.
- Browser-Entwicklertools: Der Reiter „Netzwerk“ (Network) zeigt für jede geladene Ressource den Statuscode. Schnellster Weg für eine einzelne Seite.
- Kommandozeile mit curl: Ein Befehl liest die Kopfzeilen samt Statuscode aus, ideal um Weiterleitungsketten zu verfolgen.
- Crawler wie Screaming Frog: Prüft tausende URLs auf einmal und listet alle 3xx-, 4xx- und 5xx-Codes einer Website.
- Google Search Console: Der Bericht „Seiten“ zeigt, welche URLs Google mit welchem Status gecrawlt hat und warum sie nicht indexiert sind.
Auf der Kommandozeile liest dieser curl-Befehl nur die Kopfzeilen und folgt dabei jeder Weiterleitung:
curl -sIL https://beispiel.de/alte-seite/ | grep -i "^HTTP"
Die Ausgabe zeigt jede Station einer Kette, etwa HTTP/1.1 301 gefolgt von HTTP/1.1 200. So werden lange Redirect-Ketten und versehentliche Schleifen sofort sichtbar. Eine systematische Prüfung aller Statuscodes gehört zu jedem technischen SEO-Audit, weil falsche Codes zu den häufigsten und zugleich am leichtesten behebbaren Crawling-Problemen zählen.
Häufige Fragen zu HTTP-Statuscodes
Was bedeutet der Statuscode 200?
200 OK bedeutet, dass die Anfrage erfolgreich war und der Server die Seite normal ausliefert. Jede Seite, die in den Google-Index soll, muss beim Abruf den Code 200 zurückgeben.
Ist ein 404-Fehler schlecht für SEO?
Nein, ein 404 für tatsächlich gelöschte Seiten ist normal und richtig. Problematisch wird es nur, wenn wichtige oder verlinkte URLs unbeabsichtigt 404 liefern, dann geht Sichtbarkeit verloren.
Was ist der Unterschied zwischen 301 und 302?
301 ist eine dauerhafte Weiterleitung und überträgt die Linkkraft auf die Zielseite. 302 ist temporär und behält die ursprüngliche URL im Index. Für dauerhafte Umzüge ist 301 die richtige Wahl.
Welcher Statuscode gilt bei Wartungsarbeiten?
503 Service Unavailable ist der korrekte Code für geplante Wartung. Er sagt Google, dass die Seite nur vorübergehend nicht erreichbar ist, und verhindert eine Deindexierung.
