Skip to main content

AJAX Crawling-Scheme

Was ist ein AJAX Crawling-Scheme?

AJAX Crawling-Scheme beschreibt ein bestimmtes Webcrawling-Verfahren, das Suchmaschinen anwenden, wenn es sich um Internetseiten mit dynamisch generierten Inhalten handelt. Sowohl Google als auch andere Suchmaschinen bedienen sich des AJAX Crawling-Schemes. Der Suchmaschinenbetreiber hat dieses Crawling-Schema seit 2009 genutzt, inzwischen jedoch eingeräumt, dass es nicht mehr zeitgemäß ist. Seit 2015 empfiehlt Google an Stelle des AJAX Crawling-Scheme die Verfahren des Progressive Enhancement oder die Optionen, die HTML 5 bietet. Diese Methoden gewährleisten den Zugang zu bestimmten Webseiten-Content durch Crawler.

Überblick und Allgemeines zum AJAX Crawling-Scheme

Das AJAX Crawling-Scheme setzt an bei der Datenübertragung zwischen Browser und Server. Bei Webanwendungen auf AJAX-Basis wird der darzustellende Content mittels asynchroner Datenübertragung erzeugt. Dies ermöglicht die Realisation von HTTP-Anfragen über JavaScript sowie XML während einer Browsersitzung, ohne dass die HTML-Seite zusätzlich erneut geladen werden muss. In der Praxis können also inhaltliche Bestandteile sowie Teile der Benutzeroberfläche durch den Browser geladen werden. Der Content wird vom Server beziehungsweise aus einer Datenbank geladen, ohne dass eine weitere HTTP-Kommunikation zwischen Browser und Server erforderlich wäre. Damit verhält es sich anders als etwa bei statischen HTML-Webseiten.

Dies ermöglicht etwa die Übernahme von bereits eingegebenen Formulardaten durch den Browser. Ebenso können Daten modifiziert werden, wenn diese aktuell bleiben müssen, wie es etwa bei Datumsangaben von Bedeutung ist.

In diesem Prozess kommt es zu keiner Unterbrechung der Client-Server-Verbindung. Die dynamische Inhaltsgenerierung stoßen Webseiten-Besucher selbst an, indem sie zum Beispiel auf der entsprechenden Webseite ein bestimmtes Objekt anklicken. Durch diesen Prozess kommt es zur Ausführung eines Skripts. Dieses steht zwischen der HTTP-basierten Kommunikation zwischen Client und Server. Das Skript lädt dabei zuvor ausgewählten Inhalt.

Aufgabe der AJAX-Engine ist es nun, den Aufruf eines Skriptes zu erfassen und anschließend eine XML-basierte Anfrage an eine Datenbank oder den Server durchzuführen. Auf diese Weise soll sie die Inhalte finden. In diesem Zusammenhang spielt der Begriff der asynchronen Anfrage eine wichtige Rolle. Vom Benutzer ausgewählte oder aufgerufene Elemente werden anschließend mit Hilfe des Skripts dynamisch auf der Internetseite geladen beziehungsweise ausgeführt.

Problematik im Zusammenhang mit Suchmaschinen

Die Frage nach der Anwendung und dem Nutzen des AJAX Crawling-Schemes legt einige Schwierigkeiten offen. Google hat eine offizielle Bestätigung dafür gegeben, dass sein eingesetzter Bot imstande ist, JavaScript zu verstehen. Damit lassen sich auch Webseiten auf Basis des Skripts crawlen. Jedoch ist der Google-Bot hier mit Beschränkungen konfrontiert, die sich darin zeigen, dass manche JavaScript-Bestandteile nicht oder nicht korrekt oder vollständig interpretiert werden. Hinzu kommt, dass Googles Webcrawler keine AJAX-Links crawlen kann, wenn diese erst einer Aktivierung durch den Nutzer bedürfen.

