Zum Hauptinhalt springen

Anleitungen / HTTP-Statuscodes erklärt

404 Not Found: defekte Links, Soft-404s und wann 410

Ein 404 Not Found bedeutet, der Server hat keine aktuelle Repräsentation für diese URL, und er sagt nichts darüber, ob die Ressource je existiert hat oder zurückkommen wird. Diese Mehrdeutigkeit ist der Punkt: Ein 404 kann ein defekter Link sein, den Sie beheben sollten, eine Seite, die Sie absichtlich entfernt haben, oder eine Seite, die einwandfrei funktioniert und nur so tut, als fehle sie.

Was ein 404 Ihnen sagt und was nicht

Nach RFC 9110 bedeutet ein 404, dass der Ursprungsserver keine aktuelle Repräsentation für die Zielressource gefunden hat, oder nicht bereit ist offenzulegen, dass eine existiert. Aus diesem Wortlaut folgen zwei Details.

Erstens ist ein 404 absichtlich unverbindlich, was Dauerhaftigkeit angeht. Er verspricht nicht, dass die URL tot bleibt, weshalb Crawler 404-URLs lange Zeit weiter versuchen. Zweitens ist 404 nach RFC 9111 standardmäßig cachefähig, ein Caching-Proxy oder CDN kann den Fehler also speichern und ihn weiter ausliefern, nachdem Sie das zugrunde liegende Problem behoben haben. Leeren Sie den Cache immer nach einer 404-Behebung und testen Sie erneut.

Ein 404 ist auch eine normale, gesunde Antwort. Jede Website gibt manche zurück. Die, die Ihre Zeit wert sind, sind auf URLs, die funktionieren sollten, oder auf URLs, die Menschen zu erreichen versuchen.

Diese beiden Fälle sehen im Statuscode identisch aus und brauchen entgegengesetzte Reaktionen.

Ein defekter Link bedeutet, der Inhalt existiert, aber die URL ist falsch. Die üblichen Ursachen sind ein Tippfehler in einem internen Link, ein nach der Veröffentlichung bearbeiteter Slug, eine Groß-/Kleinschreibungs-Diskrepanz, ein Unterschied beim abschließenden Schrägstrich, eine Website-Migration, die das URL-Schema geändert hat, oder ein Deploy, das aufgehört hat, eine Datei auszuliefern. Die Lösung ist, die URL wiederherzustellen oder sie weiterzuleiten.

Eine echte Entfernung bedeutet, der Inhalt ist weg und kommt nicht zurück: ein abgelaufenes Stellenangebot, ein eingestelltes Produkt, eine gelöschte Kontoseite. Hier ist ein 404 ehrlich, aber faul, denn er lässt Crawler weiter versuchen und Besucher mit nichts zurück.

Praktischer Weg, sie zu unterscheiden: Existiert eine gleichwertige Seite irgendwo auf der Website heute noch? Wenn ja, leiten Sie weiter. Wenn nein, entscheiden Sie zwischen 404 und 410.

410 Gone, die ehrliche Alternative

410 sagt, die Ressource war verfügbar und wurde absichtlich entfernt, und der Zustand wird als dauerhaft erwartet. Wo 404 "nicht gefunden" bedeutet, bedeutet 410 "absichtlich gelöscht, hör auf zu fragen".

Nutzen Sie 410, wenn Sie Inhalt absichtlich einstellen und keinen Ersatz haben. Es ist das richtige Signal für abgelaufene Angebote, ausgelaufene Produktseiten und aus rechtlichen oder redaktionellen Gründen entfernten Inhalt. Suchmaschinen behandeln 410 im Allgemeinen als stärkeres, schnelleres Entfernungssignal als 404, auch wenn beide die URL letztlich fallen lassen. Wie 404 ist auch 410 standardmäßig cachefähig.

Nutzen Sie 410 nicht für etwas, das Sie eventuell wiederherstellen, und nutzen Sie es nicht als pauschale Behandlung für unbekannte URLs. Existiert eine passende Ersatzseite, ist eine Weiterleitung besser als beide Codes, und die Wahl der Weiterleitung ist wichtig: siehe 301 vs 302, um die richtige zu wählen.

Soft-404s und warum Monitore sie übersehen

