searchmetrics email facebook github gplus instagram linkedin phone rss twitter whatsapp youtube arrow-right chevron-up chevron-down chevron-left chevron-right clock close menu search
1172511725

Der Googlebot kann JavaScript – wie müssen SEOs reagieren?

Traditionell galt, dass Suchmaschinen lediglich den HTML-Code einer Website lesen und rendern. Für SEOs stand dementsprechend die Optimierung des HTML-Codes im Vordergrund. Was heißt es nun für die Suchmaschinenoptimierung, wenn der Googlebot auch in der Lage ist, JavaScript zu crawlen und indexieren? Dazu haben wir einige Branchenexperten gefragt.

blog_cover_javascript-550x400

Googlebot und JavaScript: Das sagen die Experten

Um verschiedene Meinungen zum Thema „Googlebot und JavaScript“ zu erhalten, haben wir Experten diese Fragen gestellt:

  • Laut Google ist der Googlebot in der Lage, JavaScript-basierte Websites zu crawlen – Wo siehst du derzeit Chancen und Schwierigkeiten?
  • Welche Punkte sollte jemand unbedingt beachten, der aktuell vor einem JavaScript-Relaunch steht?
  • Welche Veränderungen erwartest du von einem Update des Web-Renderings mit Chrome in Hinblick auf Effizienz und Genauigkeit?

Und jetzt kommen die Antworten.

Martin Tauber

Managing Partner, Marketing Factory GmbH

martintauber-200x200JavaScript-basierte Websites bieten besonders hinsichtlich der User Experience große Chancen, denn sie sind beispielsweise schneller und interaktiver in der Bedienung. Der Googlebot hat jedoch immer noch Interpretations-Schwierigkeiten bei JavaScript, weshalb eine sehr saubere und eng mit der SEO-Unit verwurzelte Entwicklung erforderlich ist, um böse Überraschungen zu vermeiden.

Dominik Wojcik

Geschäftsführer, Trust Agents

wojcik_200x200Die Chancen liegen darin, dass man nicht mehr zwei Welten Programmierung machen muss (zum Beispiel für escaped fragments), sondern eher den Fokus auf sauberen Code und eine saubere Web-Umgebung legen kann. Sofern die Entwickler auch Progressive Enhancement berücksichtigen und danach ihre Web-Applikation entwickeln, sollte Google aktuell ganz okay damit zurechtkommen.

Die Schwierigkeiten liegen aber hier verborgen. Welches Framework wird eingesetzt? Wird es Client-Side-Rendering geben oder gibt es die Möglichkeit, Server-Side-Rendering einzusetzen? Besteht sogar die Möglichkeit, isomorphes JavaScript einzusetzen? Wird das JavaScript intern oder extern eingesetzt? Als SEOs werden wir unglaublich viel testen und ausprobieren müssen, um ein saubere Google-Indexierung und Gewichtung hinzukriegen.

Vor einem Relaunch sollte genau überlegt werden, welches Framework genutzt wird. Sowohl Crawlability als auch Performance sollen berücksichtigt werden. Es sollte möglichst eine Testumgebung geschaffen werden, wo die aktuelle Entwicklung von außen getestet werden kann, sofern man Client-Side-Rendering einsetzt. Ich würde aber dringend dazu raten, zusätzlich Server-Side-Rendering einzusetzen. Das geht zwar auf die Server-Performance, sollte aber die Risiken etwas minimieren. Des Weiteren muss man wirklich nur sehr viel testen, indem man mit Fetch & Render schaut, was der Googlebot findet, indexiert und crawlt.

Sollte Google endlich mal auf eine Chrome-Version höher als V59 gehen, dann könnte man den Headless-Chrome in einer Kombination mit wie z.B. Rendertron nutzen, um Testumgebungen zu schaffen, die es einem ermöglichen, ein ähnliches Setup wie der Googlebot zu simulieren und damit besser nachvollziehen zu können, wie und was Google interpretieren kann. Es würde uns SEOs das Leben leichter machen ;)

Bartosz Goralwicz

Co-Founder & Head of SEO, Elephate

