Client-Side Rendering (CSR)
Client Side Rendering (CSR) ist eine Methode, bei der der Browser wesentliche Inhalte einer Webseite mit JavaScript erzeugt. Anders als beim serverseitigen Rendering liefert der Webserver dabei oft nur ein Grundgerüst und die nötigen Skripte aus; der Browser baut daraus die sichtbare Seite auf.
Wie funktioniert Client Side Rendering?
Wenn du eine klassisch serverseitig gerenderte Webseite öffnest, erhält dein Browser bereits weitgehend fertigen HTML-Code. Bei Client Side Rendering läuft ein größerer Teil dieser Arbeit dagegen auf deinem Gerät.
Der Server überträgt zunächst eine HTML-Datei, Stylesheets und JavaScript-Dateien. Das anfängliche HTML kann dabei nur wenige sichtbare Inhalte enthalten. Nach dem Laden führt der Browser das JavaScript aus. Dieses kann zusätzliche Daten über eine API, also eine Programmierschnittstelle, abrufen und daraus Überschriften, Texte, Produktinformationen oder andere Elemente erzeugen.
JavaScript verändert dafür das Document Object Model (DOM). Das DOM ist die interne Darstellung einer Webseite im Browser. Über diese Struktur kann JavaScript Inhalte hinzufügen, ändern oder entfernen. Client Side Rendering bedeutet deshalb vereinfacht: Der Server liefert die Bausteine, der Browser setzt einen wesentlichen Teil der Seite zusammen.
Was ist der Unterschied zwischen CSR und Server Side Rendering?
Beim Server Side Rendering (SSR) erzeugt der Server das HTML vor der Übertragung an den Browser. Der Browser kann wichtige Inhalte deshalb häufig schon darstellen, bevor umfangreiches JavaScript ausgeführt wurde.
Bei CSR liegt mehr Arbeit auf der Client-Seite, also beim Browser des Besuchers. Das ermöglicht sehr dynamische Oberflächen. Klickst du beispielsweise innerhalb einer Webanwendung auf einen anderen Bereich, muss nicht zwangsläufig eine komplett neue HTML-Seite geladen werden. JavaScript kann nur die benötigten Daten abrufen und den betreffenden Bereich aktualisieren.
CSR und SSR schließen sich nicht aus. Moderne Webanwendungen kombinieren beide Verfahren häufig. Dabei kann der Server zunächst fertiges HTML liefern und JavaScript anschließend die interaktiven Funktionen übernehmen. Dieser Vorgang wird häufig als Hydration bezeichnet.
Welche Rolle spielen Single-Page Applications?
Client Side Rendering ist eng mit Single-Page Applications (SPA) verbunden. Eine SPA lädt nicht bei jeder Navigation ein vollständig neues HTML-Dokument. Stattdessen wird die bestehende Ansicht dynamisch verändert.
Solche Konzepte verbreiteten sich besonders mit den interaktiveren Webanwendungen der 2000er-Jahre. Techniken wie Ajax ermöglichten es, Daten vom Server nachzuladen, ohne die gesamte Seite neu zu laden. Später vereinfachten JavaScript-Bibliotheken und Frameworks die Entwicklung komplexer browserseitiger Anwendungen erheblich.
Eine SPA muss jedoch nicht vollständig mit CSR arbeiten. Frameworks wie React, Vue oder Svelte können auch mit serverseitigem Rendering oder gemischten Rendering-Strategien eingesetzt werden.
Welche Vor- und Nachteile hat Client Side Rendering?
Ein wichtiger Vorteil von CSR ist die hohe Interaktivität. Nachdem die Anwendung geladen wurde, können sich Ansichten schnell verändern, ohne dass dein Browser ständig komplette Seiten neu laden muss. Außerdem kann der Server entlastet werden, weil ein Teil der Darstellung auf dem Endgerät erfolgt.
Der erste Seitenaufruf kann jedoch aufwendiger sein. Muss dein Browser zuerst große JavaScript-Dateien herunterladen, verarbeiten und ausführen, erscheint der eigentliche Inhalt unter Umständen später. Besonders auf langsameren Smartphones oder bei schwachen Internetverbindungen kann das spürbar werden. Große JavaScript-Pakete können außerdem die Reaktionsgeschwindigkeit einer Seite beeinträchtigen. Deshalb werden Techniken wie Code-Splitting und verzögertes Laden eingesetzt, damit nur gerade benötigter Code übertragen wird.
Was bedeutet Client Side Rendering für SEO?
Für Suchmaschinen ist entscheidend, ob sie die erzeugten Inhalte und Links erkennen können. Google verarbeitet JavaScript mit einem auf Chromium basierenden Rendering-System. Der Ablauf umfasst Crawling, Rendering und Indexierung. Bei einer CSR-Seite kann deshalb zusätzlich zur ursprünglichen HTML-Antwort auch die gerenderte Version der Seite entscheidend sein.
Das bedeutet nicht, dass Client Side Rendering grundsätzlich schlecht für SEO ist. Probleme entstehen eher durch eine fehlerhafte Umsetzung. Wenn wichtige Inhalte wegen JavaScript-Fehlern nicht erscheinen, Ressourcen blockiert werden oder Links nicht sauber ausgezeichnet sind, kann die Erfassung erschwert werden.
Bei clientseitigem Routing sollten echte, crawlbare URLs verwendet werden. Google empfiehlt für Links klassische HTML-Verweise mit einem href-Attribut und für die Navigation in Single-Page Applications die History API statt URL-Fragmenten als zentrale Routing-Lösung. Server Side Rendering oder Prerendering können zusätzlich sinnvoll sein, wenn wichtige Inhalte schnell und zuverlässig verfügbar sein sollen.
Häufige Fragen
Was ist Client Side Rendering?
Client Side Rendering bedeutet, dass wesentliche Seiteninhalte mithilfe von JavaScript im Browser erzeugt werden. Der Server liefert dafür meist ein Grundgerüst, Skripte und benötigte Daten.
Ist Client Side Rendering schlecht für SEO?
Nein, Client Side Rendering ist nicht grundsätzlich schlecht für SEO. Wichtig ist, dass Suchmaschinen wichtige Inhalte und Links nach dem Ausführen von JavaScript zuverlässig erkennen können.
Was ist der Unterschied zwischen CSR und SSR?
Bei CSR erzeugt hauptsächlich der Browser die Inhalte, während bei SSR der Server fertiges HTML erstellt. Beide Methoden können innerhalb derselben Website miteinander kombiniert werden.