Zudem zeigt sich die Problematik vieler AJAX-basierter Webseiten, dass das angewandte URL-Schema eine Hürde für den Webcrawler darstellen kann. Damit wird gleichermaßen die Indexierung erschwert. Auf einer Vielzahl von AJAX-Seiten werden bestimmte URL-Fragmente angewandt, bei denen eine Raute (“#”) diese von der übrigen URL trennt. Solche URL-Fragmente werden oftmals ignoriert, wie etwa aus Tests dieser URLs in Googles Search Console hervorgeht.

Umsetzung und Funktionsweise

Praktisches Ziel in der Anwendung des AJAX Crawling-Scheme ist es, dynamische Webseiten-Inhalte lesbar für Google-Bots oder Crawler auszuspielen. Grundsätzlich sind diese Bots, Crawler und Spider nicht imstande, dynamisch generierten Content zu interpretieren. Ebenso können sie keine Skripte interpretieren. Während diese Programme das Internet nach Inhalten durchsuchen, benötigen sie im Hinblick auf solche Inhalte entsprechende Hilfsmittel. Das AJAX Crawling-Scheme versucht, jeweilige Snapshots beziehungsweise HTML-Momentaufnahmen des je aktuellen Inhalts einer Seite auf einem Server oder einer Datenbank zu hinterlegen.

HTML-basierte Auszeichnungen sorgen wiederum dafür, dass der Content auch für textbasierte Crawler lesbar wird. Im Rahmen solcher Aufzeichnungen liegen zwei verschiedene Versionen vor.

Schritte zur Vorbereitung für das AJAX Crawling-Scheme

Die Vorbereitung einer Webseite für das AJAX Crawling-Scheme bedarf mehrerer Schritte. Zunächst wird auf der Internetseite gekennzeichnet beziehungsweise notiert, dass sie das AJAX Crawling-Scheme unterstützt.

Schritt 1

Domains, deren Content dynamisch erzeugt wird, werden um das Ausrufezeichen (“!”) ergänzt. Dieses folgt auf das Rautezeichen. Die Kombination “#!” wird auch als Hash-Bang bezeichnet, was der Lautschrift der englischsprachigen Begriffe für diese Zeichen entspricht. Ab dieser Stelle beginnen die so genannten Hash-Fragmente, das heißt der Bereich, der im Rahmen einer dynamischen Abfrage erzeugt wird. Meist handelt es sich hier um Attribute, Wertpaare oder IDs. Diese bestimmte Notation teilt einem Webcrawler mit, dass die betreffende Webseite das AJAX Crawling-Scheme unterstützt.

Schritt 2

In einem zweiten Schritt gilt es, für jede dynamisch generierte URL eine andere URL-Form für den Crawler zu erzeugen. Zur Referenzierung des HTML-Snapshots muss der Server die korrekte URL ausgeben. Die URL mit Hash-Bang wird in eine Form übertragen, die dem Server mitteilt, dass der Crawler die Inhalte der Ausgangs-URL anfordert. Der Server erhält auf diese Weise die Information, dass der Webcrawler noch ein HTML-Snapshot zurücksenden soll.

Schritt 3

Der dritte Schritt besteht darin, die HTML-Snapshots zu erzeugen. Dies geschieht für jede dynamisch generierte URL. Im Anschluss wird der HTML-Snapshot auf dem Server hinterlegt. Es handelt sich bei diesem Snapshot um eine Art Kopie, die für das Auslesen durch den Crawler optimiert ist. Nach Ausführung des JavaScripts werden die dynamisch erzeugten Inhalte bereitgestellt und im Anschluss in Form des HTML-Snapshots für den Webcrawler lesbar.

Mehrere Methoden stehen zur Erstellung von HTML-Snapshots zur Verfügung, die in Abhängigkeit der Skriptsprache oder der verwendeten Technologie zum Einsatz kommen können. Eine Möglichkeit besteht darin, Browser ohne Benutzeroberfläche zu verwenden. Ein Beispiel für einen solchen Browser ist etwa HTMLUnit. Weitere Möglichkeiten zur Erstellung von Snapshots bieten Tools wie crawlajax. Solche Varianten bieten sich insbesondere dann an, wenn es sich um besonders viel via JavaScript erzeugten Content handelt. Bei Anwendung von Verfahren wie PHP oder ASP können Nutzer auch den Quellcode zur serverseitigen Generierung von HTML verwenden. Ebenso lassen sich JavaScript-Elemente durch statische Code-Bestandteile ersetzen. Die am häufigsten zum Einsatz kommende Möglichkeit besteht jedoch darin, für jede AJAX-URL eine statische HMTL-Internetseite offline bereitzustellen.

Seitens der Suchmaschine wird der Snapshot für jede URL indexiert. Die für den Crawler nicht lesbaren dynamischen Inhalte werden nicht indexiert. Entsprechend werden auch in den Suchergebnislisten oder SERPs lediglich die AJAX-URLs dargestellt. Hierbei handelt es sich um URLs, die ein Hash-Fragment aufweisen.

AJAX Crawling-Scheme und sein heutiger Stellenwert in der SEO

Da Suchmaschinenbetreiber schon über mehrere Jahre daran arbeiten, Elemente auf JavaScript-Basis durch ihre Webcrawler lesbar zu machen, nimmt die Bedeutung des AJAX Crawling-Schemes ab. 2015 teilte Google mit, dass dieses Crawling-Schema als nicht mehr zeitgemäß gilt und nicht mehr empfohlen wird. Dies unterstreicht die enormen Fortschritte, die Webcrawler in ihrer Fähigkeit machen, Skripte auszulesen. Speziell im Zusammenhang mit responsiven Inhalten ist die Empfehlung von Relevanz. Da jedoch Anwendungen auf AJAX-Basis noch immer weite Verbreitung haben, werden auch solche älteren Internetseiten weiterhin von Suchmaschinen indexiert.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG

AJAX Crawling-Scheme
4 (80%) 8 votes