Alles über dynamische URLs

Montag, 22. September 2008

Durch zahlreiche Gespräche mit Webmastern haben wir festgestellt, dass es viele weit verbreitete Annahmen gibt, die vielleicht in der Vergangenheit zutreffend waren, jedoch heute nicht mehr unbedingt aktuell sind. Genau das ist uns aufgefallen als wir uns neulich mit ein paar Freunden über die Struktur von URLs unterhalten haben. Eine unserer Freundinnen war sehr abgeneigt gegen die Verwendung von dynamischen URLs, da sie der Meinung war "Suchmaschinen können damit gar nichts anfangen!". Ein anderer Bekannter wiederum wandte ein, dass dynamische URLs überhaupt kein Problem darstellten und dass diese Schwierigkeiten längst der Vergangenheit angehörten. Jemand sagte in diesem Zusammenhang sogar, dass er die ganze Aufregung um statische URLs im Vergleich zu dynamischen URLs nicht nachvollziehen könne. Für uns war dieses Gespräch der Moment, uns weitergehend mit diesem Thema zu beschäftigen, um Klarheit zu schaffen über statische und dynamische URLs.
Lasst uns kurz erklären, worum es eigentlich geht:


Was ist eine statische URL?
Eine statische URL ist eine URL, die sich nicht verändert - typischerweise enthält diese URL keine URL-Parameter. So eine URL kann etwa so aussehen: https://www.example.com/archive/january.htm. Ihr könnt nach weiteren URLs dieser Art suchen, in dem ihr filetype:htm in die Google-Suche eingebt. Die Pflege solcher URLs kann sehr zeitaufwändig sein, besonders, wenn die Menge an Informationen schnell wächst, da jede einzelne Seite direkt im Quellcode verändert werden muss. Dies ist ein Grund, warum Webmaster, die große, sich häufig ändernde Sites besitzen wie Online-Shops, Foren, Blogs oder Content-Management-Systeme, eher dynamische URLs verwenden.

Was ist eine dynamische URL?
Wenn der Content einer Site in einer Datenbank gespeichert ist und nur auf Anfrage auf diesen zugegriffen wird, dann werden dynamische URLs eingesetzt. In diesem Fall ist die Site ein Template, in welches sich ständig ändernder Content eingefügt wird. Normalerweise sieht eine dynamische URL so aus: https://code.google.com/p/google-checkout-php-sample-code/issues/detail?id=31. Man kann dynamische URLs sehr leicht daran erkennen, dass sie Sonderzeichen wie diese enthalten: ? = &. Dynamische URLs haben den Nachteil, dass verschiedene URLs ein und denselben Content haben können. Dies kann dazu führen, dass mehrere User auf unterschiedliche dynamische URLs mit verschiedenen Parametern linken, die eigentlich denselben Content haben. Das könnte beispielsweise ein Beweggrund für Webmaster sein, die URLs in statisch aussehende URLs umzuformen.

Sollte ich meine dynamischen URLs in statisch aussehende URLs umwandeln?
Wir haben im Folgenden ein paar Punkte zusammengetragen, die ihr beachten solltet, wenn ihr dynamische URLs benutzt.
  1. Es ist ziemlich schwer, eine dynamische URL in richtiger Weise in eine statisch aussehende URL umzuwandeln und diese dann zu pflegen.
  2. Es ist viel besser, wenn ihr uns die ursprüngliche dynamische URL anbietet und es uns überlasst, problematische Parameter aufzuspüren und zu umgehen.
  3. Wenn ihr eure URL umschreiben wollt, so könnt ihr unnötige Parameter entfernen, solltet aber die dynamisch aussehende URL beibehalten.
  4. Wenn ihr eine statische URL anstelle einer dynamischen URL anbieten wollt, solltet ihr eine statische Kopie des dazugehörigen Contents erstellen.
