Server-rendered HTML on the homepage
What the scan checks: it fetches your homepage as GPTBot with a plain request (no JavaScript) and counts the visible words in the raw HTML. Fewer than ~100 words of real content means the page is a client-rendered shell, and the check fails.
Why it matters for AI search visibility
Section titled “Why it matters for AI search visibility”This is the site-wide version of the render-time floor. Your homepage is where entity signals live: the brand name, the tagline, the Organization schema, the internal links out to everything else. If a bot fetches it and gets an empty <div id="root">, the engine cannot learn who you are or find the rest of your site. Everything downstream in the audit, entity recognition, content extraction, internal-link discovery, assumes the homepage renders server-side.
How to fix it
Section titled “How to fix it”Serve the homepage’s content in the initial HTML response:
- Static-generate the homepage where you can. A marketing homepage rarely needs per-request rendering, so SSG (Astro, Next.js
output: 'export'or a static route, Nuxtnuxi generate) gives the fastest, most crawlable result. - If it must be dynamic, use SSR so the server returns HTML with the copy already present.
- Do not gate the hero and intro copy behind a client-side data fetch.
Confirm the fix the same way a bot would:
curl -s https://example.com/ | python3 -c "import sys,re; print(len(re.sub('<[^>]+>',' ',sys.stdin.read()).split()))"If that word count is low, open the raw output and check whether your headline and intro text are actually in it. When they are, the check passes. For the deeper mechanics and per-page version, see answer content in raw HTML (T2).