Location dabei.
Jede Antwort eines Webservers beginnt mit einer dreistelligen Zahl. Diese Zahl sagt dir, ob eine Seite ausgeliefert wurde, weitergeleitet wird oder gar nicht existiert. Für alles, was mit Weiterleitungen, Relaunches oder Indexierung zu tun hat, ist der Statuscode die erste Information, die du brauchst.
Mit dem Tool oben prüfst du bis zu zehn Adressen auf einmal. Weiter unten zeige ich dir, wie du denselben Wert im Browser, per Kommandozeile und im Server-Log findest.
Was der Statuscode überhaupt aussagt
Der Statuscode gehört zum HTTP-Header, also zu dem Teil der Antwort, den du im Browserfenster nie zu sehen bekommst. Der Server schickt ihn vor dem eigentlichen Seiteninhalt. Erst danach folgt das HTML.
Wichtig dabei: Was du auf dem Bildschirm siehst, muss nicht zum Statuscode passen. Eine hübsch gestaltete Fehlerseite mit der Aufschrift "Seite nicht gefunden" kann technisch mit Code 200 ausgeliefert werden. Für Besucher sieht das identisch aus, für Suchmaschinen ist es ein gewaltiger Unterschied: Google hält diese Seite dann für vollwertigen Inhalt und nimmt sie in den Index auf. Solche Fälle nennt man Soft 404, und sie fallen ohne Statuscode-Prüfung schlicht nicht auf.
Die fünf Gruppen
Die erste Ziffer verrät bereits, worum es geht:
- 1xx - Zwischeninformationen. Begegnen dir im Alltag praktisch nie.
- 2xx - Erfolg. Die Anfrage hat geklappt, der Inhalt kommt.
- 3xx - Umleitung. Der Inhalt liegt woanders.
- 4xx - Fehler auf Seiten des Aufrufers. Adresse falsch, Zugriff verweigert, Seite gelöscht.
- 5xx - Fehler auf Seiten des Servers. Das Skript stürzt ab, die Datenbank antwortet nicht, der Dienst ist überlastet.
Für die tägliche Arbeit reichen eine Handvoll Codes aus:
200 OK
Der Normalfall. Die Seite existiert und wurde ausgeliefert. Wenn du eine Liste prüfst und überall 200 steht, ist alles in Ordnung.
301 Moved Permanently
Die dauerhafte Weiterleitung. Suchmaschinen übertragen die Signale der alten Adresse auf die neue und ersetzen die URL im Index. Das ist der Code, den du nach einem Domainumzug oder einer Umstrukturierung brauchst.
302 Found und 307 Temporary Redirect
Temporäre Weiterleitungen. Die alte Adresse bleibt im Index, weil der Server signalisiert, dass sie später wieder gilt. Wer versehentlich 302 statt 301 setzt, wundert sich hinterher, warum die alte URL nicht verschwindet. Das ist einer der häufigsten Fehler überhaupt, oft weil ein Plugin oder Framework 302 als Voreinstellung verwendet.
404 Not Found
Die Adresse existiert nicht. Für Besucher ärgerlich, technisch aber sauber. Ein 404 ist keine Katastrophe, solange keine wertvollen Links darauf zeigen.
410 Gone
Die deutlichere Variante von 404: Der Inhalt existierte, wurde aber bewusst entfernt und kommt nicht zurück. Suchmaschinen nehmen solche Seiten in der Regel schneller aus dem Index als bei 404.
500 und 503
Bei 500 ist etwas im Server oder im Skript kaputt. 503 bedeutet, dass der Dienst vorübergehend nicht verfügbar ist, etwa bei Wartungsarbeiten. Für geplante Wartungen ist 503 die richtige Wahl, weil Suchmaschinen dann später wiederkommen, statt die Seite als defekt einzustufen.
Statuscode im Browser ablesen
Jeder aktuelle Browser bringt die nötigen Werkzeuge mit, du brauchst keine Erweiterung. Öffne mit F12 die Entwicklerwerkzeuge und wechsle auf den Reiter "Netzwerkanalyse" beziehungsweise "Network". Lade die Seite neu, und in der Liste steht zu jeder Anfrage der Statuscode.
Zwei Kleinigkeiten machen den Unterschied:
- Aktiviere "Cache deaktivieren", sonst siehst du eventuell nur ein 304 aus dem Zwischenspeicher statt der echten Antwort.
- Klicke die erste Zeile an, also das Dokument selbst. Die vielen Einträge darunter sind Bilder, Skripte und Stylesheets. Interessant ist die Antwort für die Seite.
Bei Weiterleitungen zeigt die Liste jeden Schritt einzeln. So erkennst du auch Ketten, bei denen drei oder vier Umleitungen hintereinander laufen.
Per Kommandozeile prüfen
Auf der Kommandozeile geht es schneller, und es lässt sich automatisieren. Unter Linux, macOS und im aktuellen Windows steht curl bereit:
curl -I https://example.de
Der Schalter -I fordert nur den Header an, nicht den Seiteninhalt. Die Antwort beginnt mit der Statuszeile, gefolgt von den Headern.
Wenn du wissen willst, wohin eine Weiterleitung am Ende führt, hängst du -L an. Dann folgt curl der Kette und zeigt jeden Schritt:
curl -IL https://example.de
Für eine reine Zahl ohne Drumherum, etwa in einem Skript:
curl -o /dev/null -s -w "%{http_code}\n" https://example.de
In der PowerShell erledigt das folgender Aufruf:
(Invoke-WebRequest -Uri "https://example.de" -Method Head -MaximumRedirection 0).StatusCode
Warum manche Server anders antworten
Es kommt vor, dass ein Werkzeug einen anderen Code meldet als der Browser. Dafür gibt es drei häufige Gründe.
Manche Server behandeln die Methode HEAD anders als GET. Ein curl -I löst eine HEAD-Anfrage aus, dein Browser dagegen eine GET-Anfrage. Schlecht konfigurierte Server antworten auf HEAD mit 405 Method Not Allowed, obwohl die Seite normal erreichbar ist.
Dann spielt der User-Agent eine Rolle. Einige Systeme liefern Bots und unbekannten Programmen bewusst andere Antworten aus, etwa 403 Forbidden. Wer eine Firewall wie Cloudflare davorgeschaltet hat, kennt das.
Und schließlich unterscheiden sich Antworten je nachdem, ob du mit oder ohne www, mit http oder https anfragst. Genau deshalb lohnt es, alle vier Varianten einer Domain zu prüfen. Sie sollten in genau einer Weiterleitungskette zusammenlaufen und nicht im Kreis.
Statuscodes im Server-Log
Wer Zugriff auf den Server hat, findet im Zugriffsprotokoll die Codes aller echten Aufrufe. Bei Apache steht in jeder Zeile hinter der angeforderten Adresse die Zahl. So bekommst du eine Übersicht, welche Codes wie oft aufgetreten sind:
awk '{print $9}' access.log | sort | uniq -c | sort -rn
Und so listest du auf, welche Adressen 404 erzeugt haben:
awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -rn | head -20
Das ist oft aufschlussreicher als jede Crawler-Auswertung, weil hier steht, was Besucher und Suchmaschinen tatsächlich angefragt haben.
Wann welches Werkzeug
Für eine einzelne Adresse mit Weiterleitungskette nimmst du den Redirect-Checker, der jeden Hop einzeln auflistet und Endlosschleifen erkennt. Das Tool auf dieser Seite ist für den anderen Fall gedacht: viele Adressen auf einmal, je ein Status. Nach einem Relaunch prüfst du damit in einem Durchgang, ob die wichtigsten alten URLs sauber weiterleiten.
Für laufende Überwachung großer Seiten führt langfristig kein Weg an einem Crawler vorbei. Für den schnellen Blick zwischendurch sind Browser, curl und ein Bulk-Check aber völlig ausreichend.