A high ghost ratio means a large portion of your content is rendered by JavaScript in the browser and doesn't appear in the raw HTML response. AI crawlers like GPTBot, ClaudeBot, and CCBot don't execute JavaScript — they see the empty shell.
Ghost ratio feeds directly into the Rendering Score via a non-linear curve: RenderingScore = 100 × (1 − GhostRatio^1.5). A ghost ratio of 0.80 gives you a Rendering Score of only 28/100, dragging down the overall AI Readiness Score (Rendering has a 25% weight).
SEODiff estimates ghost ratio using framework detection and text density in the raw HTML — without a headless browser. It classifies your rendering as SSR (<0.10), Hybrid (0.10–0.40), or CSR (≥0.40).
'use client' directives on content components'use client' only for interactive elementsgenerateStaticParams() for static generation of known pagesgetServerSideProps'use client'TransferState to avoid duplicate API calls on hydrationssr: true in Nuxt config (default since Nuxt 3)useAsyncData() for data fetching to ensure server-side executionWordPress is server-rendered by default (ghost ratio ≈ 0). If you see high ghost ratio, check for heavy JavaScript-based themes or page builders that render content client-side.
curl https://yourdomain.com — the response should contain your content text.