AJAX bald suchmaschinenkompatibel?

8. Oktober 2009 | Von in SEO

Google möchte AJAX suchmaschinenkompatibel machen und hat auf der SMX East einen Vorschlag veröffentlicht, wie das funktionieren könnte. Mehr dazu steht außerdem im Google Webmaster Central Blog.

Hintergrund

Mit AJAX kann eine bereits geladene Seite nochmal Inhalte vom Webserver nachladen. Das ist oftmals sehr praktisch, da man sich so das komplett neue Laden von Seiten ersparen kann. Suchmaschinen analysieren jedoch den Quellcode einer Seite und sehen die nachträglich geladenen Inhalte daher nicht.

Beispielsweise könnte man auf einer Seite einen Artikel anteasern und sobald jemand auf “mehr” klickt, wird der Rest des Artikels per AJAX nachgeladen. Suchmaschinen bleibt der Rest des Artikels dann verborgen. Zwar werden Google & Co. immer besser darin, JavaScript zu verstehen und könnten theoretisch auch den Klick auf “mehr” mit AJAX ausführen, um an dem vollständigen Artikel zu gelangen. Der Aufwand wäre jedoch vergleichsweise hoch. Zum einen müssten Suchmaschinen den JavaScript-Code samt AJAX nicht nur verstehen, sondern auch tatächlich ausführen, um Inhalte nachzuladen. Zum anderen sind längst nicht alle AJAX-Seiten so einfach gehalten wie im Beispiel. So kann man z.B. auch ganze Web-Anwendungen mit JavaScript und AJAX bauen. Jedes Mal, wenn sich etwas auf dem Bildschirm ändert, würde ein Suchmaschinen-Crawler das als neuen Zustand erfassen müssen.

Allerdings gibt es noch ein viel grundsätzlicheres Problem: Unabhängig vom Zustand, in dem sich eine Seite gerade befindet, ist die URL immer die gleiche. Suchmaschinen könnten aus ihren Suchergebnissen also gar nicht auf einen bestimmten Zustand verlinken.

Lösen können Suchmaschinen dieses Problem nicht im Alleingang. Sie können dem Browser eines Nutzers eben keine Information wie “geh auf diese URL und klick auf mehr” mitgeben.

Googles Vorschlag

Der Vorschlag von Google zielt darauf ab, bestimmte JavaScript-Zustände einer Seite für Suchmaschinen erfassbar zu machen. Außerdem soll es möglich werden, direkt auf diese Zustände zu verlinken.

Um spezielle AJAX/JavaScript-Zustände in einer URL zu kennzeichnen, sollen URL-Fragmente modifiziert werden. Ein Ausrufezeichen soll Googles Vorschlag zufolge verwendet werden, um einen Zustand im URL-Fragment zu kennzeichnen. Eine vollstände URL könnte dann z.B. so aussehen: https://blog.bloofusion.de/index.php?id=1#!nameDesZustands
Der Aufruf einer solchen URL soll immer zum gleichen Inhalt führen, so dass Suchmaschinen direkt darauf verlinken können. Umgekehrt müssen auch alle Zustände, auf die Suchmaschinen verlinken sollen, derart aufrufbar sein. Ein Zustand “Schriftfarbe auf rosa geändert” müsste man also nicht weiter kennzeichnen, ein “ganzen Artikel anzeigen” dagegen schon.

Damit Suchmaschinen diese Zustände erfassen können, sollen Webserver in die Lage versetzt werden, diese gleich fertig auszuliefern. Google schlägt vor, dass sie dafür einen so genannten “headless Browser” verwenden. Headless Browser sind Browser ohne grafische Benutzeroberfläche. Diese sollen die Seite ganz normal abrufen, das enthaltene JavaScript samt AJAX ausführen, um die Seite in den gewünschten Zustand zu versetzen. Dann soll ein HTML-Snapshot der fertigen Seite im Zielzustand gemacht werden, den der Webserver an den Crawler ausliefert.

