Most AI crawlers read your HTML as delivered — they do not run your JavaScript. If your text only appears after scripts execute, the engines that decide who to recommend never read it. Paste a page URL: we fetch it the way a crawler does, render it the way a browser does, and show the difference.
One page per check, rendered in a real headless browser — usually 5–20 seconds. Cached for 10 minutes. Nothing stored beyond the result.
Fetching the page as a crawler and as a browser…
GPTBot, ClaudeBot, PerplexityBot and the retrieval fetchers behind ChatGPT, Claude and Perplexity read the HTML your server sends. Unlike Googlebot they do not queue pages for a rendering pass. A page that is an empty shell plus a JavaScript bundle is, to them, an empty page — nothing to quote, nothing to cite.
We take the rendered page's main content (navigation, footers and cookie banners are excluded), split it into blocks, and mark each block as present or absent in the raw HTML text. Coverage is the share of main-content words that a crawler can read. Small fragments under 25 words are ignored so a widget cannot fail the page. 90% and up passes; under 50% is critical.
Server-side render or statically generate the pages that matter (Next.js, Nuxt, SvelteKit, Astro and most CMSs can). At minimum, ship the title, meta description, H1 and the first paragraphs in the HTML, and keep JavaScript for interactivity rather than for the content itself.
The free check runs your real buyer questions across ChatGPT, Claude and Perplexity — mentioned, recommended and cited, per engine, with the answers as evidence.