Kurz erklärt
Server-Side-Rendering (SSR) bezeichnet eine Rendering-Strategie, bei der ein Webserver das vollständige HTML einer Seite erzeugt, bevor er es an den Browser ausliefert. Der Server führt den nötigen Code aus, holt Daten aus Datenbank oder API und schickt dem Client eine fertig befüllte Seite.
Das ist der entscheidende Unterschied zu Ansätzen, die den Inhalt erst im Browser per JavaScript zusammensetzen. Gerade für Suchmaschinen-Crawler und KI-Bots, die HTML lesen, aber kein oder nur eingeschränkt JavaScript ausführen, ist SSR häufig die Voraussetzung dafür, dass der Inhalt überhaupt erfasst wird. Damit ist SSR heute weniger eine reine Entwickler-Frage als eine Entscheidung mit direkten Folgen für Sichtbarkeit und Umsatz.
Wie Server-Side-Rendering funktioniert
Bei einer SSR-Seite läuft die Anfrage so ab: Der Browser fordert eine URL an. Der Server nimmt die Anfrage entgegen, führt die Anwendungslogik aus, lädt die benötigten Daten und rendert daraus ein vollständiges HTML-Dokument. Dieses Dokument geht zurück an den Browser, der es sofort anzeigen kann — der sichtbare Inhalt steht also bereits, bevor irgendein clientseitiges Skript geladen wurde. In modernen Frameworks folgt danach meist ein zweiter Schritt namens Hydration: Das mitgelieferte JavaScript „belebt" die bereits gerenderte Seite, hängt Event-Handler an und macht sie interaktiv. Der Nutzer sieht den Inhalt also früh, die volle Interaktivität kommt kurz darauf.
Dem gegenüber steht das Client-Side-Rendering (CSR), das den umgekehrten Weg geht. Hier schickt der Server zunächst nur ein nahezu leeres HTML-Gerüst mit Verweisen auf JavaScript-Dateien. Erst im Browser wird der Code ausgeführt, Daten werden nachgeladen und der eigentliche Inhalt entsteht. Für einen menschlichen Nutzer mit modernem Browser funktioniert das oft tadellos. Für einen Crawler, der das initiale HTML liest und kein JavaScript rendert, bleibt die Seite jedoch praktisch leer. Genau dieser Unterschied entscheidet darüber, ob eine Seite für Maschinen sichtbar ist oder nicht.
Was bei der Hydration passieren kann
Die Hydration ist die elegante Idee hinter modernem SSR, aber auch ihre häufigste Fehlerquelle. Stimmt das serverseitig erzeugte HTML nicht exakt mit dem überein, was das clientseitige JavaScript erwartet, kommt es zu einem sogenannten Hydration-Mismatch: Die Seite „flackert", Interaktionen funktionieren erst verspätet, oder es erscheinen Konsolenfehler. Solche Mismatches entstehen typischerweise durch Inhalte, die auf Server und Client unterschiedlich gerendert werden — etwa Zeitstempel, Zufallswerte oder browserspezifische Logik. Wer SSR sauber aufsetzt, achtet darauf, dass beide Seiten denselben Ausgangszustand erzeugen.
Abgrenzung: SSR, CSR und SSG
Neben SSR und CSR gibt es eine dritte verbreitete Variante: das Static Site Generation (SSG). Dabei wird das HTML nicht bei jeder Anfrage, sondern einmalig zum Build-Zeitpunkt erzeugt und dann als statische Datei ausgeliefert. SSG ist extrem schnell und crawlerfreundlich, eignet sich aber nur für Inhalte, die sich nicht ständig ändern. SSR rendert dagegen pro Anfrage frisch und passt damit für dynamische, personalisierte oder häufig aktualisierte Seiten. In der Praxis mischen viele moderne Anwendungen diese Strategien — statische Seiten per SSG, dynamische per SSR, hochinteraktive Teilbereiche per CSR. Eine vierte Variante, das Incremental Static Regeneration, kombiniert die Geschwindigkeit von SSG mit der Frische von SSR, indem statische Seiten im Hintergrund in Intervallen neu erzeugt werden.
| Strategie | HTML entsteht | Crawler-Freundlichkeit | Typischer Einsatz |
|---|---|---|---|
| SSR | pro Anfrage auf dem Server | hoch | dynamische, aktuelle Inhalte |
| SSG | einmalig zum Build-Zeitpunkt | sehr hoch | selten geänderte Inhalte (Blog, Doku) |
| CSR | im Browser per JavaScript | niedrig | hochinteraktive Web-Apps hinter Login |