Inhaltsverzeichnis
Neue Lösung für Javascript aus SEO-Sicht:
Googles neuer Ansatz „Dynamic Rendering“ soll helfen, JavaScript-Seiten schneller und effektiver zu rendern und zu indexieren. Dazu sollen Webcrawler JavaScript und HTML-Code fertig gerendert direkt vom Server erhalten, während Besucher den Code weiterhin browserbasiert verarbeiten, um die Webseite grafisch darzustellen.
Google erklärt den Begriff Dynamic Rendering als
„switching between client-side rendered and pre-rendered content for specific user agents.“
Als Schaubild kann man sich das Ganze in etwa so vorstellen:
Crawler bekommen zur Indexierung also in Zukunft JavaScript als vorgerenderten statischen HTML-Code geliefert. Für die Besucher werden HTML-Code und JavaScript weiterhin in real-time im Client gerendert.
Warum überhaupt die Extrawurst für Bots durch Dynamic Rendering?
Da das Ausführen von JavaScript sehr rechenintensiv ist, kann es bei größeren Webseiten mitunter Tage dauern, bis diese vollständig indexiert werden. Manchen Code kann der Crawler dabei auch gar nicht erfassen. Google Dynamic Rendering soll diesen Prozess erheblich beschleunigen und vereinfachen. Das Ergebnis ist eine schnellere Indexierung von Java-gestützten, interaktiven Webseiten.
Folgendes Schaubild stellt die zwei unterschiedlichen Rendering-Methoden anschaulich dar:
Ein wenig ähnelt das Dynamic Rendering dem AJAX-Crawling-Schema – auch hier wird JavaScript für Besucher auf Clientseite gerendert, während Google und andere Crawler ein statisches HTML-Abbild pro Unterseite fordern.
Welche Webseiten sollten Dynamic Rendering nutzen?
Laut John Müller, Webmaster Trends Analyst bei Google, wird Dynamic Rendering insbesondere empfohlen für:
- Große Webseiten, die sich häufig ändern
- Webseiten, mit starker Social Media Präsenz, die Share-Buttons verwenden. Diese Buttons brauchen gerenderte Seiten, um Bilder und Content, der geteilt werden soll, auf der jeweiligen Plattform auszuliefern.
- Webseiten, die sehr morderne JavaScript-Funktionen (zum Beispiel ab Chrome 41) nutzen.
Wie kann ich Dynamic Rendering für meine Webpräsenz verwenden?
Wichtig ist, dass der Webserver Anfragen von Crawlern als solche erkennen kann (zum Beispiel über user agent). Anfragen von Usern werden normal bedient, Anfragen von Bots hingegen werden über einen Renderer geleitet.
Vom Webserver wird bei Aufruf ein initialer HTML-Code an den User-Client und an den Renderer gesendet. Während der Browser direkt die Verarbeitung zur Darstellung für den Besucher übernimmt, gibt der Renderer einen finalen, statischen Code an den Server zurück, der diesen dann an die Bots leitet. Zwei von John Müller in diesem Zusammenhang vorgestellte Dynamic Rendering Tools als zwischengeschaltete Serverkomponente sind Puppeteer und Renderton.
Nachfolgendes Schaubild zeigt die Umsetzung mit Hilfe eines dieser Tools:
Das Konzept des Dynamic Renderings wurde von Google erstmals im Mai 2018 vorgestellt. Das Verfahren wird also in Zukunft sicher noch weiter optimiert werden, bis es eine effizientere Lösung gibt, JavaScript-Seiten ohne Verzögerung vom Crawler auswerten und indexieren zu lassen
Weiterführende Links:
Implementing Dynamic Rendering – offizieller Google- Guide: https://developers.google.com/search/docs/guides/dynamic-rendering
Dynamic Rendering von John Müller und Tom Greenaway in einem Video erklärt: https://www.youtube.com/watch?time_continue=1444&v=PFwUbgvpdaQ
Interessanter Ansatz, hab mich mit dem Thema bis jetzt nicht auseinander gesetzt.