Auf dem Searchmetrics Summit im November 2017 sprach Bartosz Goralwicz von Elephate auch zur Beziehung zwischen dem Googlebot und JavaScript:

Stephan Czysch

Gründer & Geschäftsführer, Trust Agentsstephan-cyzsch-200

Es sollte nicht darauf hinauslaufen, dass man als SEO (oder Agentur) in einem Nebensatz hört, „Achja, wir stellen demnächst auf JavaScript um. Müssen wir dabei etwas hinsichtlich SEO beachten? Ich denke nicht, oder? Wir würden euch dennoch bitten, vor dem Livegang nächste Woche nochmal draufzuschauen, damit wir am folgenden Montag live gehen.“ Das führte zwangsläufig zu komplettem Chaos. Bartosz [im Video oben] hat einen wunderbaren Überblick über das Thema JavaScript und SEO gegeben.

Neben der Frage, was Google rendern kann, sollte man als SEO beim Relaunch kontrollieren, was am Ende für den Bot zu sehen ist und was im Vergleich zur aktuellen Website fehlt oder ergänzt wurde. Kürzlich hatte ich es mit einer Website zu tun, die im Zuge eines JavaScript-Relaunchs quasi die komplette interne Verlinkung auf den Kopf gestellt hat, da die Verlinkungslogiken der aktuellen Seite nicht übernommen wurden. Auch hreflang-Angaben wurden erstmal nicht mehr berücksichtigt. Eine Checkliste der gewünschten „SEO-Features“ ist deshalb unerlässlich. Zudem stellt sich die Frage, was JavaScript-Rendering eigentlich für meine Nutzer bedeutet: Mit was für Hardware sind diese auf meiner Website unterwegs und wie wirkt sich das auf die Ladezeit aus? Zu diesem Thema kann ich diesen Artikel von Addy Osmani empfehlen.

Sebastian Adler

SEO Consultant, leap.de

profile-seb-200Google wird auch bei verbesserten JS-Crawling-Fähigkeiten reinen HTML-Content bevorzugen, weil es weniger Ressourcen verbraucht. Es geht nicht darum, ob Google JS lesen und rendern kann, sondern ob man Google die Arbeit abnehmen kann und will. Wenn mein Inhalt auch ohne JS lesbar ist, gut funktioniert und schnell lädt, bin ich immer noch im Vorteil.

Die Rendering-Fähigkeit ist ja immer abhängig von der Technologie dahinter und wie Bartosz angemerkt hat, (ein großes Lob an dieser Stelle noch einmal für den Aufwand, den er mit seinem Experiment und den Recherchen zum Thema betreibt!), muss man diese Technologie umfassend verstehen, um sie für sich nutzen zu können. Die größte Chance besteht darin, die Risiken zu minimieren und wichtigen Inhalt als HTML auszuliefern und JS nur für das zu nutzen, für das es gedacht ist: als Erweiterung. Die größte Schwierigkeit erwächst aus der Fehlersuche, wenn man alles auf JavaScript setzt.

Achtet bei einem Relaunch darauf, dass die Inhalte, mit denen ihr ranken wollt, ohne JavaScript funktionieren. Das bezieht sich nicht nur auf den Main Content, sondern besonders auch auf Navigationselemente. Einige Seiten haben bei deaktiviertem JS kein Menü mehr. Baut nach Möglichkeit nicht jedes Fancy-Feature ein. Fragt euch: Ist diese Funktion entscheidend für mein Geschäft und meine Zielgruppe? Welche Folgen hätte es, wenn dieses Feature nicht funktioniert? Und testet es auch dementsprechend.

Abgesehen davon, dass ich nicht erwarte, dass Google das Web-Rendering-Update umfassend an die Webmaster kommunizieren wird, erwarte ich in erster Linie eine Veränderung der Fehleranfälligkeit. Chrome und die Frameworks entwickeln sich sehr schnell und mit der neuen Version werden neue Bugs Einzug in den RWS halten.

