HTML-Artikel -> URI-Design

Einige Leute mögen sich jetzt vielleicht Fragen: URI-Design? Was soll denn das sein? Man designt eine Seite, aber doch nicht eine Adresse! Aber das ist falsch. Schließlich heißt Ihr Domain-Name ja auch nicht hi98fnoa.de, sondern z.B. ihrefirma.de. Deshalb sollten gute URIs lesbar, strukturiert, technikneutral und beständig sein.

Lesbare URIs

Wählen Sie Dateinamen so, dass Sie eine Aussage haben und dass man Sie sich auch merken kann. Oft sieht man (auch auf professionellen Seiten) URIs wie

ihrefirma.de/cms/html/,,127841/files/77.html

Meist entstehen solche Adressen durch den Einsatz eines CMS (Content Management Systems), aber auch per Hand kann man leicht eine Datei einfach nur 1.html nennen. Wenn Sie allerdings möchten, dass möglichst viele Leute Ihre Seite besuchen, wählen Sie URIs und Dateinamen, die lesbar sind, wie zum Beispiel produkte.html. Das hat den Vorteil, dass sich Leute die Adresse - auch einer Unterseite - auch merken können. Sie können daher vielleicht zu einem späteren Zeitpunkt noch einmal auf Ihre Seite kommen - auch wenn sie nicht sofort ein Lesezeichen gesetzt haben. Auch können Sie sich vielleicht notieren, am Telefon einer anderen Person mitteilen oder ähnliches. Versuchen Sie das mal mit der Beispieladresse...

Strukturierte URIs

URIs sollten auch so gewählt sein, dass die Struktur der Seite sich in den Adressen wiederspiegelt. Das gehört mit dazu, wenn man eine gut strukturierte Webseite designt. Statt alle Dateien in ein Verzeichnis zu legen, sollte man also Unterverzeichnisse mit Namen anlegen, unter denen man sich etwas vorstellen kann. In diesen Unterverzeichnissen sollte immer auch eine Datei index.html liegen, die auf die jeweiligen Unterpunkte verweist.

Beispiel: Statt

meinzoo.de/goldfisch.html
meinzoo.de/tintenfisch.html
meinzoo.de/tiger.html
meinzoo.de/loewe.html


lieber

meinzoo.de/fische/goldfisch.html
meinzoo.de/fische/tintenfisch.html
meinzoo.de/katzen/raubkatzen/tiger.html
meinzoo.de/katzen/raubkatzen/loewe.html


Vorteil: Wenn ein Besucher auf eine Ihrer Unterseiten kommt (zum Beispiel von einer Suchmaschine) und vielleicht eine etwas größere Übersicht braucht, so kann er einfach in ein etwas weiter "oben" liegendes Verzeichnis wechseln. Zudem ist die Übersicht auch für Sie größer, wenn Sie nicht alle Dateien in einem Verzeichnis liegen haben.

Kein GET-Parameter-Overkill

Als Erweiterung der beiden vorigen Tipps kann man noch anfügen, dass Programmierer von dynamischen Webseiten mit PHP o.ä. vorsichtig sein sollten mit Parametern, die nach einem Fragezeichen an die Adresse angehängt werden. Viele dynamische Systeme produzieren URIs wie

meincms.de/index.php?option=com_content&task=blogcategory&id=67&Itemid=92

Hier wird nicht nur massiv gegen die ersten beiden Tipps verstoßen (übrigens habe ich mir diese Adresse nicht ausgedacht, sondern sie stammt vom PHP-CMS Mambo), sondern darüberhinaus wird nur über die Parameter bestimmt, welche Seite man überhaupt zu sehen bekommt. Ich bekenne mich übrigens schuldig, noch bis zur letzten Version war das im HTML Arsenal genau so. Es ist aber mit PHP sehr gut möglich, verschiedene Verzeichnisse und PHP-Dateien anzulegen. Und wenn in diesen nur steht, welche Seite anzuzeigen ist und dann mit require(index.php) doch wieder gleiche PHP-Datei sich um alles kümmert, dann ist das wenigstens von außen nicht zu sehen.

Meiner Meinung nach gibt es nur wenige Dinge, die überhaupt den Gebrauch von Parametern rechtfertigen:

