In short. Server-side rendering generates HTML on request so page content is available before browser scripts execute.
Definition: Server-side rendering (SSR) generates a page's HTML on the server in response to a navigation request. The response contains substantive page content that a browser or crawler can read before browser scripts execute.
Key facts
- As of October 2026, Google's JavaScript SEO documentation distinguishes server-rendered responses containing the page's content from an app shell whose content requires JavaScript execution.
- Google's web.dev guide, Rendering on the Web, describes server rendering as producing HTML on demand and static rendering as producing HTML at build time.
- React's hydrateRoot reference describes hydration as attaching application logic to HTML already generated on the server.
- Google's JavaScript troubleshooting guide recommends the Rich Results Test or Search Console's URL Inspection Tool to examine how Google crawls and renders a URL.
What arrives before JavaScript runs?
An HTML response is the document returned by the server for a page request. In Google's JavaScript SEO guide, server-rendered pages have their content in this response. An app shell supplies an initial document that requires scripts to generate the actual page content.
The following HTML excerpt comes from the guide's History API example, which shows navigation between page URLs:
<h1>Welcome to example.com!</h1>
<div id="placeholder">
<p>Learn more about <a href="/products">our products</a> and <a href="/services">our services</a></p>
</div>
The heading, paragraph and link destinations are already represented in HTML. Google describes extracting link destinations from the response's href attributes, then parsing links again after rendering. Serving the text and links in the response makes that content available at the initial parsing stage.
Server rendering still fits within Google's rendering process. The same guide says pages returning an HTTP 200 status enter the rendering queue unless a robots meta tag or header instructs Google against indexing. Google uses rendered HTML to index the page. SSR therefore addresses how content arrives within that process.
How do static generation and hydration differ?
Static site generation produces HTML ahead of requests, during a build. The web.dev rendering guide distinguishes this from SSR's on-demand generation. Both approaches can supply content in the HTML response. The guide identifies access to live data and personalization as reasons to generate pages on demand, while noting that server computation takes time and can delay the response's first byte.
Hydration runs browser scripts to attach behavior to existing server-rendered HTML. In React's documentation, hydrateRoot attaches component logic to that HTML and makes the application interactive. React expects the initial browser render to match the server output and treats mismatches as bugs.
Visible content and working interactions can therefore arrive at different times. The web.dev guide explains that a server-rendered page using hydration can look ready while its controls still await browser scripts and event handlers.
How is the delivered content checked?
A practical review compares the HTML response with the rendered page. The response establishes which text and links arrive before script execution. Google recommends server rendering or pre-rendering partly because some bots cannot run JavaScript, according to its JavaScript SEO guidance.
For Google specifically, its troubleshooting documentation directs reviewers to the Rich Results Test or URL Inspection Tool. These expose rendered content, loaded resources and JavaScript errors. Comparing the response with that output helps identify content supplied only by scripts and failures that affect rendering.
Related terms
FAQ
Can a server-rendered page still use JavaScript?
Yes. React's hydration documentation explains how browser scripts attach component logic to server-generated HTML. You can receive readable content before the application becomes interactive.
Does static site generation also deliver content in HTML?
Yes. The web.dev guide describes creating an HTML file for each URL ahead of time. You receive prebuilt HTML rather than waiting for that page to be generated on request.
Sources
- Google Search Central, "Understand the JavaScript SEO basics", updated 4 March 2026
- Google web.dev, "Rendering on the Web", updated 5 January 2026
- React, "hydrateRoot", accessed 17 October 2026
- Google Search Central, "Fix Search-related JavaScript problems", updated 18 December 2025
Check how a page reads to answer engines. Open the GEO score analyzer