Love your 404


Ein 404-Fehler signalisiert, dass die gesuchte URL nicht gefunden wurde. Eigentlich ist das nicht gut, bedeutet es doch, dass jemand auf einen veralteten Link geklickt hat oder eine URL manuell eingegeben hat, die es nicht gibt. Man kann 404's jedoch auch positiv nutzen.

Ich verwende schon länger aussagekräftige URLs, die nicht aussehen wie “/index.php?p=49”. Bei mir heisst die URL zum Beispiel “/beratung/portale-und-cms” und zeigt somit sofort an, was sich wohl hinter dieser Seite verbergen könnte: Beratung zu Portalen und CMS.

Suchmaschinen wie Google stehen übrigens total auf solche URLs.

Nun hat sich im Laufe der Zeit mein URL-Aufbau ein paar Mal verändert. Ich versuche, die wichtigsten URLs durch gezielte Weiterleitungen am Leben zu halten (HTTP status code 301, permanent redirect nicht vergessen!), manche Inhalte verschwinden aber auch, weil ich sie nicht länger im Bestand halte.

Hier kommen die guten URLs ins Spiel: Aus einer Anfrage nach der URL “/technologie/sap-faq.html” kann man natürlich leicht die Worte extrahieren:

terms = request.request_uri.scan(/([a-z]+)/i) unless request.nil?

Das Ergebnis ist ["technologie", "sap", "faq", "html"].

Nach Dateiendungen möchte ich nicht suchen, die fliegen raus:

terms.reject! { |m| m =~ /html?|png|jpg|gif|js|pdf|doc|rtf|txt/i }

Den verbleibenden Rest ["technologie", "sap", "faq"] lasse ich durch die Volltextsuche meiner Website laufen und präsentiere dem Besucher eine personalisierte 404-Seite, die auch gleich die 3 besten Treffer für die verwendeten Begriffe auflistet. Dabei werden Treffer im Titel der Seite besonders hoch gewertet, Treffer in den Keywords oder Tags der Seite höher als Treffer im Text.


blog comments powered by Disqus