Eine Adresse, die index.php?p=47&cat=57 oder ähnlich lautet, ist reichlich unbrauchbar. Viele Seiten und Content Management Systeme produzieren derartiges. Die vielen Zahlen in der Adresse werden von den Scripts der Seite gebraucht, um den richtigen Inhalt aus der Datenbank zu fischen und ihn entsprechend darzustellen. Während das einleuchtend erscheint, gibt es aber auch gravierende Nachteile.
Schlecht für Mensch und Maschine
Kein Mensch kann sich beispielsweise eine URL dieser Art merken. Dass einprägsame Adressen, die der User im Idealfall auch blind
eintippen kann, von Vorteil sind, versteht sich von selbst. Auch wenn ein Blick in die Adresszeile des Browsers verrät wo man gerade ist, ist das etwas positives. Mit index.php?p=47&cat=57 ist das kaum möglich. Neben diesem gewichtigen Aspekt der Usability wiegt ein weiterer ebenfalls schwer: Suchmaschinen können diese sogenannten dynamischen URLs auf den Tod nicht ausstehen.
Google:
Beachten Sie, wenn Sie dynamische erzeugte Seiten verwenden (d.h., wenn die URL das Zeichen '?' enthält), dass einige Crawler dynamische Seiten im Unterschied zu statischen Seiten nicht durchlaufen. Verwenden Sie wenige und kurze Parameter.
[...]
Verwenden Sie&id=nicht als Parameter in Ihren URLs, da wir diese Seiten nicht in unseren Index aufnehmen.
MSN:
Ihre URLs sollten einfach und statisch sein. Komplizierte oder häufig geänderte URLs sind als Ziel von Links kaum geeignet. So kann für den URL www.beispiel.com/meine_seite das Crawling durch MSNBot einfacher durchgeführt werden als für einen langen URL mit zahlreichen Erweiterungen.
Seekport:
Weil wir bei Seekport möglichst keine überflüssigen Seiten präsentieren wollen, sind wir bei der Aufnahme solcher Seiten mit dynamischer URL sehr zurückhaltend.
Einzig Yahoo behauptet, dass ihr Crawler (der übrigens den putzigen Namen Yahoo! Slurp
trägt) keine Probleme oder einprogrammierte Hemmungen bei dynamischen Adressen hat. Alle anderen Suchmaschinen geben in ihren jeweiligen Optimierungstipps (Google, MSN, Seekport) das klare Statement ab: Dynamische URLs sind nicht gut für die Suchmaschinenplatzierung bei uns.
Die Lösung
Was also tun? Ernsthaft seine ganze Seite auf statisches HTML umzustellen dürfte kaum eine Option sein, aber man kann ja so tun, als bestünde die eigene Seite aus nichts anderem. Was man dafür braucht, ist allein das Apache-Modul mod_rewrite. Dieses haben die Server der allermeisten Webspace-Anbieter in ihrem Arsenal - um Klarheit zu schaffen, lässt sich phpinfo()
bemühen. Mit diesem Modul lassen sich URLs umschreiben. Das heißt, man tippt zwar shop.html ein oder klickt es an, aber der Webserver weiß, gemeint ist index.php?id=474. Und woher weiß der Server sowas?
In einer .htaccess-Datei kann man Anweisungen für das Umschreiben von URLs in Form regulärer Ausdrücke deponieren. Das kann z.B. so aussehen:
RewriteEngine on RewriteRule ^(.*).html$ index.php?page=$1
Diese Anweisung würde bedeuten: Wird die Anforderung nach 1.html eingegeben, liefert der Server index.php?page=1. Dadurch schaut eine dynamische Seite einfach aus, als wäre sie statisch. Es freuen sich die Crawler der Suchmaschinen und es freut sich der Benutzer, der sich jetzt endlich die URLs einer Seite merken kann. Es freut sich der Webmaster über eine bessere Erfassung seiner Seite durch alle Parteien.
Um sich mit mod_rewrite anzufreunden (das noch viel viel mehr kann als das simple Beispiel dort oben), ist die erste Adresse natürlich www.modrewrite.de, wo man eine Einführung, eine Aufstellung der verwendeten Syntax, praktische Anwendungsbeispiele und ein Forum für eventuell anfallende Fragen findet. Vergessen sollte man auch nicht, dass viele Content Management Systeme wie z.B. ModX oder WordPress von Haus aus statische URLs produzieren können.
Und so fassen wir zusammen: Auch wenn kein Fachmann für reguläre Ausdrücke ist, kann sich mit statischen URLs im Sinne der Suchmaschinenoptimierung und der Benutzerfreundlichkeit einen großen Gefallen tun.