JavaScript rendering checker for AI crawlers

AI crawlers do not run JavaScript. If your content appears only after the browser renders it, ChatGPT, Perplexity and Claude never see it. This checker shows you what they actually get.

5 checks · 1 critical gate · 15% of the Slurp Score · Updated July 2026

Why AI crawlers never see your JavaScript

The major AI crawlers download your JavaScript files and then never run them. GPTBot, ClaudeBot and PerplexityBot read the raw HTML and stop there. Only Google renders, and mainly for its own products. So a client-side React, Vue or Angular app hands most AI search engines an empty shell. Vercel and MERJ measured this directly across more than a billion crawler requests.

You cannot spot the problem in a browser. Your browser always runs the script and shows you the finished page. GetSlurp reads the raw HTML instead and counts what survives. The Chrome extension goes one step further and puts that raw HTML next to your rendered page, so you can see the gap yourself.

Studies and sources: Vercel: The rise of the AI crawler

What GetSlurp checks

  • Content in raw HTML How much of your text exists before any JavaScript runs.
  • App shell detection Whether the page is a React, Vue, Angular or Next.js frame.
  • Server-side rendering Whether your framework serves real content or an empty container.
  • Text-to-code ratio How much of the payload is content rather than markup.
  • DOM size Whether the page is small enough for crawlers to parse cleanly.

Every check in this category

This list comes straight from the audit engine, so it always matches what the extension and MCP server actually run.

render.content-in-raw-htmlGate

No major AI crawler executes JavaScript (GPTBot, ClaudeBot and PerplexityBot all parse static HTML only), so content that exists only after client-side rendering is invisible to every AI search engine.

Fix: Server-render the page (SSR or static generation) so the main content is present in the initial HTML response.

render.ssr-verdictGraded

A JS framework is fine when it server-renders. The risk is a client-only app shell that hands crawlers an empty page.

Fix: Enable SSR/SSG for content routes (e.g. Next.js App Router server components, Nuxt SSR) instead of client-only rendering.

render.text-ratioGraded

A very low text-to-markup ratio means crawlers spend their budget parsing code instead of content, and extraction quality drops.

Fix: Reduce markup bloat and inline scripts on content pages; move large scripts to external files.

render.dom-sizeGraded

Very large DOMs slow crawler processing and dilute passage extraction.

Fix: Keep pages under ~1,500 DOM elements; paginate or trim decorative wrapper elements.

render.rendered-diffInformational

The definitive renderability test compares raw HTML against the browser-rendered DOM; this run used static analysis only.

Fix: No action needed. Run GetSlurp with a headless browser available for the full raw-vs-rendered diff.

JavaScript rendering checker for AI crawlers: frequently asked questions

Can ChatGPT read JavaScript?

No. ChatGPT's crawler downloads your JavaScript files but does not execute them. If your content only appears after the browser runs the script, ChatGPT receives an empty shell.

Do AI crawlers render JavaScript?

Almost none do. Testing from Vercel and others found GPTBot, ClaudeBot and PerplexityBot fetch JavaScript but never run it. Only Google renders, and mainly for its own systems.

How do I make a JavaScript site readable by AI?

Serve your main content in the raw HTML using server-side rendering or static generation. Here is a quick test: load the page with JavaScript turned off. If the content is still there, AI crawlers can read it too.

Why does my page look fine but score badly on renderability?

Your browser always runs JavaScript, so you see the finished page. AI crawlers do not. GetSlurp reads the raw HTML the way they receive it, and the extension compares that against your rendered page word for word.