Scriptsprachen (ASP, PHP, JSP) und Suchmaschinen

Anders als bei Javascript wird bei dynamischen Seiten mit ASP, PHP, JavaServlets, JSP oder ServerSideIncludes (SSI) der Programmcode vom Webserver ausgeführt – der Client, egal ob Browser oder Suchmaschinen-Robot, erhält gewöhnlichen HTML-Code ohne Programmanweisungen zurückgeliefert.

Während manche Suchmaschinen in den Anfangstagen des Web – wir sprechen also von den neunziger Jahren – nur Seiten aufnahmen, die auf .htm oder .html endeten, ist die Endung heute bei allen wichtigen Suchmaschinen bedeutungslos. Nun gut, Sie sollten Ihren HTML-Seiten nicht unbedingt Endungen geben, die typischerweise für Bilder (.jpg, .gif oder .png) oder ausführbare Dateien (.exe) verwendet werden; aber an Dateinamen, die auf .php oder .aspx enden, stößt sich heute keine wichtige Suchmaschine mehr.

Schwieriger aber wird es, wenn man wirklich dynamische Seiten einsetzen will – Seiten also, die ihre Inhalte aus einer Datenbank extrahieren. Denn Suchmaschinen sind oftmals recht zurückhaltend, wenn es darum geht URLs mit einem Fragezeichen aufzunehmen.

Die Angst ist verständlich, man stelle sich nur folgendes Szenario vor: Der Robot einer Suchmaschine findet einen Link, der auf eine Suchmaschine verweist und dort eine Suche auslöst. (ein fiktives Beispiel: http://www.suchmaschine.com/search.cgi?search=computer) Würde der Robot diesem Link folgen, kommt er auf die erste Ergebnisseite der Suchmaschine und liest diese Datenbank-generierte Seite ein. Auf dieser Seite finden sich dann wiederum Links zu den nächsten zehn Ergebnisse, die er wiederum verfolgen würde. Auf diese Weise würde der Robot zigtausende Seiten der Datenbank auslesen, ein Vorgehen, das offensichtlich wenig Sinn ergibt.

PHP und Co. übergangen

Es gibt aber Websites, deren kompletter Inhalt in einer Datenbank abgelegt ist. Man denke nur an ein Online-Magazin, das alle Artikel in einer Datenbank speichert und keine statischen Seiten hat. Online-Shops und Blogs sind weitere Beispiele für Websites, die meistens aus einer Datenbank gespeist werden.

Der Königsweg, um solche Seiten problemlos in die Suchmaschinen zu bekommen, ist relativ einfach: Überlegen Sie sich ein statisches Adressformat, das keine Fragezeichen enthält, sondern die hinter dem Fragezeichen übergebenen Parameter im Dateinamen „versteckt“. Sollte also die Adresse Ihrer Website in etwa so lauten: /show.php?id=1234&cat=3, dann könnte ein mögliches statisches Adressformat diese Form haben: /artikel_1234_3.htm.

Noch haben Sie nichts gewonnen, denn es ist nur selten sinnvoll, für alle möglichen Werte von id und cat die entsprechenden Dateien tatsächlich auf dem Webserver abzulegen. Denn bei jeder Änderung an einem Artikel in der Datenbank müssten Sie dafür sorgen, dass die statischen Dateien ebenfalls aktualisiert werden. Wenn Sie aber das Modul mod_rewrite benutzen, nimmt Ihnen der Webserver (zumindest, falls Sie Apache benutzen) die ganze Arbeit ab. Wie das geht, ist im verlinkten Lexikon-Artikel erklärt.

Nun müssen Sie nur noch dafür sorgen, dass alle Links auf die neue Version der Art artikel_123_3.htm verweisen und das lästige Fragezeichen-Problem ist für Sie gelöst.