Was versteht der Googlebot besser, eine statische oder eine dynamische URL?
Wir haben viele Webmaster getroffen, die wie unsere Freunde annehmen, dass statische oder statisch aussehende URLs einen Vorteil für Indexierung und Ranking mit sich bringen würden. Dies liegt hauptsächlich an dem Vorurteil, dass Suchmaschinen Probleme damit haben, URLs zu analysieren und zu crawlen, die Session-IDs und Source Tracking verwenden. Tatsächlich haben wir bei Google Fortschritte in beiden Bereichen erzielt. Auch wenn statische URLs noch immer einen kleinen Vorteil in Hinblick auf die Click-Through-Rate (CTR) bieten, da User diese statischen URLs viel einfacher lesen und interpretieren können, so bedeutet die Entscheidung, eine datenbankgestützte Website und somit dynamische URLs zu erstellen, keinen Nachteil in Bezug auf Indexierung und Ranking. Ihr solltet dynamische URLs, wenn möglich, dem Erstellen einer statisch aussehenden URL vorziehen.

Lasst uns nun mit einigen weit verbreiteten Behauptungen in Bezug auf dynamische URLs aufräumen.

Mythos: "Dynamische URLs können nicht gecrawlt werden."
Fakt: Wir können dynamische URLs crawlen und die verschiedenen Parameter interpretieren. Wir könnten Probleme beim Crawling und Ranking eurer Site haben, wenn ihr versuchen solltet, eure URLs statisch erscheinen zu lassen und derweil Parameter versteckt, die dem Googlebot eventuell wertvolle Informationen geliefert hätten. Eine unserer Empfehlungen ist es, die Umwandlung von URLs, damit sie statisch aussehen, zu vermeiden. Es ist natürlich immer angebracht, bei statischem Content auch statische URLs zu verwenden, aber in Fällen, in denen ihr dynamischen Content anbietet, solltet ihr uns die Möglichkeit geben, eure URL-Struktur zu analysieren anstatt die URL statisch aussehen zu lassen und Informationen durch versteckte Parameter zu beseitigen.

Mythos: "Dynamische URLs sind in Ordnung, so lange sie weniger als drei Parameter besitzen."
Fakt: Es gibt keine Begrenzung der Anzahl an Parametern, die man benutzen sollte, aber eine gute Daumenregel ist es, die URLs so kurz wie möglich zu halten (das trifft auf alle URLs zu, ob sie nun statisch oder dynamisch sind). Wenn ihr in der Lage seid, Parameter zu entfernen, die für den Googlebot nicht so wichtig sind, könnt ihr euren Usern eine leicht verständliche dynamische URL anbieten. Falls ihr nicht wissen solltet, welche Parameter entfernt werden können, so empfehlen wir euch, uns alle Parameter in eurer dynamischen URL anzubieten, damit unser System selbst die unwichtigen Parameter herausfiltern kann. Wenn Parameter versteckt sind, so können wir die URLs nicht richtig analysieren oder Parameter nicht als solche erkennen, was zum Verlust wichtiger Informationen führen kann.

Nun wollen wir noch ein paar Fragen beantworten, die ihr vielleicht an dieser Stelle haben könntet.

Bedeutet das, ich sollte es vermeiden, URLs umzuformatieren?
Das empfehlen wir, es sei denn, eure Umformatierung beschränkt sich darauf, unwichtige Parameter zu entfernen oder sie beinhaltet die sorgfältige Beseitigung aller Parameter, die Probleme verursachen können. Solltet ihr dynamische URLs umwandeln, damit sie statisch aussehen, so kann es sein, dass wir nicht in der Lage sind, die Informationen in jedem Fall korrekt zu interpretieren. Wenn ihr einen statischen Ersatz für eure dynamische URL liefern wollt, solltet ihr es in Betracht ziehen, auch den zu Grunde liegenden Content zu verändern, in dem ihr eine statische Kopie erstellt. Ein Beispiel wäre es, Dateien für alle Pfade zu erstellen und an einer Stelle eurer Site zugänglich zu machen. Solltet ihr jedoch eher URLs umwandeln (anstatt eine Kopie des Contents zu erstellen), um eine statisch aussehende URL aus einer dynamischen zu erzeugen, könnte das mehr nachteilig als gut sein. Ihr könnt uns immer eure eigentliche dynamische URL anbieten und wir filtern automatisch die Parameter heraus, die unwichtig sind.