- Übergabe einer Session ID (auch wenn es da über Cookies oder über die Bindung der Session an die IP andere Möglichkeiten gibt)
- Wählen der Aktion auf dynamischen Seiten (z.B. Löschen, Bearbeiten, Anzeigen)
- Auswahl der anzuzeigenden Seite bei mehrseitigen Dokumenten
- Übermittlung von zwingend nötigen externen Informationen, z.B. bei einer Suche

Allerdings sollte das gewünschte Dokument auch erscheinen, wenn man alle Parameter weglässt. Eine elegante Lösung, wenn immer nur ein Typ von Parameter übergeben wird, finde ich das weglassen des Variablennamens, also statt

meinefirma.de/produkte/produkt.php?action=edit

nur

meinefirma.de/produkte/produkt.php?edit

Dies ist im Allgemeinen genau so einfach auszuwerten, wie der Parameter mit Wertzuweisung, in PHP z.B. durch getenv("QUERY_STRING").

Technikneutrale URIs

Wenn möglich, sollten URIs die verwendete Technik verbergen. Das heißt vor allem, dass keine Dateiendungen wie .php, .asp, .jsp etc. in der Adresse vorkommen sollten. Wenn möglich, sollte sogar auf das .html verzichtet werden. Der Vorteil daran ist, dass die Technik, mit der die Seite ausgeliefert wird, sich ändern kann, ohne dass die Adresse sich ändert. Wenn z.B. der URI einer Produktbeschreibung

meinefirma.de/produkte/maschinen/maschinex

lautet, so kann dort vielleicht zunächst ein HTML-Dokument zu finden sein, und später eine umfangreichere Broschüre im PDF-Format.

Wie kann man dies erreichen? Wer einen eigenen Server besitzt oder mietet, der kann einfach die Konfiguration des Webserver-Programmes so ändern, dass er z.B. an jede angeforderte Adresse ein .php oder .html anhängt und die entsprechende Datei ausliefert. Er kann sogar so konfiguriert werden, dass der URI überhaupt nichts mit der Organisation der Dateien auf der Festplatte zu tun hat.

Wer allerdings auf einer Shared-Hosting-Plattform oder sogar bei einem kostenlosen Anbieter seine Seiten liegen hat, der muss ein bisschen tricksen: Eine Möglichkeit ist, alle Dokumente nur index.html oder index.php zu nennen (in entsprechenden Verzeichnissen), das wird von den meisten Webservern automatisch ausgeliefert, wenn als URI nur der Verzeichnisname angegeben wird, also z.B.

meinefirma.de/produkte/ (liefert produkte/index.php aus)

Beständige URIs

Zusammenfassend kann man sagen: URIs sollten so gewählt sein, dass sie sich nicht ständig ändern. Gutes URI-Design zeichnet sich dadurch aus, dass die Adressen so gewählt sind, dass sie noch jahrelang ihre Gültigkeit behalten. Das hat mehrere unschlagbare Vorteile:

- Links behalten ihre Gültigkeit
- Suchmaschineneinträge verweisen auf die richtige Stelle
- Besucher können sich ihre Adresse besser merken
- So haben Sie mehr Besucher, die das finden, was sie suchen

Wie erreicht man dieses Ziel aber nun? Man sollte sich dafür bei jedem Dokument, was man hinzufügt, fragen:

- Ist der Ort, an dem ich das Dokument abgelegt habe, gut gewählt?
- Ist die Adresse aussagekräftig?
- Kann ich mir ein Ereignis vorstellen, zum Beispiel eine Technikänderung auf dem Webserver oder eine Änderung der Struktur, die mich dazu zwingen würde, den Ort des Dokumentes zu ändern?

Wenn man die oben genannten Tipps zur Erstellung von strukturierten URIs beherzigt hat, sollte dies kein Problem sein. Ein Tipp noch: Wenn man Dokumente in datierten Verzeichnissen, wie z.B

meinefirma.de/2005/november/konferenz

ablegt, kann man die Struktur auch einmal ändern, ohne dass sich alte URIs ändern müssen.

Quellen:

Dieser Artikel basiert auf den Qualitäts-Tipps für Webmaster vom W3-Konsortium, insbesondere:
- Managing URIs
- Choose URIs Wisely