Google und Session-Ids
Stephan Huber
- php
Hi!
Ich habe mal eine Frage zur Optimierung von Seiten für Google:
Vor einem Monat bin ich drauf gestoßen, daß meine bisherige Strategie, mit Suchmaschinen umzugehen, für Google nicht funktioniert. Die bisherige Strategie war, für die Seiten eines Shops zumindest scheinbar statische Seiten zu erstellen, die notwendigen Variablen für das PHP-Skript wurden als Verzeichnisnamen übergeben (also www.irgendwas.de/produktgruppe1/produkt1/ statt www.irgendwas.de?index.php?produktgruppe=produktgruppe1&produkt=produkt1). Nur die Sessionid habe ich normal mit "?" hinten angehängt. Bis jetzt hat das gut funktioniert, die meisten Suchmaschinen schneiden Query-Strings einfach ab, und das ist in diesem Fall ja auch gut so, weil die Session nichts am Inhalt der Seite ändert.
Dann habe ich gemerkt, daß das bei Google weniger gut funktioniert, weil dort dynamische Seiten indiziert werden, allerdings normalerweise nur eine Ebene weit, d.h. von einer Seite ohne Query-String ausgehend, indiziert Google alle Seiten, die von dort aus verlinkt sind, auch wenn Sie einen Query-String haben, aber dann nicht mehr weiter. Dummerweise hät Google anscheinend alles, was einen Query-String hat, für dynamisch erzeugt, d.h. wegen der Sessionid wurden nur noch die Seiten indiziert, die auf der ersten Seite verlinkt waren.
Da ich davon ausging, daß es nicht funktioniert, wenn ich die Session auch als Verzeichnis tarne, weil Google dann bei jedem Aufruf für verschiedene Verzeichnisse gleiche Seiten bekommt, und das als Searchengine-Spamming auffasst, habe ich mir folgende einfache Lösung überlegt:
Da ich sowieso alle Links über eine Funktion erzeuge, habe ich dort überprüft, ob der User-Agent "googlebot" ist, und, falls ja, die sessionid nicht an die url angehängt.
Soweit, so schlecht, anscheinend bin ich damit nämlich durch irgendeinen Cloaking-Filter gerutscht, was ich ein bißchen ungerecht finde *grmbl*, schließlich ist die Seite ja bis auf die gelinkten urls identisch, und ich baue nicht irgendwelche zusätzlichen Keywords oder Texte ein. Aber da ist der Algorithmus des Google-Crawlers wohl zu streng, die Seiten sind aus dem Index gelöscht worden (und das sicher nicht wegen mangelnder Verlinkung o.ä., die englische Version auf dem gleichen Server, die noch ohne Sessions funktioniert, wird weiter indiziert).
Fürs erste habe ich jetzt meinen Googlebot-Detektor wieder ausgeschaltet, damit wenigstens die ersten paar Seiten im Index auftauchen, aber glücklich bin ich damit nicht.
Und nach dem langen Text die Frage: gibt es eine Lösung, außer die Session nur noch durch Cookies zu speichern (das will ich nicht, der Shop soll auch ohne Cookies funktionieren)?
Viele Grüße
Stephan