Google kommt auch mit manchen Single Page Appilcations zurecht, bei denen Client Side Rendering genutzt wird. Allerdings stellt das hohe Anforderungen an den Googlebot.
Single Page Applications (SPAs) sind Webseiten, die auf JavaScript basieren und sich im Grunde wie native Apps verhalten. Sie sind für Google noch immer noch vergleichsweise anspruchsvoller zu crawlen als herkömmliche Webseiten.
Es gibt verschiedene Möglichkeiten, wie SPAs für den Client ausgeliefert werden können. Entweder wird das zum Rendern der Seite benötigte JavaScript an den Client übertragen, der die Seite dann berechnet (Client Side Rendering), oder der Server übernimmt das Rendern und liefert fertiges HTML aus (Server Side Rendering). Viele JavaScript-Frameworks wie Angular bieten die Möglichkeit, Server Side Rendering zu nutzen.
Für den Googlebot ist die zweite Alternative, also das Server Side Rendering, vorteilhaft, weil dadurch weniger Rechenaufwand für den Crawler anfällt. Er muss lediglich das fertige HTML auslesen.
Laut Johannes Müller von Google kann für manche Webseiten auch das Client Side Rendering gut funktionieren. Das komme jedoch auf die Umstände an:
Allerdings kann es bei solchen Seiten einige Zeit dauern, bis Google diese komplett indexiert - bis zu mehrere Tage sind möglich.
Neu ist der kürzlich von Google vorgestellte Ansatz des Dynamic Renderings: Bei diesem System wird für normale Nutzer das zum Bau der Seite benötigte JavaScript ausgeliefert (Client Side Rendering), während der Googlebot und andere Crawler fertiges HTML erhalten (Server Side Rendering):
Welche Variante gewählt werden soll, hängt von verschiedenen Faktoren ab, zum Beispiel, wie aufwändig die Umsetzung von Server Side Rendering ist und wie komplex die SPA aufgebaut ist. Zum Testen von Single Page Applications bietet sich das von Google entwickelte Tool Lighthouse an. Dort findet man nicht nur Angaben zur Ladezeit und zur Performance, sondern es werden auch SPA-spezifische Faktoren geprüft, so zum Beispiel, ob Service Worker verwendet werden.