Ein paar Dinge werden sicher schneller verarbeitet oder sauberer gerendert werden können. Das Grundproblem aber bleibt, dass – aus Sicht der eingesetzten Engine – fehlerhafter Code nicht interpretiert werden kann. Wir müssen herauszufinden, wie die eingesetzte Engine unseren Code interpretiert. In der Entwicklung ändert sich dann das Tool, das zum Debugging herangezogen wird. Hat man seine wichtigen Assets als schnell ladende HTML & Co.-Dateien vorliegen, muss man sich keine Sorgen oder Hoffnungen machen, sondern kann sich auf die eigentliche SEO-Arbeit konzentrieren.

Björn Beth

Director of Professional Services, Searchmetrics

bjoern-in-circle2_200x200Man muss hier grundsätzlich zwischen Crawling und Indexing unterscheiden. Crawlen kann Google JavaScript, aber unter viel höherem Crawling-Aufwand, als es reines HTML crawlt. Problematisch wird es aber beim Indexer, der die Links (URLs), die er vom Crawler bekommt, mithilfe des Web-Rendering-Service (WRS) rendert (ähnlich wie bei Fetch & Render in der Search Console). Hierfür wird Googles hauseigener Chrome Browser (Version 41) genutzt. Mithilfe des Browsers wird versucht, das Document Object Model (DOM) zu erstellen und die Seite zu interpretieren, wie sie später auch im Browser dargestellt wird. Dies kann zu Problemen führen, da Google z.B. (dies haben u. A. Tests von Distilled oder Bartosz Goralewicz gezeigt) mit Fehlern im Coding nicht umgehen kann oder enorme Probleme beim Rendering bestehen, so dass Google nach 5 Sekunden sogar aufhört, zu rendern. Dies haben Tests von Screaming Frog gezeigt.

Schlussendlich lässt sich sagen, dass JavaScript das Crawling und Indexing stark verkompliziert und die Beziehung zwischen beiden enorm ineffizient gestaltet. Ist einem SEO wichtig, sollte man immer dafür sorgen, dass ein Bot so schnell und so effizient wie möglich seine Seite auslesen kann.

Wer vor einem Relaunch von einer HTML-basierten Webseite zu einem JavaScript-basierten Framework/Libary steht, sollte sicherstellen, dass ein serverseitiges Rendering eingebaut ist. React z.B. kommt mit einer eigenen Lösung, die sich renderToString nennt. Hier wird eine browserunabhängige DOM-Interface verwendet, die das JavaScript bereits auf dem Server rendert, das DOM erstellt und es so an den Bot schickt. AngularJS nutzt Angular Universal. Hier wird dem Client erst alles Wichtige als vorgerendertes HTML zur Verfügung gestellt. Der Client holt sich dann das JavaScript, wenn er es benötigt. Man kann aber auch selber mit einem Headless-Chrome auf dem Server arbeiten und vorgerendertes HTML an den Bot schicken.

Ich erwarte vor allem ein schnelleres und effizienteres Rendering mit Chrome 59 bis hin zur selben Leistungsfähigkeit wie bei reinem HTML. Ob dies eintrifft, werden Tests zeigen müssen.

Searchmetrics-Lösung fürs JavaScript-Crawling

Searchmetrics ermöglicht ab jetzt das vollständige Crawlen von Websites, die auf JavaScript basieren. Dabei kann der Searchmetrics-Crawler alle populären JavaScript-Frameworks untersuchen, inklusive Angular und React. Damit können wir die technischen Fehler für Sie vorpriorisieren, damit Sie sich ganz auf die Verbesserung der Website-Performance konzentrieren können. Das sind die neuen JavaScript-Features von Searchmetrics:

  • Vollständiges Crawlen aller populären Frameworks von JavaScript
  • Crawling von dynamischen Websites und Progressive Web Apps möglich
  • Ermöglicht Analysen im Vergleich mit und ohne JavaScript Crawling

Und was sagt ihr?

Das waren die Meinungen von fünf Experten, aber viele weitere Experten lesen ja diesen Blog. Was sagt ihr also zum JavaScript? Habt ihr bereits bei euren Webseiten etwas umgestellt? Habt ihr beim Testen schon was Spannendes entdeckt? Ab damit in die Kommentare!