Why AI crawlers see an empty page (and how to fix it)
Why ChatGPT, Perplexity, and other AI bots miss SPA and client-rendered sites, how to confirm it, and how SSR, SSG, or pre-rendering fixes it.
Short answer
Most AI search crawlers do not run JavaScript. If your HTML is an empty root div plus script tags, they see almost no text—the same view free URL checkers see. Fix it with server-side rendering, static generation, or a pre-render step, then verify with view-source and a server-HTML checker.
Paste your live URL into the website checker or AI crawler checker. If server HTML has almost no words, AI search will struggle too.
The problem
Many React, Vue, and AI-builder sites ship a shell like <div id="root"></div> and fill the page only after JavaScript runs. Humans with Chrome see a full site. Crawlers that do not run JS see titles, maybe a generic meta description, and almost no body text—so they cannot quote or cite you.
How to confirm it
- Open
view-source:https://yourdomain.com(or “View page source”). Look for your real headings and paragraphs in the raw HTML. - Disable JavaScript and reload. If the page goes blank, crawlers that skip JS see the same blank.
- Run a server-HTML checker. Shipcheck warns when the body has under roughly 150 words of text in the response.
How to fix it
- SSR or SSG: Next.js, Nuxt, Astro, and similar frameworks that render HTML on the server or at build time.
- Pre-render: Generate static HTML for marketing routes even if the app is a SPA.
- Keep critical copy in HTML: Hero headline, product explanation, and FAQ answers should exist without waiting for client fetch.
For builder-specific launch issues, see the launch checklist for AI-built sites.
Robots and firewalls
Even perfect HTML fails if you block AI search crawlers in robots.txt or at the CDN. Allow search bots such as OAI-SearchBot and PerplexityBot if you want citations; decide separately on training bots. Full rules: robots.txt for AI crawlers.
Re-check after you ship
After you enable SSR or pre-render, re-run the website checker and confirm the “Content is in the server HTML” style pass. Then ask ChatGPT or Perplexity a question your page should answer and see whether they can read it. For the broader GEO playbook, read how to get cited by AI search.
Questions
Do all AI crawlers skip JavaScript?
Most AI search and training crawlers fetch raw HTML and do not execute JavaScript like Chrome does. Treat “no JS” as the default. Googlebot is more capable at rendering, but AI answer bots often are not.
Why does a free URL checker say my page is empty when it looks fine in Chrome?
Paste-URL tools (including Shipcheck’s website checker) read the HTML the server sends, without running your app’s JavaScript—the same class of view many AI crawlers get. The Chrome extension checks the rendered tab.
Is Next.js always safe?
App Router and Pages with SSR or static generation put content in the first HTML response. A client-only SPA (or a builder that ships an empty shell) does not. Check view-source, not only the DevTools Elements panel.
Will llms.txt fix an empty shell?
No. llms.txt helps agents find important URLs. Those URLs still need readable HTML (or the assistant has nothing to cite).
Tools for this guide
Free website checker
Paste a public URL for one report from server HTML plus Google PageSpeed. Use the extension for localhost, JS-heavy apps, and the full audit.
Open tool →AI crawler checker
See which of 16 AI crawlers your robots.txt allows or blocks, with a copy-paste fix.
Open tool →llms.txt generator
Build an llms.txt file from your sitemap so AI tools that read llms.txt get a clean map of your site.
Open tool →More guides
The website launch checklist (2026)
48 checks across SEO, sharing, accessibility, AI search, speed, security, and legal. Tick them off as you go and download your progress.
Read · 12 min →European Accessibility Act: a practical guide for small teams
Who the EAA applies to, what it requires, and a step-by-step plan to work toward compliance without an enterprise budget.
Read · 10 min →Robots.txt for AI crawlers: get cited by ChatGPT, Perplexity, and Claude
The difference between AI search and AI training bots, the exact robots.txt rules to use, and the mistakes that make sites invisible to AI answers.
Read · 8 min →