Könnte ich ein Beispiel sehen?

Wenn ihr eine dynamische URL habt, die in einem Standardformat wie diesem vorliegt: foo?key1=value&key2=value2, so empfehlen wir euch, die URL auch in diesem Format zu belassen. Wir werden dann die Parameter bestimmen, die getrost entfernt werden können. Ihr könnt natürlich auch die Parameter für uns entfernen. Seid dabei aber sehr sorgsam, so dass ihr nur Parameter löscht, die keine Rolle spielen, wie zum Beispiel Session-IDs. Hier ist eine dynamische URL mit ein paar Parametern:
www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL.
  • language=en - gibt die Sprache des Artikels an
  • answer=3 - der Artikel hat die Nummer 3
  • sid=98971298178906 - die Session-ID hat die Nummer 98971298178906
  • query=URL - die Suchanfrage, mit der der Artikel gefunden wurde [URL]
Nicht alle der dargestellten Parameter bieten dem Googlebot zusätzliche Informationen. Wenn ihr die URL umformatiert, so dass sie folgendermaßen aussieht:
  • www.example.com/article/bin/answer.foo?language=en&answer=3
würde es wahrscheinlich keine Probleme bereiten, da alle unwichtigen Parameter entfernt wurden und die URL für den Googlebot interpretierbar bleibt.

Im Folgenden sind einige Beispiele statisch aussehender URLs aufgelistet, die womöglich mehr Probleme beim Crawling hervorrufen können als eine dynamische URL, die nicht umgewandelt wurde.
  • www.example.com/article/bin/answer.foo/en/3/98971298178906/URL
  • www.example.com/article/bin/answer.foo/language=en/answer=3/sid=98971298178906/query=URL
  • www.example.com/article/bin/answer.foo/language/en/answer/3/sid/98971298178906/query/URL
  • www.example.com/article/bin/answer.foo/en,3,98971298178906,URL
Wenn ihr dynamische URLs umwandelt und sie so aussehen lasst wie in den eben gezeigten Beispielen, könnte dies zu Problemen beim Crawling führen, da wir denselben Content unnützerweise über mehrere URLs crawlen, die alle verschiedene Werte für sid (Session-ID) und query haben. Die dargestellten URL-Formate erschweren es uns zu verstehen, dass URL und 98971298178906 überhaupt nichts mit dem eigentlichen Content, der über diese URL ausgegeben wird, zu tun haben. Hier noch ein weiteres Beispiel einer Umformatierung, bei der alle irrelevanten Parameter entfernt wurden:
  • www.example.com/article/bin/answer.foo/en/3
Obwohl wir diese Form der Umwandlung richtig interpretieren können, würden wir euch trotzdem davon abraten, sie zu benutzen, da sie sehr schwer zu pflegen ist und jedesmal aktualisiert werden muss, sobald ein neuer Parameter zur eigentlichen dynamischen URL hinzugefügt wird. Wenn diese URLs nicht gepflegt werden, hättet ihr wieder eine statisch aussehende URL, die Parameter versteckt. Die einfachste Lösung ist daher oft, die dynamischen URLs so zu belassen wie sie sind. Ihr könnt irrelevante Parameter entfernen, aber lasst die URL dynamisch, wie in dem Beispiel weiter oben gezeigt wurde:
  • www.example.com/article/bin/answer.foo?language=en&answer=3
Wir hoffen, dass dieser Artikel euch weitergeholfen hat, ein paar Dinge rund um dynamische URLs zu klären. Falls ihr weitere Fragen habt, dann schaut doch in unserer Diskussionsgruppe vorbei.

Post von Juliane Stiller and Kaspar Szymanski, Search Quality Team