By Iliass El Barhoumi · Published · Last updated
How is content in initial html scored?
Content in initial HTML is worth 7 of 100 points, 7 of the 25 in the Retrieved lever, which asks “Can an engine fetch this page at all?” The engine scores it with these rules:
- The text in the raw HTML is compared with the text of the rendered main content. A ratio of 80% or more earns full points.
- Between 50% and 80% is partial hydration and earns 4 of 7.
- Below that, or under 500 characters of body text with an empty mount node such as #root or #__next, reads as a single-page-app shell.
- The result is labelled a signal, not a measurement, because some pages legitimately differ between the two views.
What does a pass and a fail look like?
| Verdict | Example |
|---|---|
| Pass | A Next.js page rendered on the server: the article text is in the HTML response, and hydration only adds interactivity on top. |
| Fail | A React single-page app whose HTML response is an empty <div id="root"> and a script tag. GPTBot, ClaudeBot and PerplexityBot all receive an empty page. |
How do you fix content in initial html?
In the order worth doing it:
- Use server-side rendering or static generation for any page you want cited.
- Check the result by fetching the page with JavaScript disabled, or with curl, and reading the HTML.
- Keep interactive widgets client-side if you need to, but put the text that answers questions in the HTML.
A scan reports the evidence behind the verdict, such as the sections, paragraphs or tokens that failed, and the fix prompt hands the same evidence to a coding agent so it can make the change for you.
Related checks in the Retrieved lever
- Is your robots.txt blocking AI crawlers? — 8 points
- What stops a page from being indexed at all? — 6 points
- Does llms.txt actually do anything? — 4 points
Frequently asked questions
Does Googlebot run JavaScript when AI crawlers do not?
Googlebot does render JavaScript, in a second pass that can lag the first crawl. GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot do not, which is why a page can rank on Google and still be empty to ChatGPT.
How can I see my page the way an AI crawler does?
Fetch it without JavaScript: run curl against the URL, or view the page source rather than the inspector. Whatever text is in that response is what the crawler reads.