Amazon und „gutes“ Cloaking
In der aktuellen Ausgabe der c’t (Ausgabe 19/2007) gibt es eine Artikel zu suchmaschinenfreundliche URLs („Futter für die Robots“, S. 188). An sich nichts weltbewegendes, was man nicht auch zahlreich im Internet finden kann, ein bisschen sprechende URLs hier ein bisschen mod_rewrite da, jedoch ein Absatz hat meine Aufmerksamkeit besonders erweckt.
Auch hier kann man sich wieder den Online-Pionier Amazon zum Vorbild nehmen. Die im Bild angegebene, recht kurze und prägnante URL (Anm.: www.amazon.de/Harry-Potter-Deathly-Hallows/dp/0747591059) hat Amazon offenbar gezielt an den Google-Robot ausgeliefert. Kommt ein normaler Besucher vorbei, erhält er neben einem Cookie auch URL-Parameter, zum Beispiel www.amazon.de/ Harry-Potter-Deathly- Hallows/ dp/0747591059/ ref_=sr_1_1/302-8863404-2288010 ?ie=UTF8& s=books-intl-de& qid=1185366422&sr=1-1
Die c’t schreibt also, dass man es beim URL-Umschreiben so halten kann, wie der „Online-Pionier“ Amazon und Suchmaschinen etwas anderes (eine andere Seitenstruktur) liefert als normalen Besuchern. Sicherlich ist es kein böses Cloaking, da nicht die Inhalte, sondern nur die URL geändert wird, trotzdem beisst sich das etwas mit den Richtlinien von Beispielsweise Google
Erstellen Sie Seiten für Nutzer und nicht für Suchmaschinen […]
Firefox-vs.-Googlebot-Versuch
Zuerst war ich mir auch nicht ganz sicher, ob es sich überhaupt um Cloaking handelt, oder ob Google die kurze URL von Amazon nicht vielleicht über irgendeine Landingpage o. ä. erhalten hat, denn wenn ich die kurze URL aus der Suchmaschine heraus aufrufe, erhalte ich keine Weiterleitung, sondern bleibe auf der kurzen URL. Also einfach mal den Selbstversuch starten. Einmal habe ich die Amazon-Startseite ganz normal mit dem Mozilla Firefox aufgerufen und den Link zur deutschen Ausgabe von Harry Potter geklickt, einmal das ganze mit einem Google-User-Agent (Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)).
Das erste Ergebnis: die URLs der Harry-Potter-Seiten unterscheiden sich in ihrer Art, Länge und den Parametern. Aufruf als Mozilla Firefox:
http://www.amazon.de/dp/3551577773/ref=s9_asin_title_2-1966_g1/303-0286816-5071432?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=17FA2EDJJ88GW15PSWVB&pf_rd_t=101&pf_rd_p=148348491&pf_rd_i=301128
Und der Aufruf als Googlebot:
http://www.amazon.de/Harry-Potter-die-Heiligt%C3%BCmer-Todes/dp/3551577773
Die Produktseite
Aber nicht nur die URL unterscheidet sich, sondern auch der optische Aufbau, und wenn auch erstmal nur in einigen wenigen Details wie z. B. der Schriftgröße.
Da es also offenbar Unterschiede in der Darstellung gibt, wird es somit auch Unterschiede im Quelltext geben und das interessierte mich besonders. Also beide Seiten speichern und mal mit Diff vergleichen. Die Unterschiede lassen sich in 3 Bereiche aufteilen: Modifikationen, Inhalt nur in Firefox-Version, und Inhalt nur in Googlebot Version.
- Die Modifikationen, also Inhalt im HTML-Quelltext, der in beiden Seiten vorhanden ist, aber nur abgeändert wurde bezieht sich hauptsächlich auf URLs, die für die Suchmaschine schön „sprechend“ aufbereitet wurden. Zusätzlich sind die Schriftgrößen geändert, aus „medium“ wurde „small“, aus „smal“ wurde „x-small“, usw. Der Sinn darin erschließt sich mir nicht.
- Inhalt, der nur in der Googlbot-Version vorhanden ist, beschränkt sich hauptsächlich auf einen Block an CSS-Definitionen, in denen bestimmte Klassen definiert werden (die u. a. Schriften wie „osaka“ verwenden). Hier stellt sich für mich die Frage, wieso für Suchmaschinen noch zusätzliche Styles definiert werden, sind diese doch relativ blind, was den optischen Aufbau einer Seite angeht.
- Inhalte, die nur in der Firefox-Version (stellvertretend für normale Browser) vorhanden sind, somit nicht an den Googlebot ausgeliefert werden, sind neben CSS-Definitionen vor allem eine Menge Javascript, das für Funktionen wie Bewertungen und User-Interaktion verantwortlich ist („Artikel gehört mir schon“, „Kein Interesse“).
Ich frage mich, wieso Amazon nicht einen Großteil der CSS- und Javascript-Elemente der Seite in externe Dateien auslagert (oder mal mehr auf semantisches HTML setzt), kann damit doch eine beachtliche Menge an Daten eingespart werden. Für den Gooblebot werden Bytes gespart, die Googlebot-Version hat mit 107 KiB nur etwa 70 % der Größe der normalen Seite (153 KiB).
Linkpower und Duplicate Content
Eingehende Links sind eines der wichtigsten Kriterien bei der Bewertung der Relevanz einer Seite – eine Prämisse hierbei ist: Wenn eine Seite wichtig ist, verlinken viele Seiten auf diese. Aus der o. g. Linkstruktur, die für den Googlebot komplett unterschiedlich ist, ergibt sich jedoch das Problem, dass bestimmt viele Websites beispielsweise auf den Harry-Potter-Roman verlinken, jedoch werden die dies mit der langen URL tun (URL aus Adresszeile kopieren). Für die Suchmaschine ergibt sich jetzt kein direkter Zusammenhang zwischen der kurzen sprechenden URL und der zahlreich verlinkten. Zudem kommt hinzu, dass sich die zahlreich verlinkte URL jedesmal unterscheidet, denn dort sind u. a. Sessioninformationen gespeichert. Somit haben wir beispielsweise 10 000 eingehenden Links auf unterschiedliche URLs, die alle jedoch den gleichen Inhalt haben – und Google erhält von der Startseite wiederrum eine völlig andere URL. Sowohl von Linpower kann hier keine Rede sein, als auch zusätzlich noch das Problem des Duplicate Contents entsteht; eine gleiche Seite unter beliebig vielen URLs erreichbar.
Für dieses Problem hat Amazon auch eine Cloaking-Lösung: 301-Weiterleitungen. Rufe ich normal mit meinem Browser einen der zahlreich vorkommenden Links auf, erhalte ich die entsprechende Zielseite. Rufe ich jedoch einen dieser Links als Googlebot auf, erfolgen zwei Weiterleitungen, die dem Robot letzten Endes mitteilen, dass die Seite dauerhaft unter der Zielseite zu finden ist. Welche das ist, lässt sich leicht erraten:
Weiterleitung 1: HTTP-Request GET /dp/3551577773/ref=s9_asin_image_1-1966_g1/302-8854092-4836811?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=199G25ATYN9CEH01TNXC&pf_rd_t=101&pf_rd_p=125823091&pf_rd_i=301128 HTTP/1.0 Host: www.amazon.de User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) HTTP-Response HTTP/1.1 301 MovedPermanently […] Location: http://www.amazon.de/gp/product/3551577773/ref=s9_asin_image_1-1966_g1?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=199G25ATYN9CEH01TNXC&pf_rd_t=101&pf_rd_p=125823091&pf_rd_i=301128
Weiterleitung 2: HTTP-Request GET /gp/product/3551577773/ref=s9_asin_image_1-1966_g1?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=199G25ATYN9CEH01TNXC&pf_rd_t=101&pf_rd_p=125823091&pf_rd_i=301128 HTTP/1.0 Host: www.amazon.de User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) HTTP-Response HTTP/1.1 301 MovedPermanently Date: Wed, 05 Sep 2007 08:30:20 GMT […] Location: http://www.amazon.de/Harry-Potter-die-Heiligt%C3%BCmer-Todes/dp/3551577773
Somit wird für Google eine komplett eigene URL-Struktur gepflegt, die konsequent durchgezogen wird.
Erlaubt oder nicht?
Die Frage, die sich jetzt stellt ist mehr als klar: ist dies nach den Richtlinien der Suchmaschinenbetreiber erlaubt oder fällt diese Methode unter Cloaking und Cloaking gilt generell als schlecht?! In den oben zitierten Google Richtlinen heißt es weiter:
Versuchen Sie nicht, Ihre Nutzer zu täuschen, und bieten Sie Suchmaschinen keinen Content an, den Sie nicht auch für Ihre Besucher verwenden.
Die Veränderungen an der Seite sind größtenteils optischer Natur und das meiste wurde weggelassen. Auch wurden nicht wirklich Täuschungsversuche unternommen, da der Inhalt gleich gelieben ist und die URL für Google nur auf Sessioninformationen verzichtet. Stephen Spencer schreibt hierzu auf searchengineland.com:
I asked the panelists if it was acceptable to – selectively for spiders – replace search engine unfriendly links (such as those with session IDs and superfluous parameters) with search engine friendly versions. All four panelists responded „No problem.“ Charles Martin from Google even jumped in again with an enthusiastic, „Please do that!“
Cloaking where all you’re doing is cleaning up spider-unfriendly URLs, well that’s A-OK. In fact, Google engineers have told me in individual conversations that they don’t even consider it to be cloaking.
Fazit
Somit stellte das URL-Rewriting auf User-Agent-Selektion eine legitime Möglichkeit dar, Shops zu optimieren, bei denen es sehr häufig durch nicht abschaltbare Sessions (aus Gründen des Usertrackings, für Partnerprogramme) schwerer ist, dies mit Linkbuilding und Unique-Content zu kombinieren. Offenbar gibt es auch keine Probleme, wenn der Googlebot die Website inkognito überprüft, auch wenn dieser dann zwar die Seiten findet, jedoch unter einer andere Linkstruktur, der Linkstruktur für normale Besucher.
Es bleibt auch zu hoffen, dass diese Praxis auch generell erlaubt (oder zumindest geduldet) wird und nicht nur bei großen Anbietern wie Amazon, die einen beträchtlichen Umsatz bei Google ausmachen (Google AdWords).
Außerdem darf auch nicht vergessen werden, dass hier zusätzlicher Programmieraufwand nötig ist, der je nach User-Agent unterschiedliche Links erzeugt (Produkt[Datenbank] zu Produkseite[Browser|Robot]) und eine selektive Weiterleitung (Produktseite[Browser] zu Produkt[Datenbank] zu Produktseite[Robot]). Sollte hier nicht sauber gearbeitet werden, kann es passieren, dass durch fehlerhafte Weiterleitungen (ins Nirgendwo) o. ä. genau das Gegenteil von dem Gewollten erreicht wird.
Cooler Artikel von dir! Lässt sich gut lesen und du hast eine Gabe, Dinge verständlich zu erklären. So kann auch ein Trottel wie ich, dir ganz gut folgen.
Sauber! Danke!
Wow, selten sowas detailliertes in letzter Zeit gelesen. Sehr interessanter Artikel, ich bin verblüfft.
Mir erschließt sich nur Amazons Mehraufwand nicht so wirklich. *ratlos guckt*
BTW: Die Captcha-Texte sind amüsant
problem38
@Michel: 1) Damit Google schöne kurze URLs mit Keywords ausgeliefert bekommt und 2) alle eingehenden Links der Relevanz der einen Seite zugeordnet werden. Letzten Endes: um besser in den Suchergebnissen positioniert und präsentiert zu werden.
BTW: Danke für die Blumen
Aber warum überhaupt diese seltsamen Links für normalsterbliche User-Agents? Nur wegen Tracking muss man sowas hässliches in der URL-Leiste stehen haben? Ne ne ne.
Blumen kommen immer gut.
In der Mailbenachrichtung wird die URL zum Blog nicht komplett angezeigt, der http://mbaumer.de-Teil fehlt.