Putzen und finden

AJAX und die Suchmaschinenfreundlichkeit
Kommentare

Web 2.0 ist in aller Munde, dicht gefolgt vom Tagesstichwort AJAX, mit dem der Marketingprofi inzwischen die altbekannten Techniken zur Contentveränderung einer Webseite mittels JavaScript bezeichnet. Bei aller Faszination des Themas sollten wir jedoch einen wichtigen Aspekt nicht aus den Augen lassen, der letztlich mitentscheidend für den Erfolg oder Misserfolg einer Webpräsenz ist: das Zusammenspiel der AJAX-generierten Seite mit Suchmaschinen.

Die Situation kennt wohl fast jeder Entwickler: Gerade steckt man mitten in der Arbeit an einem Projekt, da kommt die Anweisung, den neuen Techniken Tribut zu zollen und umgehend auch AJAX-Features zu implementieren. „Der Kunde will das eben so.“ Keine Frage, der Kunde ist König, also werden nun diverse Seitenbestandteile mittels AJAX dynamisiert, am besten direkt die Navigation. Denn es sieht, zugegeben, einfach schick aus, wenn sich der Navigationsbaum den Klicks des Surfers entsprechend anpasst, ohne dass die Seite jedesmal komplett neu geladen wird. Doch die böse Überraschung folgt meist auf dem Fuße: das Rankingergebnis der Seite bei Suchmaschinen wie Google und Co. ist prompt in den Keller gefallen und ganze Bereiche der Webseite werden nicht mehr indexiert. Warum ist das so?

Viele Searchengines können kein JavaScript interpretieren. Das bedeutet, dass sie Informationen, die damit zur Verfügung gestellt werden, nicht als existent wahrnehmen. Selbst wenn sie JavaScript grundsätzlich parsen können, fehlt ihnen noch immer der wesentliche Faktor, der AJAX für den Endanwender so sexy macht: die menschliche Intelligenz, die aus dem Dargestellten ableitet, wo der nächste Klick erfolgen soll. Diese Ableitung können Suchmaschinen nicht durchführen, da für sie nicht ersichtlich ist, an welcher Stelle sie welche JavaScript-Funktionen auslösen müssten, um den Content zu verändern, geschweige, dass die dabei erfolgenden dynamischen Veränderungen im Documenttree sich auf dem dem Spider vorliegenden Snapshot der Seite durchschlügen.

Wieso funktioniert die Weitergabe der dynamischen Contentveränderungen in Webseiten an die Spider, die die Webseite indexieren sollen, nicht? Um uns der Frage zu nähern, müssen wir die Funktionsweise dieser „Indexierungstools“ näher beleuchten. Im Normalfall besitzt eine Suchmaschine einen Webcrawler, der zum Beispiel eine Datenbank über bereits durch ihn abgesuchte Seiten enthält. Die Identifikation der einzelnen Seite selbst erfolgt mittels URL, bessere Searchengines erkennen übrigens bereits an dieser Stelle redundanten Content unter differierenden Adressen.

Doch zurück zum Crawlvorgang an sich: Der Spiderprozess erhält aus der Datenbank den URL der nächsten zu crawlenden Seite. Dazu passend wird ein Request generiert, dessen Ergebnis ausgewertet wird. Sendet der Webserver also eine Webseite, so prüft der Spiderprozess, ob eventuell Elemente nachgeladen werden müssen, die im Nachhinein zum Parsen und Indexieren der Seite notwendig sind. Dies können in Abhängigkeit von den Spidereinstellungen zum Beispiel JavaScript-Bibliotheken, CSS-Angaben oder Bilder sein. Nun wird der Snapshot der Seite dem Processing übergeben. Während dieses Vorgangs wird bei den besseren Suchmaschinen unter anderem versucht, vorhandenes JavaScript auszuführen, um daraus Links auf weitere Dokumente zu generieren. Dafür kommen jedoch nur typische requestauslösende Tags und Attribute in Betracht, und es werden auch nicht alle JavaScript-Funktionalitäten unterstützt. Beispielsweise fallen document.write-Anweisungen nicht in die Gruppe der interpretierten Anweisungen.

Aus den aus dem Dokument durch einfaches und erweitertes Parsing herausgefilterten Links werden nun erneut Requests generiert, die in der Crawlerqueue abgelegt werden und dort der weiteren Abfrage harren. Ab diesem Zeitpunkt interessiert eine Suchmaschine vorhandenes Javascript (und damit all die schönen AJAX-Features einer Seite) nicht mehr, denn ab jetzt geht es nur noch um eines: den bislang übermittelten Content, der im weiteren Verlauf des Document Processing aus der gecrawlten Seite extrahiert und von der Suchmaschine entsprechend dem internen Regelset indexiert wird.

Haben wir also eine Webseite, in der wir wichtigen Content via AJAX präsentieren, müssen wir wissen, dass dieser Teil der Seite für Benutzer von Suchmaschinen unauffindbar sein wird. Die grundlegende Methodik einer Suchmaschine, erst den Content eines URL abzufragen, aus diesem mögliche weiterführende Links zu extrahieren und den erhaltenen Content dann direkt an das Processing im Hintergrund weiterzureichen, führt dazu, dass der Teil der Seiteninformation, der dynamisch auf der Clientseite generiert wird, aus Sicht des Webcrawlers nicht als Seitenbestandteil existiert.

Fazit

Wer mit AJAX-Technologie arbeitet, dem muss bewusst sein, dass die mittels dieser Technologie dargestellten Informationen nicht suchmaschinenkompatibel sein werden. Insofern könnte man AJAX als Lösung für das Problem bezeichnen, Inhalte zwar für Menschen sichtbar zu machen, diese aber nicht einer Suchmaschine zur Verfügung zu stellen. AJAX-Technologien eignen sich daher hervorragend zur Verwendung innerhalb logingeschützter personalisierter Bereiche von Webseiten wie Mail- oder Stammdatenverwaltung oder eben zur Darstellung von Gimmicks wie Wetterdaten und Ähnlichem, die das Ranking einer Seite ansonsten möglicherweise negativ beeinflussen könnten. Wer den wirklichen Content seiner Site via AJAX ausgibt, wird bis auf Weiteres hinnehmen müssen, dass das Auffinden seiner Seite via Suchmaschine erschwert ist. Sowohl in der Entwicklung von Suchmaschinensoftware (BASE) als auch in der Erstellung von Webpräsenzen ist das Wissen um das Zusammenspiel von dynamischen Inhalten und deren Indexierung unabdingbar.

Arne Blankerts ist Leiter der Entwicklung bei der SalesEmotion AdSolutions GmbH in Hamburg. Carola Kummert ist als Entwicklerin an der Universitätsbibliothek Bielefeld beschäftigt und zudem seit Jahren als Dozentin tätig.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -