Rendering a page's HTML on the server so it arrives ready to display, before JavaScript runs.
Server-side rendering is when the server generates the full HTML of a page and sends it to the browser ready to display, rather than sending a near-empty shell that the browser must fill in by running JavaScript. The user sees meaningful content immediately, and crawlers receive complete HTML without needing to execute scripts.
SSR contrasts with pure client-side rendering, where the browser downloads JavaScript first and only then builds the page. Modern frameworks like Angular and Next.js support SSR so you can get the SEO and performance benefits of server HTML while keeping a rich client-side app.
SSR improves the first meaningful paint, so users perceive the page as fast, and it makes content reliably available to search engines and AI crawlers that do not always execute JavaScript well. For content and marketing sites, that indexability is often decisive.
On each request (or at build time for static pages), the framework runs the app on the server, produces HTML, and sends it. The browser displays that HTML immediately, then the client-side JavaScript takes over to make the page interactive, a step called hydration.
Our marketing and content builds use SSR by default so pages are indexable and fast for real users. We pair it with careful hydration so the handoff from server HTML to interactive app does not cause layout shifts or wasted work.
Server-side rendering (SSR) generates a page's full HTML on the server for each request, so the browser (and search crawlers) receive complete, ready-to-read content immediately rather than a near-empty shell that JavaScript must fill in. This matters for SEO and performance: crawlers reliably see SSR content without depending on JavaScript execution, and users see meaningful content sooner (better perceived performance and often better Core Web Vitals). It is the default choice when SEO and first-load speed are priorities, which is why content-heavy and marketing sites favour it over pure client-side rendering.
With SSR the server runs the application to produce HTML for the requested URL, sends it, and the client then "hydrates" it into an interactive app. The trade-off versus static generation is that rendering on every request adds server cost and can increase time-to-first-byte, so heavy SSR needs caching and a fast backend. The trade-off versus client-side rendering is more server work in exchange for better SEO and first paint. Modern frameworks blur these lines with hybrid rendering — static where possible, SSR where dynamic, streaming to send HTML progressively — so you pick the strategy per route.
SSR is the right call when content must be indexable and fresh per request and first-load speed matters — e-commerce product pages that change with stock and price, personalised dashboards, marketing pages that must rank. It is overkill for a purely static brochure (use static generation) and unnecessary for an internal tool behind a login where SEO is irrelevant (client rendering is simpler). The practical modern pattern is hybrid: statically generate what rarely changes, server-render what is dynamic and SEO-critical, and keep the client bundle lean so hydration does not undo the performance SSR bought you.
Part of our defined terms knowledge graph — browse every entry in this branch.
The step where client JavaScript attaches to server-rendered HTML to make it interactive.
A content system that stores and serves content via API, leaving the front end entirely to you.
Optimising content to be cited and surfaced by AI answer engines, not just ranked in blue links.
Machine-readable markup that describes page content to search engines.
The credibility a site earns with search engines by covering a subject deeply and consistently.
Common questions
Straight answers on how this fits your marketing and build.
Still have questions? Talk to a specialist