Can ChatGPT Read Your Website? Four Checks That Decide It
Four things decide whether ChatGPT can use your site: crawler access, rendering, structure and grounding. Here is how to check each one, in the order that matters.
TL;DR
Whether ChatGPT can read your website comes down to four separate things, and people usually only check the first. The crawler has to be allowed to fetch the page, which is a robots.txt question about the OpenAI user-agents. The content has to exist in the HTML rather than appear only after JavaScript runs, because most AI crawlers do not render. The page has to state plainly what it is about through its title, headings and self-contained passages, so a model can tell what it would be citing. And there should be something to ground on, such as schema markup or an llms.txt summary, so your business is described in your own words. Check them in that order, because each gate makes the ones after it irrelevant. Fixing the writing on a page the crawler was never allowed to fetch changes nothing at all.
"Reading your site" means four different things
When someone asks whether ChatGPT can read their website, they usually mean one thing: is the bot blocked. That is the first check, not the whole question.
There are four separate gates, and a page has to pass all of them before an assistant can name you in an answer. The crawler has to fetch the page. The content has to exist in what arrives. A model has to be able to tell what the page is about. And there has to be something to ground on, so it can describe your business accurately.
The reason this matters is that all four failures look identical from your side. Nothing errors, nothing appears in your analytics, and no ranking drops. Traffic from AI assistants simply never starts. So you have to go and check.
Check 1: can the crawler fetch you at all
Open yourdomain.com/robots.txt and read it. You are looking for groups that name the OpenAI agents, which are GPTBot, OAI-SearchBot and ChatGPT-User. They do different jobs: one grounds and trains, one serves search results inside ChatGPT, and one fetches a page because a user asked about it right now.
Here is the part that catches people. Crawlers follow a precedence rule where a bot obeys the group that names it specifically, and only falls back to the wildcard User-agent: * group when no named group exists. A generous wildcard does not override a restrictive named group. This is exactly how a site ends up looking wide open while blocking OpenAI completely.
Reading that correctly across a dozen user-agents is tedious, which is why we built a tool that does it. The AI crawler access checker fetches your robots.txt, applies the real precedence rules, and reports allowed or blocked per bot.
Check 2: does your content exist without JavaScript
Googlebot renders JavaScript. Most AI crawlers fetch the HTML and work with what they get.
That difference is invisible until it costs you. If your prices, product descriptions or service copy are injected by a script after the page loads, a crawler may receive a shell with a navigation bar and nothing else. The page looks perfect to you and nearly empty to the model.
The two-second test: right-click and choose view page source, not inspect element. Inspect element shows you the page after JavaScript has run. View source shows you roughly what the crawler received. Search that source for a sentence you know is on the page. If it is not there, an assistant is not reading it either.
Check 3: can a model tell what the page is about
Assistants quote passages, not pages. So a page can be fetchable and fully rendered and still be useless to one.
What makes a passage quotable is that it stands alone. If a paragraph only makes sense after the two above it, a model cannot lift it into an answer without dragging context along, so it reaches for a source where somebody wrote a complete answer in one block. Your title and meta description do similar work at page level: they should say plainly who you are and what this page covers, not tease.
This is also where a lot of otherwise strong sites lose. The writing is good, the structure is a mess of headings that do not correspond to questions anyone asks.
Check 4: is there anything to ground on
The last gate is whether the model can describe your business accurately once it has decided to mention you.
Two things carry this. Schema markup in JSON-LD names your entities explicitly: this is an Organization, this is a Service, these are FAQs with real answers. Without it the model infers your business from prose, and inference is where it gets your name, your location or your offering wrong. An llms.txt file is a plain text summary at your domain root, in your own words, that a crawler can fetch at query time.
Neither one makes an assistant visit you. Both make it get you right once it does. If you do not have an llms.txt yet, our generator builds one in your browser in a few minutes.
Fix them in this order
If several checks fail, the order is not negotiable, because the earlier gates make the later ones irrelevant.
| Order | Gate | Typical cause | What it costs to fix |
|---|---|---|---|
| 1 | Crawler access | A template robots.txt, a plugin default, a staging rule promoted to production | Minutes |
| 2 | Rendering | Content injected client-side by a framework or page builder | Hours to weeks, depending on the stack |
| 3 | Page structure | Headings that do not match real questions, passages that need context | A rewrite per page |
| 4 | Grounding | No schema, no llms.txt, inconsistent business details across the web | Days, then ongoing upkeep |
Rewriting your service pages while GPTBot is disallowed is the most common wasted effort we see. The pages get better and absolutely nothing changes, because the crawler still never arrives.
The fastest way to check all four
Doing this by hand takes an afternoon. Our AI visibility checker scores a site from 0 to 100 across nine concrete signals covering all four gates, including crawler access, structured data, llms.txt, title and meta, heading structure, canonical and HTTPS, sitemap, and entity and contact signals.
It is free, it needs no login, and it returns the specific gaps rather than a grade. It is also the same audit we run at the start of a Search Dominance engagement, which is the honest reason it exists: it is easier to show you the gaps than to describe them.
Frequently asked questions
-
Can ChatGPT read my website?
It can if four things are true: your robots.txt allows the OpenAI user-agents, your content exists in the HTML rather than only after JavaScript runs, your pages state plainly what they are about, and there is something for the model to ground on such as schema markup or an llms.txt file. Failing any one of them produces the same symptom, which is that you simply never get mentioned. Nothing errors and nothing warns you. Check them in that order, because fixing structure on a page the crawler cannot fetch changes nothing at all.
-
How do I know if GPTBot is blocked?
Open yourdomain.com/robots.txt in a browser and look for a group naming GPTBot, OAI-SearchBot or ChatGPT-User with a Disallow rule under it. Watch out for the precedence trap: a crawler obeys the group that names it specifically and only falls back to the wildcard User-agent star group when no named group exists. So a permissive wildcard block does not override a restrictive named one, and a site can look wide open while still blocking OpenAI entirely. A checker that applies the real precedence rules removes the guesswork.
-
Does ChatGPT see JavaScript-rendered content?
Assume it does not. Search crawlers like Googlebot run a rendering step; most AI crawlers fetch the HTML and work with what arrives. If your product descriptions, prices or service copy are injected by JavaScript after load, an assistant may receive a nearly empty page. The two-second test is to view page source rather than inspect element, then search for a sentence you know is on the page. Inspect element shows the page after JavaScript; view source shows what a crawler got.
-
Should I block AI crawlers to protect my content?
Only if you have decided that deliberately, and only for the right bots. The search and answer crawlers such as GPTBot, OAI-SearchBot and PerplexityBot are how you get cited, usually with a link back. Blocking them does not protect your content, it hands the citation to a competitor who allowed them. Pure training crawlers such as CCBot are a genuinely separate decision that publishers make on licensing grounds. The mistake is treating both groups as one and inheriting the answer from a template robots.txt. Two corrections added on 12 August 2026. Google-Extended is not the lever for Google's AI answers: it covers training and grounding in Google systems outside Search, so it does not decide whether you appear in AI Overviews. The control that does is the Search generative AI setting in Search Console, which removes you from AI Overviews and AI Mode and which Google states is not a ranking or inclusion signal for the rest of Search. Our recommendation is unchanged, and now there is a scoped instrument if you have a licensing reason to use one.
-
Does an llms.txt file make ChatGPT read my site?
No, and it is worth being precise about this. An llms.txt file is a plain text summary at your domain root that tells a model what your business does and which pages matter. It helps a crawler that already has access understand you correctly and quickly. It does nothing whatsoever if your robots.txt blocks that crawler, and it does not force any assistant to visit you. Treat it as a briefing for a visitor you already let in, not as an invitation.
Want the playbook before your competitors do?
We document every technique we apply on engagements. New posts on GEO, AEO, and web performance ship monthly. No fluff, just methods.
More articles
- GEOSearch Dominance
GEO for B2B: What Changes When a Committee Does the Buying
In B2B the search volume is tiny and the deal is large, so the page that earns the citation is almost never your blog. Here is what to build instead.
Read article - GEOSearch Dominance
We Checked 63 AI Visibility Agencies. Half Publish llms.txt.
We measured robots.txt, llms.txt and schema on the 63 sites that rank for GEO and AEO agency queries. A third of those llms.txt files fail the spec.
Read article - GEOSearch Dominance
How Much Does Generative Engine Optimization Cost? Ranges for 2026
Published ranges from four sources dated November 2025 to July 2026, what actually moves your quote, and the question nobody asks: what should this be saving you?
Read article - GEOSearch Dominance
Google's AI Search Rules: The Opt-Out and What You Can Stop Doing
Google documented an opt-out control, an impressions report, and a list of things you do not need to do. What each one actually means for your site.
Read article - GEOSearch Dominance
AI Search Updates: What Changed in Q2 2026 and What It Means for You
AI Overviews now hit roughly half of searches and ChatGPT added ads. Here is what changed in AI search this quarter, and the three moves that keep your brand visible and cited.
Read article - GEOSearch Dominance
How to Choose a Generative Engine Optimization (GEO) Agency
A buyer's guide to hiring a GEO agency: what one actually does, five things to verify, the questions to ask, and the red flags that mean it is an SEO agency in disguise.
Read article - GEOSearch Dominance
How to Do Generative Engine Optimization: A Step-by-Step Guide
Generative engine optimization is a four-step loop: make pages quotable, ship schema and llms.txt, let AI crawlers in, then measure citation rate. Here is the runbook we use.
Read article - GEOSearch Dominance
llms.txt Examples and a Copy-Ready Template (With a Real File)
See a real, annotated llms.txt file, then copy a fill-in-the-blanks template and validate it. The examples come from the exact file we serve on this site.
Read article - GEOSearch Dominance
Best Generative Engine Optimization Tools (2026): A Criteria-First Guide
Choosing generative engine optimization tools? Judge them by one thing: do they measure whether AI assistants cite you. An agency-neutral framework, plus when you don't need a tool yet.
Read article