Gedanken über 404-Bestrafungen

Wir alle bestrafen die Besucher unserer Webseiten. Jeden Tag.

Wir bestrafen die armen, möglicherweise verzweifelten User, die eine nicht (mehr) vorhandene Seite aufrufen wollen; jagen ihnen Schuldgefühle ein.

Glaubst du nicht? Pass‘ mal auf…
Schauen wir uns mal beliebte Ursachen an, warum ein Benutzer auf einer Seite landet, die der Server nicht kennt. Die Reihenfolge ist dabei beliebig.

  • Du hast unvermittelt deine Link- oder Seiten-Struktur verändert, wodurch ältere Fremd-Links zu deiner Seite nicht mehr gehen.
  • Du hast innerhalb deiner Seite einen falschen Link gesetzt (sei es manuell, durch einen Fehler im CMS oder warum auch immer).
  • Merkwürdige Zeichen, Leerstellen oder Zeilenumbrüche zerstören die URL, wenn der Besucher sie per Mail oder IM teilt.
  • Tippfehler in der wirklichen, von dir gesetzten, URL führen zu Verwechslung, wenn dein Besucher sie mündlich teilt.
  • Der Besucher hat sich vertippt.
  • Der Besucher hat geraten.
  • Ein wirrer anderer Serverfehler (z.B. 500-Internal Server Error) meldet sich als fehlende Seite (404).

Ich glaube, dass diese beispielhafte (und selbstverständlich unvollständige) Auflistung zeigt, dass kaum ein Benutzer absichtlich auf einer fehlenden Seite landet. Im Gegenteil – viele der Ursachen sind sogar unmittelbar dem Webseitenbetreiber zuzuschreiben. Im Rahmen dieses Artikels und um der Lesbarkeit Willen also: dir.

Warum also verunsichern wir unsere weniger erfahrenen User, und werfen Ihnen so etwas entgegen:

„Seite nicht gefunden“-Fehlermeldung einer Typo3-Standardinstallation mit der beliebten RealURL-Extension
„Seite nicht gefunden“-Fehlermeldung einer Zend-Standardinstallation
„Seite nicht gefunden“-Fehlermeldung einer Apache HTTP Server Standardinstallation

All diese drei Beispiele tauchen leider – in abgewandelter Form – für meinen Geschmack noch zu häufig auf. Während die Apache-Meldung noch recht klar (aber unfreundlich) sagt, was Sache ist, wirken die beiden ersten Seiten ein wenig so, als wollten sie den Besucher mit Schuldgefühlen überhäufen: „Ungültiger Controller“, „kein erwartetes Schlüsselwort für postVarSet“ – Wer versucht da wen zu beeindrucken?

Dem Standarduser hilft das zumindest nicht.

Die Mutter eines alten Freundes, eine weniger erfahrene Surferin, schloss im verganenen Jahr bei einer Typo3-Fehlermeldung hektisch den Browser, in der Hoffnung, das Internet nicht zerstört zu haben, und rief ihren Sohn in Köln an um sich ein bisschen beruhigen zu lassen. Und das auf einer Seite, die genau auf 50-60 Jährige Mütter, also traditionell eher unerfahrenere Surfer, ausgerichtet ist.

Denke dran – der Benutzer ist freiwillig da, und bleibt sicherlich auch gerne freiwillig weg.

Tipp 1: Suche anbieten

Was wäre, wenn der Webseitenbetreiber diesen Fall vorhergesehen hätte? Man hätte die gute Frau genau dort abholen können, wo sie ist – nämlich auf der Suche nach Inhalten!

Daher ist es eigentlich eine Unverschämtheit, auf einer 404-Fehlerseite keine Suche anzubieten. Mit einfachen Mitteln könnte man gar einen Schritt weiter gehen und die URL der Seite, die zum Fehler geführt hat, aufzuschlüsseln und als Suchwörter vorschlagen – Und die ersten zwei, drei Suchergebnisse direkt anzeigen! Wer das nicht selber kann, sollte zumindest Google Site Search oder andere Suchdienste dafür anstrengen.

Wenn wir schon dabei sind – auch die Hauptnavigation der Seite darf natürlich nicht fehlen! Lass den User wissen, dass er zumindest tendenziell noch auf den richtigen Seiten unterwegs ist!

Tipp 2: Entschuldigen, Beruhigen

MTV entschuldigt sich Humorvoll bei seinen Benutzern und bietet außerdem die einfachste Variante der Suche an.

