Public tool

JS rendering gap checker

When someone asks ChatGPT, Claude or Perplexity about your page, their live fetchers download the HTML and skip the JavaScript. If your copy loads client-side, the assistant answers from your nav and footer. Paste a URL to see exactly what they receive, line by line.

Run it

Check a page

Why it matters

Why AI assistants miss client-rendered pages

A page can rank on page one of Google and still read as blank to an AI assistant. Two different kinds of reader are hitting it.

ChatGPT, Claude, Perplexity

Read the HTML only

When a user asks about a page, these assistants send a live fetcher (ChatGPT-User, Claude-User, Perplexity-User) that downloads the HTML your server sends. Today those fetchers don’t execute JavaScript.

Googlebot and Bingbot

Render the full page

Search crawlers run your JavaScript before indexing, so a client-rendered page can rank well. That’s why the gap rarely shows up in an SEO audit.

Gemini and Copilot

Lean on search indexes

Assistants grounded in Google’s and Bing’s indexes inherit their rendering, so they usually see the full page. The gap hits the assistants that fetch live.

Method

How the checker works

  1. Read one: as an AI fetcherA plain HTTP request sent with ChatGPT-User’s user agent. Nothing executes, so the HTML that comes back is what the assistant has to work with.
  2. Read two: in a real browserThe same URL loads in headless Chrome. We wait for the network to settle, scroll so lazy sections load, then read the finished page.
  3. Same extractor on both sidesBoth documents are split into text blocks by the same code inside the same browser engine. Any difference between the two reads comes from JavaScript.
  4. Score the gapThe score is the share of the rendered page’s body copy, in characters, that never appears in the raw HTML. Blocks under 25 characters (Home, Contact, Sign up) are left out because they match on every site and would flatter every result.
Reading the result

What your score means

Under 8%

Server-rendered

AI fetchers get essentially the same page your visitors do. Nothing to fix on rendering.

8 to 30%

Some sections missing

Tabs, accordions, review widgets or “load more” blocks are loading client-side. Check which lines matter.

30 to 70%

Most copy missing

The assistant is answering from fragments. Server-render the main content.

Over 70%

Empty shell

AI fetchers see the frame of the site and almost none of the content.

The checker also compares the title tag, meta description, canonical, meta robots and JSON-LD schema between the two reads, and flags anything that only exists after JavaScript runs.

Fine print

What the checker can’t tell you

One read, one momentEach check is one fetch of one URL from one location. Pages that pull content from an API can change between loads, so re-run a borderline result before acting on it.
Bot protectionIf your firewall challenges our ChatGPT-User request, we report it. Real AI fetchers come from their own verified IP ranges and may be let through, so confirm in your firewall events before changing rules.
Daily limitEvery check runs your page in a real browser, which costs us money each time. You get 10 checks a day with no sign-up, and checking the same URL again within 15 minutes returns the saved result.
Keep going

More free AI SEO tools

Public tool

AI visibility checker

See whether AI assistants mention your brand for the questions your buyers ask.

Check your visibility →

Public tool

AI query classifier

Find the AI Mode conversations and tracker prompts hiding in your Search Console queries.

Classify your queries →

Toolkit

All AI SEO tools

The stack we use, compared, plus every free tool we’ve built.

Browse the tools →

Go further

Get your site read by AI assistants

We fix rendering gaps, schema and crawler access as part of our AI SEO work, then track whether ChatGPT, Claude and Perplexity start citing you.