Ein Soft-404 ist eine Seite, die 200 OK zurückgibt, während ihr Inhalt sagt, die Ressource fehle. Das passiert, wenn eine Anwendung ihre eigene Nicht-gefunden-Bedingung abfängt und ein freundliches "Seite nicht gefunden"-Template rendert, ohne den Statuscode zu setzen, oder wenn eine Catch-all-Route für jede nicht passende URL die Startseite ausliefert.

Suchmaschinen und Uptime-Monitore lesen dieselbe Seite dann entgegengesetzt. Google untersucht den gerenderten Inhalt, erkennt das Fehlender-Inhalt-Muster und stuft es in der Search Console als Soft-404 ein, die URL wird also nicht indexiert, aber Crawl-Budget wird trotzdem dafür ausgegeben, und das Signal wird trüb. Ein Monitor, der Statuscodes vergleicht, sieht 200 und meldet die Seite als gesund, was erklärt, wie ein ganzer Bereich jedem Besucher "nicht gefunden"-Text ausliefern kann, während das Dashboard grün bleibt.

Die Lösung auf der Website ist, einen echten 404 mit der Fehlerseite zurückzugeben, was nichts kostet und beide Leser zufriedenstellt. Die Lösung im Monitoring ist, sowohl auf Inhalt als auch auf Status zu prüfen: Prüfen Sie, dass eine bekannte Phrase von der echten Seite vorhanden ist, sodass eine Seite, die 200 mit dem falschen Body zurückgibt, die Prüfung trotzdem nicht besteht.

So beheben Sie 404s in der richtigen Reihenfolge

  1. Bestätigen Sie den tatsächlichen Code, nicht die sichtbare Seite. Ein freundlicher Fehlerbildschirm beweist nichts:
    curl -sS -o /dev/null -w "%{http_code}\n" https://example.com/missing-page
    Gibt das 200 für eine Seite aus, die "nicht gefunden" liest, haben Sie einen Soft-404.
  2. Finden Sie heraus, welche URLs getroffen werden. Server-Zugriffsprotokolle und die Search Console listen beide 404-URLs mit Volumen. Beheben Sie nach Traffic, nicht alphabetisch.
  3. Beheben Sie zuerst interne Links. Ein 404, erreicht über Ihre eigene Navigation, liegt vollständig in Ihrer Kontrolle und ist die Behebung mit dem höchsten Wert.
  4. Leiten Sie weiter, wo ein echtes Äquivalent existiert. Bilden Sie die alte URL auf die nächstliegende aktuelle Seite ab, eine URL nach der anderen. Vermeiden Sie es, alles zur Startseite weiterzuleiten, was Suchmaschinen ebenfalls als Soft-404 behandeln.
  5. Geben Sie 410 für absichtliche Entfernungen zurück ohne Ersatz, damit Crawler aufhören, es erneut zu versuchen.
  6. Machen Sie die 404-Seite nützlich. Suche, Hauptnavigation und beliebte Links holen Besucher zurück, die eine bloße Fehlerseite verliert.
  7. Leeren Sie Caches und testen Sie erneut. Weil 404 cachefähig ist, bestätigen Sie die behobene URL von außerhalb Ihres Netzwerks, nicht nur vom Ursprung aus.

Code und Inhalt gemeinsam prüfen

Eine Slug-Bearbeitung, ein Plugin-Update oder eine Routing-Änderung bricht eine Menge URLs, während die Startseite weiter lädt, es alarmiert also nichts und niemand bemerkt es, bis Traffic oder Conversions sinken. Eine geplante HTTP-Prüfung auf Ihren wichtigen URLs vergleicht sowohl den Statuscode als auch den erwarteten Seiteninhalt, was einen echten 404 wie einen Soft-404 gleichermaßen erwischt. Für die breitere Familie der clientseitigen Codes, und um einen echten Client-Fehler von einer Server-Fehlkonfiguration zu unterscheiden, siehe den 4xx-Überblick.

Jetzt prüfen

Führen Sie die kostenlose Prüfung für Ihre eigene Website aus - ganz ohne Konto.

HTTP check

Dauerhaft überwachen

Werden Sie benachrichtigt, sobald etwas ausfällt: HostTracker prüft von über 300 Standorten aus und benachrichtigt Sie per E-Mail, SMS, Slack, Telegram und mehr.

HostTracker Funktionen

Mehr in diesem Bereich: HTTP-Statuscodes erklärt