The three rendering types
- SSR (Server-Side Rendering) — Content is rendered on the server and sent as complete HTML. AI crawlers see everything. Ghost ratio < 0.10.
- Hybrid — Some content is server-rendered, some requires JavaScript. AI crawlers see partial content. Ghost ratio 0.10–0.40.
- CSR (Client-Side Rendering) — Content is rendered entirely in the browser via JavaScript. AI crawlers see an empty shell. Ghost ratio ≥ 0.40.
How SEODiff classifies rendering type
SEODiff classifies rendering type based on the estimated Ghost Ratio, which is derived from framework detection and text density analysis:
- WordPress, Hugo, Jekyll, MediaWiki → always SSR (ghost ratio = 0.0)
- Next.js, Nuxt, Remix → SSR or Hybrid depending on text density
- React, Angular, Vue (without SSR framework) → usually CSR, classified by text volume
Why it matters
Most AI crawlers (GPTBot, ClaudeBot, CCBot) do not execute JavaScript. If your content only appears after JS runs, these crawlers see nothing. Only Googlebot has full JavaScript rendering capability, and even it may defer rendering for days.
Framework readiness scores
SEODiff assigns Tech Stack readiness scores based on default rendering behavior:
- 95: MediaWiki — fully static, zero JS dependency
- 90: Hugo, Jekyll, 11ty — static site generators
- 85: WordPress, Astro — server-rendered by default
- 80: Shopify — server-rendered with good defaults
- 70: Next.js — SSR capable but often misconfigured
- 50: React (CRA) — CSR by default, needs explicit SSR
- 40: Angular — CSR by default