Bessere Analyse von Webseiten

Freitag, 23. Mai 2014

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)