Schon die erste Ziffer teilt das Problem: 4xx heißt, die Anfrage war falsch; 5xx heißt, der Server hat eine vernünftige Anfrage nicht beantworten können. Allein das sagt Ihnen, auf welche Seite Sie schauen müssen.
Die 4xx, denen Sie begegnen
- 400 — fehlerhafte Anfrage. Meist ein zu großer Header oder ein zu großes Cookie, nicht Ihr Code.
- 401 — nicht angemeldet. Melden Sie sich an.
- 403 — angemeldet und trotzdem nicht erlaubt, oder der Server kann die Datei nicht lesen.
- 404 — nicht gefunden. Wenn es sie geben sollte, ist die Rewrite-Regel der Verdächtige, nicht die Datei.
- 413 — der Upload ist größer, als der Server annimmt.
- 429 — Ratenbegrenzung. Etwas fragt zu häufig, manchmal Ihr eigener Cronjob.
Die 5xx
- 500 — Ihre Anwendung hat einen Fehler geworfen. Die Meldung steht im Protokoll, nicht auf der Seite.
- 502 — was hinter dem Webserver sitzt, hat eine unbrauchbare Antwort geliefert, fast immer PHP.
- 503 — absichtlich nicht verfügbar, oder die Kapazität ist erschöpft.
- 504 — was dahintersteckt, arbeitete noch, als der Webserver das Warten aufgab.
Lesen Sie den echten Code, nicht die Seite
curl -sI https://yourdomain.com/some/page | head -1
Eine hübsche Fehlerseite, die mit 200 ausgeliefert wird, ist schlimmer als der Fehler: Suchmaschinen indexieren sie als echte Seite, und eine Überwachung, die auf 200 prüft, schlägt nie an. Eine Fehlerseite muss ihren eigenen Code zurückgeben.
Die zwei, auf die es bei der Suche ankommt
Eine umgezogene Seite gibt 301 zurück und reicht ihr Ansehen an die neue Adresse weiter. Eine verschwundene Seite gibt 410 oder 404 zurück. Stattdessen jede entfernte Seite auf die Startseite umzuleiten wird als Soft-404 gelesen und hilft niemandem.
Ein 200 mit leerem Inhalt ist ein eigener Fehler — meist stirbt PHP, ohne einen Fehler zu schreiben. Sehen Sie ins Protokoll statt auf die Seite.