How to check whether ChatGPT, Claude and Perplexity can read your site

When someone asks an assistant about your company, one of two things happens. Either it already knows something from training data, months out of date, or it fetches your site right then and reads it.

The second case is the one you can influence, and three things decide how it goes.

1. Does your robots.txt let them in?

AI companies use separate user-agents for separate jobs, and blocking one does not block the others. These are the ones that matter today:

User-agent Company What it does
GPTBot OpenAI Crawls for training
OAI-SearchBot OpenAI Indexes for ChatGPT search
ChatGPT-User OpenAI Fetches a page because a user asked right now
ClaudeBot Anthropic Crawls for training
Claude-SearchBot Anthropic Indexes for search
Claude-User Anthropic Fetches on behalf of a user
PerplexityBot Perplexity Indexes for answers
Perplexity-User Perplexity Fetches on request
Google-Extended Google Gates Gemini training, not Search
Applebot-Extended Apple Gates Apple Intelligence training
CCBot Common Crawl Feeds many other datasets
Bytespider ByteDance Crawls for training

The distinction that catches people out: the "-User" agents are not crawlers. They fetch because a person asked a question about your page, right that second. Blocking GPTBot stops training. Blocking ChatGPT-User stops a potential customer from getting an answer about you. Most sites want the first without the second.

Check what you actually serve:

curl -s https://yoursite.com/robots.txt

Read it as a bot would: Disallow: / under User-agent: * blocks everyone who has no rule of their own, and that includes every agent above.

One trap worth knowing. If you are behind Cloudflare and have no robots.txt of your own, Cloudflare may serve one for you — its managed Content Signals Policy. You will get a 200 and a plausible-looking file that you did not write, containing none of your rules and none of your sitemap. We had exactly this for months: our origin returned 404 for /robots.txt and nobody noticed, because every check we ran got a 200 from the edge. To tell them apart, ask your origin directly:

curl -sI https://yoursite.com/robots.txt | grep -i "server\|cf-cache-status"

2. Does your content survive without JavaScript?

Most AI crawlers do not run JavaScript. If your page renders client-side, what they receive is an empty shell.

curl -s https://yoursite.com/your-page | wc -c
curl -s https://yoursite.com/your-page | grep -o "<p>" | wc -l

A few hundred bytes and no paragraphs means the page is empty as far as a crawler is concerned, however good it looks in a browser. Server-side rendering, static generation or prerendering all fix it; which one hardly matters.

3. How much is left after extraction?

Even with the page fetched and rendered, an agent throws away navigation, footers, cookie banners and most markup, then keeps what looks like content. That remainder is what gets quoted about you.

This is the part nobody checks, and it is usually where the surprise is. The fastest way to see it is to read your page as an agent would keep it — stripped to plain text, with the scaffolding gone. If what is left is two sentences and a list of menu items, no amount of robots.txt tuning will help.

Also worth having

llms.txt at your root: a short Markdown map of your important pages. It is a young convention rather than a standard anybody has to honour, but it costs almost nothing and it is read.

Content-Signal, which lets you say what may be done with your content — indexed for search, used as input to an answer, used for training — rather than only whether it can be fetched. Blocking everything is not the only option, and for most businesses it is the wrong one.

Clean semantic HTML. Real headings, <article>, <main>, alt text. It is the same work that helps screen readers, and it is what makes extraction keep the right parts.

The short version

Run these three, in this order:

  1. curl -s https://yoursite.com/robots.txt — can they in?
  2. curl -s https://yoursite.com/page | wc -c — is there anything there without JavaScript?
  3. Read what survives extraction — is it what you would want quoted?

Most sites pass the first, fail the third, and never find out.

Check your site · robots.txt for AI bots · Are the bots allowed in?