Free tools / render-check

Free tool · runs on our server

Render Check

We fetch a page without running any of its scripts and show what is actually there: the title, the main heading, the word count, and whether the page arrives empty. The bot fetch can identify as an AI visitor or carry Googlebot’s user agent, and the result says whether your server answered it differently from a browser.

free · no card

Check a page

live check: on

A page, not just your website address. The answer differs page by page — your homepage and a product page can behave completely differently.

Identify the bot fetch as

This check runs on our server, and it has to: a browser cannot read a page from another website.

Status Submitting the form fetches your page from our server, with none of its JavaScript executed, and replaces the panel below with what came back. Until you submit, that panel shows a clearly labelled example so you can see the shape of a result first.

What came back · no scripts run

https://demo-shop.example/product/copper-kettle EXAMPLE DATA

200

HTTP status

the bot fetch answered

63

Visible words, no JS

under 120 — reads as a shell

0

H1 headings found

none before scripts run

—

Canonical

not measured · not returned

what your server answered
200
title
Copper Kettle 1.7L — Demo Shop30 characters
page description
none before scripts runno description tag in the raw HTML
main heading
none foundno main heading in the raw HTML
words, with nothing run
63 wordsvisible text only — scripts and styling stripped
empty until the scripts run
yesderived from the word count (threshold 120) — not returned by the check
the “this is the real address” tag
NOT MEASUREDnot returned by the check

Fetched again, this time identifying as an AI visitor

identified itself as
Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot) AI-Visibility-Check/0.1 (server-side check on behalf of a site owner)
what your server answered
200asked from our own connection, not the AI company’s
sent from
our server’s IPThe bot fetch sent our own AI-visitor user-agent string from this server’s IP. It is not OpenAI’s crawler and not its IP range; a site that checks the connection as well as the name may answer the real crawler differently. No JavaScript was run in either fetch.
compared with the browser fetch
no difference on this checkSame status, title and visible word count for a browser and for an AI visitor (our own crawler string, carrying the GPTBot token) on this single check. No difference was measured; one pair of requests is not a trend.

Fetched from our server with no JavaScript run — what a crawler receives, not what any AI engine did with it.

What this page does today The explanation below, in the HTML as it arrives A labelled example result Fetching your page and reading it back

Why this tool exists

Your visitors run your scripts. Whatever decides if you get quoted may not.

what a plain fetch receivedEXAMPLE DATA
<!-- demo-shop.example/product/copper-kettle, nothing executed -->
<html><head>
  <title>Copper Kettle 1.7L — Demo Shop</title>
</head><body>
  <div id="root"></div>
  <script src="/assets/app.js"></script>
</body></html>

A site can look flawless in your browser and close to blank to whatever fetched it. Some sites arrive as an empty shell and build their content once the scripts run. Fetch one of those plainly — no browser, no scripts — and what comes back is that shell: a title, a few tags and almost no words. Everything a reader would call “the page” arrives later, from scripts that a plain fetch never runs.

This tool shows you that plain fetch. Exactly what came back, with nothing run.

Be clear about what the result means, because most writing on this subject is not. Render Check reports the no-scripts view. It does not report how ChatGPT, Perplexity, Gemini or anything else handles your page — they differ, they change, and the ones that have described their behaviour have described it thinly.

So treat the no-scripts view as the floor. It is the worst case and the cheapest case, which makes it the one to assume: if your content survives a fetch with no scripts run, every one of them can read it, whatever it does. If it doesn’t, whether you get read depends on a decision made inside somebody else’s software — not something you can influence, see in a log, or appeal.

Read together, never alone

What “empty until the scripts run”
actually looks like

Not zero words. A page built this way usually returns the frame and none of the content the page is actually about.

01

The word count with nothing run

63 words

The text of the page with the scripts and the styling stripped out. Forty to two hundred words is the tell-tale sign of an empty shell.

02

The right title above no heading at all

0 h1 found

The title usually arrives with the page even on sites built this way. A correct title with the main heading missing means the heading is being written by a script.

