Why a JavaScript site can look finished and still look thin to Google
If crawlers get a title, meta, and a short blurb while the real H1 lives in JS, search and many AI bots under-read the page. llms.txt is a second channel, not a substitute for HTML.
By Rajat Malik
A site can look beautiful in a browser and still look thin to a crawler.
What Googlebot typically sees
When a site is a JavaScript single-page app (SPA), the server sends a shell:
The real H1, the services list, the FAQ answers — all of that lives in JavaScript that runs after the page loads.
Googlebot can execute JS, but it deprioritizes pages that require it. Other crawlers — Bingbot, AI bots like GPTBot, ClaudeBot, PerplexityBot — may not run JS at all, or may run it with limits.
What this means for search and AI
If the HTML body is nearly empty:
What to ship
1. SSR or prerender for money pages: the H1, H2, and body text should be in the initial HTML response. 2. 301 for www to apex: not 307, not 302. 3. Do not send no-store on public marketing HTML. 4. Keep empty blog hubs noindex until they have real posts. 5. llms.txt and company.json are a second channel for AI crawlers, not a substitute for crawlable HTML.
What SEO does not guarantee
Shailpar's SEO service covers technical and on-page foundations. Rankings, traffic, and AI citations are not guaranteed. Search Console review is part of a scoped engagement when you grant access — this site does not publish ranking reports.
How to check your own site
curl -sA "Googlebot" "https://yoursite.com/" | grep -o '<h1[^>]*>.*</h1>'
If you see the real headline, good. If you see a placeholder or nothing, crawlers are under-reading the page.