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