Is your text in the HTML, or only after JavaScript runs?
Text is present without JavaScript. Most AI fetchers read HTML; they do not run your JavaScript.
What the check looks at
The check fetches each page twice — the raw HTML, and the page rendered in a headless browser — and compares the main text. Content that exists only in the rendered version is content a fetcher reading raw HTML never sees.
Why it matters
Most AI fetchers read HTML; they do not run your JavaScript. A React, Vue or Angular page that renders client-side hands them a root div and a script tag. To the fetcher the page is empty, and an empty page is quoted by nobody.
How to see it on your own site
View the page source (not the inspector — the source) and look for your headline and first paragraph. If they are not there, they are drawn by JavaScript. The what-AI-sees tool measures how much of the main content is readable without rendering.
What AI actually sees → — free, no signup.
How to fix it
- Server-render or pre-render the pages that matter: Next.js, Nuxt, SvelteKit, Astro and Remix all do this by default when configured; a static build does it for everything.
- At minimum, put the title, the opening paragraph and the key facts into the HTML and let JavaScript enhance the rest.
- Check after every deploy — a framework upgrade can flip a page back to client rendering.
What the agent does: the agent can write the opening into the page itself — the heading and first paragraph in the HTML — once you approve the words.
Related checks
- Pages open with the answer
- Response time is within limits
- Structured data is in the raw HTML, not injected by scripts
Part of the 23 checks · group: Page content — text without JavaScript, response time, internal links, answer-first structure, self-contained sections, headings/dates/authorship.
Questions people ask
Google renders JavaScript — do AI engines?
Google does, with a delay. The AI retrieval fetchers largely do not; they read what the server sends. Design for the raw HTML and both are served.
Is "mostly empty" a pass or a fail?
The check reports coverage: how much of the rendered text is in the raw HTML. Below the threshold it fails, with the blocks that only appear after render listed.
Start with the free check. Then tell the agent what you need.
The free check runs the 23 checks on your public pages. Nothing is installed, nothing changes until you press it.
Free check from outside in minutes · the report by email · nothing installed yet

