Stage 1: Access

No-JS content check

What a page contains before any script runs: the server HTML fetched as GPTBot and as Googlebot, read without executing JavaScript, and compared.

Free to use. No login, nothing stored.

What it checks

Access
  • Status and final URL when the page is fetched as GPTBot
  • Visible words, headings, title, meta description and canonical present in the server HTML
  • Empty application-shell signals: a root container with no text, framework state blobs, a noscript notice, a meta refresh
  • Script bytes against text bytes, and how many JSON-LD blocks are server-side
  • Differences between the GPTBot and Googlebot responses: status, words, title, final URL

Method question for this stage: Can crawlers reach and render every key page?

Run the check

We fetch the page twice in parallel, as GPTBot and as Googlebot (10 second limit, first 1 MB each), and parse the HTML your server sent. Scripts never run. Nothing is stored.

Google documents that Googlebot renders JavaScript: pages are queued and a headless Chromium executes scripts before indexing. OpenAI, Anthropic and Perplexity do not document JavaScript rendering for their crawlers. Independent measurements published by Vercel and MERJ in December 2024 found that the major AI crawlers fetched JavaScript files but did not execute them.

Thresholds are ours, not a vendor rule: under 50 visible words is a Fail and under 150 a Warning; a framework root container (#root, #app, #__next,#__nuxt and similar) holding under 50 words is an empty application shell; a word count that differs by more than 20% between the two user agents is a Warning. The script weight row shows two numbers and draws no verdict.

Results

No check run yet

  • Info

    A comparison table, then one row per check

    GPTBot and Googlebot side by side (status, words, headings, title); then for the GPTBot response: status and final URL, visible words, headings, title, meta description, canonical, application-shell signals, script weight, JSON-LD; then the differences between the two user agents.

How we check

The rules this tool tests, and where they come from

A result is a check against a published rule, not a prediction. Every row shows its working.

Rules and sources

Links go to the operator's or standards body's own documentation. We do not link to third-party summaries.

Read more

Next step

Fix what it finds

This check belongs to the Access stage of the Crawl-to-Citation Method. The service below covers the fix; the Diagnostic ranks it against everything else.

Most engagements start with the Search Visibility Diagnostic ($2,500).

It covers all six method stages, so what this tool finds is ranked against everything else before you commit to any work.

Book the diagnostic

All free tools

Server HTML questions

What the rows mean, and where the claims come from.

Still have questions? Book a call

Why does the raw HTML matter for AI crawlers?

Google documents that Googlebot queues pages for rendering and executes JavaScript in a headless Chromium before indexing. OpenAI, Anthropic and Perplexity do not document JavaScript rendering for their crawlers. Independent measurements published by Vercel and MERJ in December 2024 found that the major AI crawlers fetched JavaScript files but did not execute them, and so could not read client-side rendered content. If that holds for a crawler, the HTML your server sends is all it reads. We cannot say what any crawler will do in future, so this tool reports what is in the server HTML and leaves the conclusion to you.

My page is a single-page application. What now?

The usual fixes are server-side rendering (the server returns the finished HTML for each request), static prerendering (the HTML is generated at build time) or a hybrid where the main content is in the HTML and scripts add interaction on top. Most frameworks support one of these. After the change, run this check again: the word count, headings and title rows should match what you see in the browser. None of this promises a citation; it removes one reason a crawler would have nothing to read.

Why compare GPTBot with Googlebot?

Servers, CDNs and firewalls can answer differently depending on the user agent: a bot rule may challenge or block one crawler and not the other, a prerendering service may serve rendered HTML only to known search bots, and some sites redirect bots to a different host. Fetching the same address as both agents shows whether the status, final URL, title and word count agree. A difference is a finding to investigate, not a verdict in itself.

Last reviewed