03

A description that is identical on every page

same on every page

The same summary sentence on every address is what a shell serves before it has worked out which page you actually asked for.

04

The “this is the real address” tag pointing somewhere else

not measured

Or missing entirely. Sites built this way often set it once the scripts have run, which is after the fetch already ended.

Reading the output

How to read the result

Four rules, and the third is the one every other tool gets wrong.

  1. Compare it against what you see in your own browser. The gap between the two is the part of your page that only exists once the scripts have run.
  2. Check more than one page. A product page, an article and your homepage are usually three different layouts with three different answers.
  3. Anything marked NOT MEASURED is not a pass and not a zero — it means the check did not get that answer back, and the reason is printed next to it.
  4. If the browser fetch comes back fine and the one identifying itself as an AI visitor — or as Googlebot — is refused or handed a different page, the problem is with your hosting or security provider, not with your page. Start with their bot-blocking rules. The result compares the two and says so plainly when they differ.

What this will not tell you

Limitations, stated plainly.

Four of them, and none is buried in a footnote.

We are not the AI company, and we are not Google

Our request says it is theirs but comes from our own connection, so a security rule that checks the connection as well as the name may treat us differently from the real thing. The Googlebot option sends Google’s user-agent string only — a site that verifies Googlebot by reverse DNS or by Google’s address list may answer Google differently from what it answered us. This catches obvious blocks, not every one.

We fetch once

A page behind a slow server, a rate limit or country-based routing can answer differently a minute later, or from somewhere else in the world.

The block your rules file cannot show you

Your hosting company or security service sits above the rules file and can refuse an AI visitor while serving your own browser perfectly normally. Nothing in that file describes it, and your analytics never sees it, because the request never became a visit.

Readable is not quoted

We read one page, not the layout behind it. And a page machines can read is a precondition for being quoted, never a cause of it.

Fair questions

Short answers.

Can ChatGPT read a site that needs scripts to run?

That depends on which of OpenAI’s readers fetched the page and how it was set up that day — it is their decision, it is barely documented, and it changes. This tool answers the question you can actually control: whether your content is there before any script runs. If it is, the question stops mattering. If it isn’t, you are relying on somebody else’s software.

Does this tell me how ChatGPT or Perplexity sees my page?

No, and any tool claiming to is guessing. We fetch your page without running its scripts and report what came back. Reading that as “what ChatGPT sees” is the exact overclaim this page refuses to make.

Why does the check run on your server instead of in my browser?

Because a browser is not allowed to read a page from another website. That is a rule browsers enforce, not a choice we made. Any tool claiming to check your page “privately in your browser” is either sending it through a server anyway, or not really checking.

My word count is low but the page looks fine — what do I fix?

Get the content into the page your server sends, before any script runs. There are several ways to do that and which one suits you depends on how your site is built, so this is the part to hand to whoever builds it. The test afterwards is unchanged: fetch the page with scripts switched off and see whether it still says what it is about.

Does passing this check mean AI will quote me?

No. A readable page is a precondition, like being allowed in at all — it removes a blocker, it does not create a mention. Whether an assistant quotes you depends on what the page says and whether it answers the question being asked.

Can I view my page as Googlebot?

You can fetch it with Googlebot’s documented user-agent string, from our server, with no scripts run — that is what the Googlebot option does. It is not Google’s renderer and not Google’s network, so a site that checks where the request comes from may treat the real Googlebot differently. What it does show is whether your server hands the Googlebot name a different page from the one it hands a browser — a bot rule, or cloaking — and the result says so plainly when it does.

We use our own tools on this page.

Readable is the floor,
not the result.

You now know what arrives before any JavaScript runs. What you cannot know from your own HTML is whether an assistant, asked a question by one of your customers, says your name — that happens inside the model, not on your server. The free check puts up to five questions written from your own homepage to ChatGPT and Gemini, once each, and reports who was named instead of you.

Ask ChatGPT and Gemini about my site

free · no card · two checks a day from one connection