Häufig werden die Begriffe Prerendering, Server Side Rendering und Dynamic Rendering synonym verwendet, doch es gibt Unterschiede. Welche das sind, hat Google jetzt in einem Podcast erklärt.
Die Ladezeit von JavaScript-Websites ist manchmal höher als die Ladezeit von Websites, die nur oder hauptsächlich aus HTML-Code bestehen. Das liegt daran, dass das JavaScript vom Server übertragen und anschließend im Client ausgeführt werden muss, bevor Inhalte zu sehen sind.
Um die Ladezeit solcher Websites zu verkürzen, gibt es verschiedene Möglichkeiten, die alle auf dem vorherigen Rendern des JavaScripts basieren: Prerendering, Server Side Rendering und Dynamic Rendering.
Häufig werden diese Begriffe in einen Topf geworden, doch es gibt Unterschiede. Welche das sind, das wurde in einer neuen Ausgabe von Googles SEO-Podcast "Search Off the Record" besprochen. Martin Splitt erklärte die verschiedenen Arten des serverseitigen Renderns von Javascript und die jeweiligen Einsatzgebiete.
Prerendering bietet sich für Websites an, auf denen es zeitlich planbare Änderungen gibt. Dazu gehören zum Beispiel Blogs. Immer dann, wenn es eine Änderung wie zum Beispiel einen neuen Blogbeitrag gegeben hat, kann ein erneutes Prerendering angestoßen werden. Dabei wird auf dem Server das fertige HTML erzeugt, welches dann an die Clients ausgespielt wird.
Server Side Rendering ist dagegen eine Technik, die sich vor allem für dynamische Websites mit vielen Änderungen anbietet. Dazu gehören zum Beispiel Social Media- oder Auktions-Websites. Beim Server Side Rendering wird das HTML bei jedem Aufruf auf dem Server basierend auf dem JavaScript der Website neu berechnet.
Dynamic Rendering ist eine Variante des Server Side Renderings: Hier wird das JavaScript auf dem Server für die Suchmaschinen ausgeführt und fertiges HTML berechnet. Andere Clients erhalten das JavaScript, welches dann im Browser ausgeführt wird.
Eine Mischform bildet die Hydration: Dabei wird ein bestimmter Teil des JavaScripts auf dem Server ausgeführt, während ein anderer Teil des JavaScripts an die Clients ausgespielt und dort ausgeführt wird, um zum Beispiel für die Darstellung und optische Effekte zu sorgen.
Doch welche Form des Renderings ist für eine Website die richtige? Das kommt tatsächlich auf verschiedene Faktoren an - zum Beispiel darauf, wie häufig es Änderungen gibt, ob bestimmte Funktionen benötigt werden, die JavaScript auf Clientseite erfordern etc. Das alles sollte abgewogen und auch im Hinblick auf die Performance der Website bewertet werden.