freecourses.digital
Lesson progress: 0 of 3 activities done
All lessons in Technical SEO Auditing Lesson 8.3 of 84

Client-Side vs. Server-Side Rendering

What we will go through

  • How client-side and server-side rendering work
  • Where static generation and hydration fit
  • How to tell which method a site uses
  • Why dynamic rendering is now a workaround

Short answer

Client-side rendering sends a mostly empty HTML page and builds content in the browser with JavaScript. Server-side rendering and static generation send complete HTML from the server, then hydrate it for interactivity. For SEO, server-rendered or static HTML is safer because content and links are visible immediately to every crawler.

Think of a restaurant. With client-side rendering, you get the ingredients and a recipe, and you cook at your table. With server-side rendering, the kitchen cooks and serves the finished dish. With static generation, the dish was prepared earlier and is ready the moment you order. Google can cook, but it prefers being served.

The methods

MethodWhat the HTML containsSEO risk
CSREmpty shell, content built by JSHigher: depends on rendering
SSRFull content per requestLow
SSGFull content, prebuiltLow
HybridMix per routeVaries, check each template

Most modern frameworks hydrate SSR or SSG pages so they become interactive after loading.

How to identify the method

  1. View Source: is the main content there? Yes means SSR or SSG. A near-empty <div id="root"> means CSR.
  2. Disable JavaScript in DevTools and reload. What remains is the raw experience.
  3. Check framework signs: __NEXT_DATA__ (Next.js), data-reactroot, ng-version, Wappalyzer extension.
  4. Check per template: product pages may be SSR while filters or reviews are CSR.

Dynamic rendering

Serving pre-rendered HTML only to bots was once common. Google now treats it as a workaround, not a long-term solution. In audits, recommend SSR or static generation for important templates.

Practice: which rendering method?

Sort each item into the right group.

  • View Source shows only <div id="app"></div>

  • Full product text visible with JavaScript disabled

  • Blog built into HTML files at deploy time

  • Page goes blank when JavaScript is turned off

Common mistakes

  • Assuming one method for the whole site. Check per template.
  • Recommending dynamic rendering as the fix.
  • Recommending a full rebuild when only one template needs SSR.
1. View Source shows only an empty root div. Which method?
2. Why is SSR safer for SEO?
3. How does Google view dynamic rendering today?

Your action

Next, you will check JavaScript-generated content and links.

Key terms

Client-side rendering (CSR)
The browser downloads JavaScript that builds the page content.
Server-side rendering (SSR)
The server builds the full HTML for each request before sending it.
Static site generation (SSG)
Pages are built into HTML files ahead of time and served as is.
Hydration
JavaScript attaching interactivity to server-rendered HTML in the browser.

Questions beginners ask

Can a CSR site rank well?

Yes, if rendering works reliably. But it depends on Google's rendering, is slower to index, and is weaker for non-rendering crawlers.

What is dynamic rendering?

Serving pre-rendered HTML to bots and JavaScript to users. Google now calls it a workaround and recommends SSR or static generation instead.

Which frameworks support SSR?

Next.js, Nuxt, SvelteKit, Remix, Astro, and Angular Universal, among others.

Does WordPress need this?

Standard WordPress is server rendered. Headless WordPress with a JavaScript front end needs checking.

Related lessons

Want someone to handle SEO for your business while you learn? The team at Remar Digital can help.