Posted:
tl;dr: Das AJAX-Crawlingschema, das wir 2009 vorgeschlagen haben, empfehlen wir jetzt nicht mehr.

Im Jahr 2009 machten wir einen Vorschlag, um AJAX-Seiten crawlbar zu machen. Damals waren unsere Systeme noch nicht in der Lage, Seiten, die JavaScript für das Präsentieren von Inhalten verwenden, zu rendern und zu analysieren. Da "Crawler … dynamisch erstellte Inhalte nicht sehen konnten", schlugen wir eine Reihe von Verfahren vor, mit denen Webmaster sicherstellen können, dass ihre AJAX-basierten Anwendungen von Suchmaschinen indexiert werden.

Die Zeiten haben sich geändert. Solange ihr den Googlebot nicht blockiert, sodass er eure JavaScript- oder CSS-Dateien nicht crawlen kann, können wir heute normalerweise eure Webseiten wie moderne Browser rendern und analysieren. Um diese Optimierung widerzuspiegeln, haben wir kürzlich unsere technischen Richtlinien für Webmaster aktualisiert. Wir raten jetzt davon ab, dass der Googlebot für das Crawlen der CSS- oder JS-Dateien eurer Website blockiert wird.

Da die Annahmen, die unserem Vorschlag von 2009 zugrunde lagen, nicht mehr gültig sind, empfehlen wir nun, den Prinzipien der progressiven Verbesserung zu folgen. Beispielsweise könnt ihr die HTML5-History API verwenden, um die Zugänglichkeit für eine größere Zahl an Browsern sowie für unsere Systemen zu gewährleisten.

Fragen und Antworten

F: Meine Website folgt derzeit eurer Empfehlung und unterstützt das Format "_escaped_fragment_". Wird meine Website nun nicht mehr indexiert, da eure Empfehlung eingestellt wurde?
A: Nein, die Website wird weiterhin indexiert. Im Allgemeinen empfehlen wir euch jedoch, beim nächsten Update eurer Website die Best Practices der Branche zu implementieren. Anstelle von URLs im Format "_escaped_fragment_" crawlen, rendern und indexieren wir in der Regel URLs im Format #!.

F: Wird das Abrücken vom AJAX-Crawlingschema zu den Best Practices der Branche als Websiteverschiebung betrachtet? Muss ich Weiterleitungen implementieren?
A: Wenn die aktuelle Konfiguration im Moment für euch gut funktioniert, muss man nicht sofort wechseln. Wenn ihr eine neue Website aufbaut, oder eine bestehende restrukturiert, empfehlen wir, "_escaped_fragment_" URLs zu vermeiden.

F: Ich verwende ein JavaScript-Framework und zeige dem Googlebot eine vorgerenderte Seite. Ist dies weiterhin möglich?
A: Im Allgemeinen sollten Websites ihre Seiten nicht nur für Googlebot vorrendern -- wir erwarten, dass eine solche Massnahme Geschwindigkeitsvorteile für alle Benutzer ergeben würde, und dass progressive Verbesserungstechniken verwendet werden. Wenn Seiten vorgerendert werden, stellt sicher, dass die Inhalte für Googlebot dieselben sind, wie sie Benutzer sehen: im Aussehen sowie in der Interaktion. Wenn für den Googlebot andere Inhalte als für normale Nutzer bereitgestellt werden, handelt es sich um "Cloaking", das gegen unsere Richtlinien für Webmaster verstößt.

Wenn ihr Fragen habt, könnt ihr diese gerne hier oder im Hilfeforum für Webmaster posten.

Posted:
Im Jahr 1998 standen unsere Server noch in Susan Wojcickis Garage und wir machten uns keine großen Gedanken über JavaScript oder CSS. Beide wurden kaum verwendet bzw. JavaScript wurde damals genutzt, um Seitenelemente blinken zu lassen! Seither hat sich viel verändert. Im Web gibt es zahlreiche komplexe, dynamische Websites, die JavaScript in großem Umfang einsetzen. In diesem Blogpost erläutern wir unser Verfahren zum Rendern umfangreicherer Websites, d. h., wir rufen eure Inhalte jetzt mehr wie moderne Webbrowser ab, einschließlich externer Ressourcen, führen JavaScript aus und wenden CSS an.