Zwei Probleme treten dabei auf, für die Google auch gleich eine Lösung parat hat. Denn der Webserver kann weder ohne Weiteres erkennen, dass gerade eine Suchmaschine anfragt, noch kann er mit URL-Fragmenten umgehen. Deshalb möchte Google den Zustand als ganz normalen Query-Parameter an die URL anhängen und schlägt als Parameter “_escaped_fragment_” vor. Obige URL sähe dann so aus: https://blog.bloofusion.de/index.php?id=1&_escaped_fragment_=nameDesZustands
Diese URL würde der Webserver dann annehmen, intern wieder in https://blog.bloofusion.de/index.php?id=1#!nameDesZustands umwandeln und an den headless Browser schicken. Der liefert seinen HTML-Snapshot beim Webserver ab, welcher diesen gleich an den Crawler weiterreicht. Die folgende Grafik verdeutlich das auch nochmal (Quelle).

ajax-diagram-1

Einschätzung

Setzt sich Googles Vorschlag durch, so ließe sich damit ein grundlegendes Problem vieler Websites lösen, die auf AJAX setzen. Die Lösung verlangt jedoch viel Mitarbeit von den Website-Betreibern, was sicher die größte Hürde darstellen wird. Vermutlich wird Google hier noch kräftig nachlegen, um Webmastern die Umstellung zu erleichtern. Viel Mitarbeit wird auch von Webservern gefordert, auf denen die headless Browser den Crawlern ordentlich Arbeit abnehmen sollen. Dabei könnten headless Browser auch genausogut von Google eingesetzt werden. Mit dem Hinweis, dass man so mehr Kontrolle darüber behält, wie die Seite letztlich ausgeliefert wird, versucht Google, Webmastern diese Lösung schmackhaft zu machen.

Auf jeden Fall stellt sich für Webmaster die Frage, ob man nicht besser fährt, wenn man die Website optional auch ohne AJAX bedienbar macht. Denn so oder so steht zunächst einmal eine Menge Arbeit für den Webmaster an. Im Hinblick auf Barrierefreiheit ist eine Lösung ohne AJAX auf jeden Fall die bessere Lösung. Andererseits verspricht die Lösung mit Ausrufezeichen-URLs, dass Benutzer die aktuelle URL aus dem Browser kopieren und problemlos verlinken können. Weiterer Unterschied: Die Variante mit der optionalen Non-AJAX-Lösung funktioniert schon heute. Googles Vorschlag ließe sich ebenfalls heute schon umsetzen, allerdings ist Googles Crawler noch nicht so weit, dass man daraus schon einen Vorteil ziehen könnte.

The following two tabs change content below.
Avatar-Foto

Martin Röttgerding

Martin Röttgerding ist Head of SEA in der Online-Marketing-Agentur Bloofusion und schreibt schwerpunktmäßig über Google Ads im Bloofusion-Blog und hin und wieder in seinem SEA-Profi-Blog PPC Epiphany.

Martin Röttgerding ist auf LinkedIn zu finden.

3 Kommentare zu “AJAX bald suchmaschinenkompatibel?”

  1. Avatar-Foto Horst

    Die Methode, die Zustände per URL direkt erreichbar zu machen, sind schon seit Jahren in vielen Javascript-Frameworks integriert. Trotzdem spielt es in der Praxis das kaum eine Rolle. Daran wird auch Google nichts ändern.

  2. Avatar-Foto Martin

    Der Aspekt ist aber insofern anders, als dass man jetzt noch anzeigen muss, welche Zustände relevant sind. Ein bisschen was dürfte sich schon ändern, denn die Kompatibilität zu Google ist ja ein gewichtiges Argument. Dass es sich auf breiter Ebene durchsetzt, bezweifle ich allerdings auch.

    Manchmal frage ich mich, ob es sich nicht lohnt, so etwas einfach mal ganz schnell umzusetzen, nur damit man es als erster hat. Gäb bestimmt gute Links 🙂

  3. Avatar-Foto Ben

    Horst hat mit seiner Aussage, dass es bereits seit langem Mittel und Wege gibt das von Google vorgeschlagene umzusetzen voll und ganz recht, ich stimme ihm auch zu, dass Google wohl nicht viel daran ändern wird, ich denke die Anzahl der Leute die sich dieses Proposal jetzt zu Herzen nehmen werden, ist nur ein kleiner Bruchteil von den eigentlichen Seiten die stark auf “Ajax” setzen.

    Letzendlich werden es dann wohl wieder irgendwelche hochbezahlten SEOs sein die, natürlich im Auftrag des Kunden handelnd, solche Änderungen gegen gutes Geld umsetzen werden.

Kommentieren