New

FlowConsent, our own cookie banner, is live.

Server-side rendering: plainly explained.

Server-side rendering (SSR) builds a page's HTML on the server per request. Definition, how it works, SSR vs client-side rendering, SEO and speed impact.

Webapp · Updated Nov 7, 2026

DEFINITION

Server-side rendering (SSR) generates a page's full HTML on the server per request, so the browser gets ready-to-display content instead of an empty shell.

CATEGORY

Webapp

RELATED

Front end, dev

Summarize this page with AI

01

What is server-side rendering?

Server-side rendering, or SSR, is a technique where a web server generates a page's complete HTML for each incoming request, before sending it to the browser. The visitor receives a fully formed page immediately, rather than a near-empty HTML shell that only fills in once JavaScript downloads, executes, and fetches data. This matters both for visitors on slow connections, who see meaningful content sooner, and for search engine crawlers, which can read the page's content without having to execute JavaScript first.

SSR sits opposite client-side rendering, where the server sends a minimal HTML file and a JavaScript bundle that builds the actual page content in the browser after it loads. Most modern frameworks now support both modes, and many production sites mix them depending on the page.

02

How server-side rendering works

On each request, the server runs the application code, fetches any data the page needs, and renders the resulting markup into an HTML string before sending it as the response:

// simplified SSR request handler
app.get('/product/:id', async (req, res) => {
const product = await fetchProduct(req.params.id);
const html = renderToString(<ProductPage product={product} />);
res.send(`<html><body>${html}</body></html>`);
});

The browser then loads a JavaScript bundle that attaches event handlers to that existing HTML, a step called hydration, so the page becomes interactive without the browser having to build the markup from scratch.

03

SSR variants

  • Classic SSR: HTML is rendered fresh on the server for every request.
  • Static site generation: pages are rendered once at build time and served as static files, no per-request server work.
  • Incremental static regeneration: static pages are regenerated in the background on a schedule or on demand, combining static speed with fresher content.
  • Streaming SSR: the server sends HTML in chunks as it becomes ready, letting the browser start rendering before the full page has finished generating.
04

Server-side rendering vs client-side rendering

AspectServer-side rendering
First content visibleImmediately, in the initial HTMLClient-side renderingAfter JavaScript downloads and runs
SEO out of the boxStrong, no JavaScript execution neededClient-side renderingDepends on the crawler executing JavaScript
Server loadHigher, work done per requestClient-side renderingLower, work done in the browser
05

Best practices and common pitfalls

  • Cache rendered HTML where content does not change per visitor, to avoid re-running the full render on every request.
  • Keep the data fetching a page needs for its initial render as small as possible; a slow database query on the server delays the entire response.
  • Match server and client rendering output exactly, since a mismatch during hydration causes visible flicker or React hydration warnings.
  • Consider static site generation instead of full SSR for pages whose content rarely changes, since it removes per-request server cost entirely.
  • Monitor server response time under load: SSR shifts rendering cost from the visitor's device to the server, which needs to scale accordingly.
06

Why it matters for SEO and performance

Search engines can index client-rendered pages, but SSR removes any uncertainty by delivering complete, crawlable HTML on the very first response, which is particularly valuable for content-heavy sites, e-commerce catalogs, and blogs where organic search traffic matters. SSR also tends to improve the perceived loading speed for visitors, since meaningful content appears before the full JavaScript bundle has finished downloading and running, which benefits Core Web Vitals metrics like Largest Contentful Paint.

07

Server-side rendering at BeBranded

When we build custom web applications, we choose between server-side rendering, static generation, and client-side rendering based on how often a page's content changes and how much organic search traffic it needs to capture, rather than defaulting to one approach for every project. See our web apps service for how we architect the applications and frameworks we build for clients.

FAQ

Questions about Server-side rendering.

Another question?

Write to us
What is server-side rendering used for?
It is used to generate a page's full HTML on the server before sending it to the browser, so visitors and crawlers see complete content immediately instead of a blank page waiting for JavaScript.
Is server-side rendering better for SEO?
Generally yes: search engine crawlers receive fully formed HTML immediately, removing any dependency on JavaScript execution to see the page's content.
What is the difference between SSR and static site generation?
SSR renders a page on the server for every request, while static site generation renders pages once at build time and serves the same static file to every visitor.
Does SSR make a site slower?
It adds server processing time per request compared to serving a pre-built static file, but it usually still delivers content faster to the visitor than pure client-side rendering.
Can a single-page application use server-side rendering?
Yes. Frameworks built for single-page applications commonly offer an SSR mode that renders the initial page on the server, then hands off interactivity to client-side JavaScript.
What is hydration in server-side rendering?
Hydration is the step where the browser attaches JavaScript event handlers to the server-rendered HTML, turning static markup into an interactive page without re-rendering it from scratch.

Related

Related terms, and where to go next.

Bubble vs. WeWeb: which no-code tool should you choose for your web application?
No-Code

Bubble vs. WeWeb: which no-code tool should you choose for your web application?

Bubble vs. WeWeb: which tool is best for your web app? Discover features, scalability, SEO performance, pricing and ease of use to choose the right platform.

Read the article
Response to the critical video on Low-code: debunking misconceptions and highlighting the true value of Low-Code
No-Code

Response to the critical video on Low-code: debunking misconceptions and highlighting the true value of Low-Code

Is Low-Code really too expensive, unscalable and difficult to collaborate on? We debunk the myths from Micode’s video and reveal how to use them the right way.

Read the article
Illustration for the article “Webflow no-code: where it helps and where it falls short”
Development

Webflow no-code: where it helps and where it falls short

Webflow no code explained for CEOs and marketers: where it speeds up websites, where it falls short and how to decide before you build.

Read the article

Let’s talk

Tell us what you want to build.

Thirty minutes with the people who will work on your project. You leave with a clear view of the scope, the timeline and the next steps.

What happens next

  1. 1A 30-minute callWe listen to your goals, your constraints and your context.
  2. 2A clear scopeWe map what is worth doing first, and what it takes.
  3. 3A costed proposalYou decide, with no commitment and no sales pitch.