Ursprünglich haben wir uns nur die reinen Textinhalte angesehen, die wir in HTTP-Antworten erhielten, und haben nicht analysiert, was ein typischer Browser abrufen würde, der JavaScript ausführt. Als es dann immer mehr Seiten gab, auf denen wertvolle Inhalte mit JavaScript gerendert wurden, konnten wir diese den suchenden Nutzern nicht anzeigen. Das war sowohl für die Suchenden als auch für die jeweiligen Webmaster ein Nachteil.

Um dieses Problem zu beheben, beschlossen wir, auszuprobieren, ob die Analyse der Seiten durch das Ausführen von JavaScript möglich sei. Dieses Vorgehen ist beim aktuellen Umfang des Webs recht schwierig, aber wir waren der Ansicht, dass es einen Versuch wert sei. Wir haben dieses Verfahren im Laufe der Zeit schrittweise verbessert. In den letzten Monaten hat unser Indexierungssystem eine große Anzahl an Webseiten beinahe wie einnormaler Nutzer gerendert, der einen Browser mit aktiviertem JavaScript verwendet.

Manche Abläufe beim Rendern sind nicht perfekt und können die Suchergebnisse für eure Websites beeinträchtigen. Im Folgenden findet ihr einige potenzielle Probleme und – sofern verfügbar – auch Vorschläge, wie ihr diese verhindern könnt:
  • Wenn Ressourcen wie JavaScript oder CSS in separaten Dateien blockiert werden, z. B. in robots.txt, damit der Googlebot sie nicht abrufen kann, kann unser Indexierungssystem eure Websites nicht wie ein normaler Nutzer abrufen. Wir empfehlen daher, dem Googlebot das Abrufen von JavaScript und CSS zu gestatten, damit eure Inhalte besser indexiert werden. Das ist insbesondere bei mobilen Websites wichtig, bei denen externe Ressourcen wie CSS und JavaScript unseren Algorithmen anzeigen, dass die Seiten für Mobilgeräte optimiert sind.
  • Sollte euer Webserver die hohe Anzahl von Crawling-Anfragen für Ressourcen nicht verarbeiten können, werden eure Seiten von uns möglicherweise nicht korrekt gerendert. Um sicherzustellen, dass eure Seiten von Google gerendert werden können, müssen eure Server die Crawling-Anfragen für Ressourcen verarbeiten können.
  • Idealerweise sollte eure Website auch auf Fehler und unerwartet auftretende Ereignisse angemessen reagieren (Graceful Degradation). Dadurch können Nutzer auf eure Inhalte auch dann zugreifen, wenn sie in ihren Browsern keine kompatiblen JavaScript-Implementierungen verwenden. Dieses Vorgehen hilft auch Websitebesuchern, die JavaScript deaktiviert haben, und Suchmaschinen, die noch kein JavaScript ausführen können.
  • In einigen Fällen ist JavaScript unter Umständen zu komplex, sodass wir die Seite nicht vollständig und korrekt rendern können.
  • Manche JavaScript-Implementierungen entfernen Inhalte von der Seite, statt sie hinzuzufügen, weshalb wir diese Inhalte dann nicht indexieren können.
Um das Debugging zu vereinfachen, entwickeln wir momentan ein Tool, das Webmastern ein besseres Verständnis vermitteln soll, wie Google ihre Websites rendert. Es sollte in den nächsten Tagen in den Webmaster-Tools verfügbar sein. Antworten auf Fragen findet ihr in unserem Forum für Webmaster.

Post von Michael Xu, Software Engineer, und Kazushi Nagayama, Webmaster Trends Analyst
(Veröffentlicht von Johannes Mehlem, Search Quality Team)