Eine Fehlerseite ist immer eine gute Gelegenheit, sich zu entschuldigen. Denn, wie ich eingangs schrieb, bist wahrscheinlich Du der „Schuldige“ für den Fehler. Gib das ruhig pauschal zu – verlieren kannst du in der Situation eh‘ nix mehr.

Das zeigt den weniger erfahrenen Benutzern, dass sie nichts wirklich gravierendes falsch gemacht haben (denn dann gäbe es eh‘ einen 500er!) und hilft, ihre Wut und/oder Ärger und/oder Verzweiflung zu beruhigen.

In dieser Situation kann – je nach Zielgruppe – auch ein bisschen Humor angebracht sein.

Tipp 3: Fehler vermeiden

Da der Fehler ja erwiesenermaßen Deine Schuld ist ;-), willst du vermutlich auch, dass er nicht nochmal auftritt.

Daher sind ein paar Dinge wichtig:

404 ist 404 ist 404 (und nicht 200)

HTTP-Statuscodes sind eine tolle Erfindung. Sie teilen dem Client mit, wie die Anfrage ausgegangen ist – in unserem Fall also eher erfolglos. Daher sollte der Server auch mit dem entsprechenden Fehlercode im Header antworten (404).

Leider antworten noch immer viele Seiten mit einem 200-OK oder 302-Found Header, auch wenn die Seite nicht gefunden wurde. Den Hinweis, dass die Seite fehlt, gibt’s dann nur im Inhalt zu sehen.

Ungünstig ist das, weil die Crawler von Google und co., aber auch praktische Link-Checker-Tools wie Xenu, für das Erkennen fehlender Seiten einen 404- oder ähnlichen Header benutzen. Kommt der nicht, glauben die Programme, alles sei in Ordnung, und eigentlich tote Links bleiben fröhlich unerkannt. Daher muss eine „Seite nicht gefunden“-Seite immer mit einem 404-Statuscode ausgeliefert werden.

Permalinks kommt von Perma (und das von ~nent)

Jeder, der weiß, dass eine Adresszeile existiert, mit der man Dinge ohne den bunten Suchriesen aufrufen kann, wird zum Speichern oder Verbreiten deiner Inhalte den direkten Link verwenden, ihn irgendwo speichern, vielleicht in seinem eigenen Blog veröffentlichen.

Schade doch, wenn der Link eines Tages nicht mehr funktioniert – nicht weil du die Inhalte gelöscht hättest, sondern weil die URL-Struktur verändert hast. Und 3-2-1: 404!

Dabei gibt es doch in den meisten Fällen Möglichkeiten, über Rewrite-Rules und geschickte Konfiguration die alten Links selbst nach einem kompletten Relaunch gültig zu halten. Und wenn das Beibehalten des alten Link-Aufbaus nicht gewünscht ist, helfen schlau gesetzte Redirects (301-Moved Permanently Header benutzen!) dabei, die neue Struktur zu kommunizieren.

Keep it simple, stupid!

Das oft zitierte KISS-Prinzip erhält auch hier mal wieder volle Gültigkeit. Komplizierte Links, wie beispielsweise Spiegel-Online sie verwendet, kann sich keiner merken. Auch in der mündlichen Weitergabe (per Telefon, quer über den Schreibtisch…) machen sie sich nicht wirklich gut. Das führt zu irrtümern, vertippern, verhörern, und so weiter.

Das Ziel sind also Links, die einfach, sprechend und kurz sind. Zudem hast Du und jeder deiner Redakteure darauf zu achten, dass sich keine Rechtschreibfehler in die URLs einschleichen – denn die kriegt mündlich garantiert keiner übermittelt! Drittens wär’s richtig schön, wenn auch die Pfadsegmente hinter dem ersten Schrägstrich tolerant gegen Groß/Kleinschreibfehler wären.

Mitlesen

Wer immer brav seine Serverlogs auswertet, weiß was falsch läuft. Ob die Logs kumuliert oder detailliert angesehen werden, hängt sicherlich von der Größe des Auftritts an. Doch wenn ein Blogger aus der Eifel (darf ich nicht schreiben) auch nach Wochen nicht wahrnimmt, dass er einen falschen Link zu einem deiner Auftritte gesetzt hat, erfährst du das anhand der zahlreichen Einträge im Apache-Fehlerlog – und kannst anhand des Referrers auch den Übeltäter ausmachen.

Auch ein Kontaktformular direkt auf der Fehlerseite kann den User bringen, dir zu sagen, was genau passiert ist.

Fazit

Du bist Schuld. Also fix‘ das!

Weiterlesen

Chris Coyier (CSS-Tricks.com) über die Gestaltung von 404-Seiten


Leave a Reply

Your email address will not be published.