Fehlerseiten richtig definieren

Wenn die schicke neue Website erstmal online gegangen ist, verliert man beim Relaunch gerne die Suchmaschinen aus den Augen. Diese schicken nach großen Änderungen auch mal gerne Besucher um Besucher ins Nirwana – solange bis die Spider die Datenbestände aktualisiert haben. Der Webserver kann nun wenig anderes tun, als dem Besucher eine Fehlermeldung zuzusenden, doch wie sieht die aus?

Der HTTP-Statuscode 404 »Not found« wird im einfachsten Fall mit einer recht hässlichen, in HTML gekleideten Textmeldung quittiert. Häufig anzutreffen – und besonders »uncool« – sind auch die Standard-Fehlerseiten der Massenhoster. Weder das eine noch das andere gibt dem Besucher die Möglichkeit, würdevoll auf die eigentliche Website zu gelangen, und so sucht er das Weite.
Dabei kann man dem Apache-Webserver mit einer einzigen Zeile in der Datei .htaccess auch weitaus besseres entlocken.

ErrorDocument 404 fehler-404.html

Mehr ist nicht nötig, sofern nicht magere Features des Hosting-Paketes die Einstellung verhindern (diese Schwäche sollte sich allerdings kein ordentlicher Hoster geben). Zu erwähnen ist noch, dass die Verweise innerhalb der Fehlerseite absolut angegeben werden sollten, weil die Seite anstelle der fehlenden Datei angezeigt wird (also evtl. auch in einem Unterverzeichnis).
Ein wenig Vorsicht ist indes geboten, wenn die Adresse der Fehlerseite als komplette URL angegeben wird:

ErrorDocument 404 http://www.domain.de/fehler-404.html

In diesem Fall muss der Webserver den geneigten Surfer umleiten, was mit dem HTTP-Status 302 geschieht. Leider bedeutet dies soviel wie »Moved Temporarily« bzw. »Seite gefunden! Aber woanders.«
Google & Co können dadurch nicht erkennen, ob die Seite nicht mehr vorhanden oder nur grade auf Urlaub ist. Die Folge: lange gelöschte Seiten geistern für Wochen und Monate durch die Suchmaschinen-Datenbanken.

Weitere lustige Fehlerseiten empfehlen sich für die Fehlercodes 403 (»verboten«), 401 (»nicht authorisiert«) und vor allem dem gerne genommenen Status 500 – dem »internen Serverfehler«.

Linkfutter: die Apache-Dokumentation

3 Reaktionen zu “Fehlerseiten richtig definieren”

  1. Henning

    Nachtrag: es gibt natürlich keinen Grund, in Optik und Esprit der Fehlerseiten weniger Arbeit zu investieren, als bei der übrigen Website!
    Beispiele für lustige Fehlerseiten finden sich z.B. hier:
    http://www.plinko.net/404/

  2. axel

    Wie meinst denn das mit 302? bei mir kommt ganz normal 404 zurück wenn ich das in der htacces definiere. unter
    http://www.seoking.eu/tools/header/
    kannst du prüfen welcher http Status Code dir im Header beim aufruf einer URL zurückgegeben wird.

  3. Henning

    Wenn du eine ErrorDocument-Angabe mit einer »richtigen« http:// … Adresse machst, kann der Server dir keinen 404 präsentieren, weil er dich im Grunde umleiten muss – du landest dann ja auch auf einer anderen URL, die genausogut auf einem anderen Server sein könnte. Es gibt halt keinen HTTP-Status für 404 + Umleitung gleichzeitig, deswegen geschieht die Umleitung in diesem Fall mit Status 302.

    Wenn du einfach nur nen Dateinamen ohne http-Tüdelü benutzt, gibt der Server die Fehlerseite unter der aufgerufenen Adresse aus und kann dir auch nen Status 404 schicken – und die doofen Robots wissen dann auch, woran sie sind.

    Zum geschmeidigen Header-Beobachten nehme ich übrigens die LiveHTTPheaders-Extension für Firefox & Co, die rockt das Haus 😉

Einen Kommentar schreiben