AI SEO Tracker

Product

  • AI Leaderboard
  • Pricing
  • How it works
  • ChatGPT rank tracker
  • LLM rank tracker
  • AI visibility tracker
  • AI SEO Report
  • Tools

Agents

  • Agent docs
  • Setup skill
  • llms.txt

Tools

  • AI Visibility Checker
  • Page Inspector
  • Keyword Research
  • Share buttons

Resources

  • Blog
  • Learn AI SEO
  • LLMOnly

More

  • About
  • Help & contact
  • MagicSpace

© 2026 AI SEO TrackerBuilt by Ilias IsmPrivacyTermsSecurityImprintGDPR

AI SEO Tracker
Leaderboard
Hands on a laptop inspecting a product page, with floating AI model pills
AI SEO Page Inspector

See your page the way AI does

Person reviewing customer questions on a laptop, with floating high-intent prompt pills
AI Keyword Research

Find high-intent prompts from real questions

Student watching an AI SEO lesson, with floating course progress and lesson pills
AI SEO Course

Get AI to recommend you

More tools

AI Visibility CheckerAI Share Button GeneratorAll Tools
Pricing
Log in
AI SEO Tracker
LeaderboardPricingLog in
Blog

What Does ChatGPT Read on Your Website? How to Check It

Five checks show what ChatGPT can read on your page: robots.txt, raw HTML, a bot user agent, Page Inspector and logs. Shown on a real pricing page.

Ilias IsmExpert verifiedUpdated 3 Oct 2026 · 16 min read
Summarizechatgpt logoChatGPTperplexity logoPerplexityclaude logoClaudegrok logoGrok

TL;DR

  • What it reads: The text in your HTML. In short windows. Not the whole page.
  • JavaScript is unsettled: Vercel says no. One site owner says maybe. OpenAI says nothing.
  • Five checks: robots.txt, raw HTML, the bot user agent, Page Inspector, logs. In that order.
  • One real case: The Loops pricing page. A browser gets the Free plan. An OpenAI user agent gets 16 priced tiers.
  • Fix order: Answer in the HTML first. Bot-only content last.

Does AI name your brand? Check your site.

Create a free account first, then pay $49 once.

ChatGPT reads the text in the HTML your server sends.

That's it. And not even all of it. It reads in short windows.

So text that shows up only after a script runs, or after a click? ChatGPT may never get it.

Your price sits behind a slider? ChatGPT may not see the price.

And if the answer isn't in that text, ChatGPT has nothing from your page to quote.

Here's how ChatGPT reads a page, five checks you can run today, and one real pricing page (Loops) where three readers get three different answers.

  • What ChatGPT Reads From a Page
  • Five Checks to Run on Any Page
  • What Each Check Cannot Tell You
  • A Worked Example With the Loops Pricing Page
  • How to Fix a Page ChatGPT Cannot Read
  • Being Readable Is Not the Same as Being Named
  • Questions About ChatGPT and Your Website

What ChatGPT Reads From a Page

Three of OpenAI's user agents can touch your page. They do different jobs.

OpenAI says each setting is independent of the others. (OpenAI crawler docs.)

User agentWhat it doesrobots.txt
OAI-SearchBotFinds sites to show in ChatGPT search answersBlocking it keeps your site out of those answers. Links can still appear as navigational links
GPTBotCrawls content that may be used to train OpenAI modelsDisallowing it says your content should not be used for training
ChatGPT-UserVisits a page when a user asks ChatGPT or a custom GPT a questionOpenAI says robots.txt rules may not apply, because a user started the request

What the model reads is smaller than the page.

Dan Petrovic tested the web search tool in OpenAI's Assistants API. He published the results on 14 November 2025.

How ChatGPT reads a page in four steps: a search result gives title, URL and snippet, then the model opens a first window of text, opens again for the next window, and answers with a summary, not the full page
It never holds the whole page.

What a search result gave the model:

  • A title
  • A URL
  • A snippet of one to three sentences
  • An internal ID

What it didn't get: the full page, the raw HTML, the site navigation.

To read more, the model opened the page in fixed-size windows of text. It could open again for the next window.

Even after several windows, it couldn't reproduce the whole page. So it had to summarise.

One caveat. These are tests of an API tool. ChatGPT itself may differ.

The advice still holds:

  • Put the answer early.
  • State it in plain text.
  • Write a title, a description and headings that say what each part answers.

What Is Known About JavaScript and ChatGPT

The question site owners ask most: does ChatGPT run JavaScript?

Three sources. They don't agree.

Does ChatGPT run JavaScript? Vercel, December 2024: no. One site owner, September 2026: maybe, on some sites. OpenAI: no comment, the docs do not say
Nobody knows for sure. Plan for no.

Vercel, December 2024: no.

Vercel and MERJ measured AI crawler traffic on Vercel's network. They reported on 17 December 2024 that none of the major AI crawlers rendered JavaScript. That included OpenAI's OAI-SearchBot, ChatGPT-User and GPTBot.

ChatGPT's crawler requested JavaScript files in 11.5% of its requests. But it didn't run them.

(Content already in the initial HTML, like JSON data, could still be read.)

One site owner, 30 September 2026: maybe.

A developer published server logs that suggest OpenAI's search and training bots began running JavaScript on 25 September 2026.

  • The author checked each request against OpenAI's published IP ranges.
  • The sign: Next.js prefetch requests with a ?_rsc= parameter. Those appear only when a page's scripts run.
  • The author found no announcement from OpenAI.
  • Cloudflare Radar showed OpenAI's share of AI bot traffic flat through September. So the author thinks rendering is on for only some sites.

OpenAI: silent.

The crawler documentation doesn't mention JavaScript or rendering.

Treat the 2026 report as unconfirmed. It's one source.

The safe rule doesn't change: put the answer in the HTML your server sends.

A bot that renders reads it. A bot that doesn't render still gets it.

Five Checks to Run on Any Page

Run them in order.

Five checks for any page: can the bot get in, is the answer in the raw HTML, what does an OpenAI user agent get, what does Page Inspector extract, ask ChatGPT and read your logs
The first three need only a terminal.

Set the user agent once. OpenAI publishes the string and says the version number may change.

UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot"

Check 1 Can the Bot Get In

Open yourdomain.com/robots.txt.

Look for a Disallow rule that covers your page. Under User-agent: OAI-SearchBot, or under User-agent: *.

Then ask your server for the page with the bot's name.

curl -sL -o /dev/null -w "%{http_code}\n" -A "$UA" https://yourdomain.com/pricing

Expect 200.

A 403 or a challenge page? A firewall or bot rule sits between the bot and your page.

OpenAI recommends that you allow OAI-SearchBot in robots.txt, and allow requests from its published IP ranges.

A robots.txt change can take about 24 hours to reach OpenAI's search systems.

Check 2 Is the Answer in the Raw HTML

Raw HTML is what your server sends before any script runs.

Open the page. Choose "View page source". (Not Inspect. Inspect shows the page after scripts ran.) Search for a price, or a sentence from the answer.

Or use the terminal.

curl -sL https://yourdomain.com/pricing | grep -o -i ".\{0,60\}your phrase.\{0,60\}"

No output? The phrase isn't in the HTML your server sends.

Text inside embedded JSON shows up here too. Vercel's data says content like that could still be read.

Check 3 What Does an OpenAI User Agent Receive

Request the page twice. Once with curl's default name. Once with the bot's name.

Compare the status, the type and the size.

curl -sL -o /dev/null -w "%{http_code} %{content_type} %{size_download}\n" https://yourdomain.com/pricing
curl -sL -o /dev/null -w "%{http_code} %{content_type} %{size_download}\n" -A "$UA" https://yourdomain.com/pricing

The type or the size differs? Then the site serves bots something else.

Read it with curl -sL -A "$UA" https://yourdomain.com/pricing | head -40.

One limit. This test sends the bot's name from your address. Not OpenAI's. A site can treat OpenAI's real addresses differently.

Check 4 What the AI Page Inspector Extracts

The AI Page Inspector takes a public URL. It shows the clean text it can extract: title, description, headings and copy.

Then it asks a question that fits the page. A pricing question for a pricing page. A feature question for a product page. And answers it from that text.

How to use it:

  1. Read the extract.
  2. Read the issues it flags.
  3. Ask your own question. "What are the pricing tiers?" or "What features are included?"

It can't answer? The page has a gap.

(This is the same tool we used to analyze Loops.so.)

Know its limits.

  • The Inspector uses a browser-based reader. So scripts can run before it extracts the text.
  • It converts the page to Markdown. It removes images, video, iframes and links.
  • It's not a log of what OpenAI's bots fetched.

So it's a good test for missing answers, weak copy, and content that needs a click or a drag.

But text that a script adds can look fine in the extract, and still be missing for a bot that doesn't run scripts. And it can't see a page that a site serves only to bot user agents.

Checks 2 and 3 cover those gaps.

Check 5 Ask ChatGPT and Read Your Logs

Ask ChatGPT. With search on. What does your pricing page say for each plan?

Compare the answer to your page. Read the sources it lists.

One answer is one sample. Ask a few times.

Then search your logs for the three user-agent names.

grep -E "OAI-SearchBot|GPTBot|ChatGPT-User" access.log

Anyone can send those names. So check each client address against OpenAI's lists: OAI-SearchBot, GPTBot and ChatGPT-User.

A verified visit shows that a bot fetched the page. It doesn't show that ChatGPT used the page in an answer.

For clicks: OpenAI says ChatGPT adds utm_source=chatgpt.com to the referral links in its search results. Those visits show in analytics with that source. (OpenAI publisher FAQ.)

What Each Check Cannot Tell You

No single check shows what ChatGPT read.

Each answers one question and misses another. So pair two that fail in different ways. Like check 3 and your logs.

CheckIt answersIt cannot tell you
Status as the botWhether a request with the bot's name gets throughWhether a firewall that verifies IP addresses treats the real crawler differently
Raw HTMLWhether the text is in what your server sendsWhether bots get a different page by user agent
User-agent diffWhat a request with an OpenAI user agent receivesWhat the real crawler receives from OpenAI's addresses
AI Page InspectorWhat a browser-based reader extracts, and what an AI can answer from itWhat OpenAI's bots fetched. It can hide a no-JavaScript gap and does not see bot-only pages
Ask ChatGPTWhether ChatGPT used your page in this answerWhy. One answer is one sample
LogsWhether a verified bot visited, and the status and size it gotAnything about pages no bot has visited yet

A Worked Example With the Loops Pricing Page

Loops is an email tool with a pricing slider. You pick a subscriber count. The plan changes.

The gap is easy to see there. And it's not rare.

As of October 2025, we had run the AI Page Inspector on 50+ SaaS landing pages. 47 of them had critical content missing from the extract.

One URL, three answers, for loops.so/pricing: a browser shows Free only because the slider shows one plan, Page Inspector extracts Free only with 464 words and no paid price, an OpenAI user agent gets 16 priced tiers from 49 to 3,999 dollars a month
Same URL. Loops fixed it for bots. Not for everyone else.

What a person sees. Drag the slider. The plan changes.

Your browser does not support the video tag.
Recorded October 2025. The slider shows one plan at a time.

What the Inspector extracts. Only the Free plan.

The tool asked about the pricing tiers. It flagged that tiers beyond the free plan aren't visible in the content.

A new run on 2 October 2026 gives the same result. 464 words of text. The Free plan. No paid price.

The Internet Archive copy from 15 October 2025 reads the same: "Your plan Free". No paid price in the text.

AI Page Inspector run on loops.so/pricing; the answer flags that pricing tiers beyond the free plan are not visible in the content.
Screenshot from October 2025. A new run on 2 October 2026 gives the same answer: Free plan only.

What an OpenAI user agent gets. A different answer.

Check 3 on the same URL, run on 2 October 2026:

Request to loops.so/pricingWhat came backPrices in the text
Browser or default curl nameHTML, 515,374 bytes, about 565 words of visible textNone. Free only
OAI-SearchBot nameA Markdown document as text/plain, 4,486 bytes16 priced tiers, $49 to $3,999 a month, plus Free and Enterprise (custom)
GPTBot or ChatGPT-User nameThe same 4,486 bytesThe same
Browser name with Accept text/markdownMarkdown, 3,902 bytesNone. A Markdown copy of the slider page: Free only
AI Page Inspector464 words of MarkdownNone. Free only

So one URL gives:

  • A person: a slider.
  • A browser-based reader: the Free plan.
  • An OpenAI user agent: every tier, as text.

That's a fix of the kind described below. People keep the slider. Bots get the full list.

The Markdown row is the trap. A Markdown copy of the slider page repeats the gap. The Markdown has to contain the tiers.

Two limits:

  • The test sends the bot's name from a non-OpenAI address. So it doesn't show what OpenAI's crawler received.
  • It doesn't show what ChatGPT answers about Loops today.

HubSpot goes the other way.

Same method, on HubSpot's marketing pricing page.

Same page, two answers, for the HubSpot marketing pricing page: a browser name gets 5 words, 75 KB and no prices. An OpenAI bot name gets 3,400 words, 768 KB and 18 prices. Checked with curl, 2 October 2026
An app shell for browsers. Full prices for bots.
  • A browser or curl name: 75 KB of HTML. About five words of text. A JavaScript app shell with no prices.
  • The OAI-SearchBot, GPTBot and ChatGPT-User names: 768 KB. About 3,400 words of visible text. 18 dollar amounts.

A bot that doesn't run scripts could read prices only in the second response.

And a third party shows what happens if you don't fix it.

Encharge, a rival email tool, published a Loops review. It lists every Loops tier in a text table. And scores Loops 3.8 out of 5. (Archived copy, 21 May 2026.)

Encharge's Loops.so Pricing Plans, Summarized table: subscriber counts from up to 1,000 (Free) to 1,000,000 ($3,999 a month), then contact sales
Encharge's Loops review, screenshot from October 2025. It states every tier in text.

When your own page doesn't state the answer in text, a page that does is the one a reader or a bot can quote.

Even if it's your competitor's.

$49 report

Does AI name you?

See if AI mentions your brand. Then get the pages to fix.

Create a free account first, then pay $49 once.

Check one question freeHow it works
chatgpt logo

What's the best AI SEO tracker for a startup?

Most answers name Semrush. You aren't cited.

Ask ChatGPT

How to Fix a Page ChatGPT Cannot Read

Fix the cause in this order.

The first fix helps every reader and every bot. The last carries the most risk.

Fix it in this order: put the answer in the HTML, let OAI-SearchBot in, put the answer in the first screens, offer Markdown that holds the facts, bot-only content last
Start at the top. Most sites never need step 5.

1. Put the answer in the HTML your server sends. Show it to everyone.

  • Render the page on the server, or generate it ahead of time.
  • Add a plain table of every tier under the slider.
  • Put every tab panel in the HTML.

Vercel gives the same advice: server-side rendering, incremental static regeneration and static generation keep content available to all crawlers. (Vercel.)

2. Let OAI-SearchBot in.

Allow it in robots.txt and in your firewall. Allow OpenAI's published IP ranges.

GPTBot is a separate choice about training.

3. Put the answer in the first screens.

Use specific headings. And a title and description that say what the page answers.

4. Offer Markdown that holds the facts.

Serve a Markdown copy on request. Through content negotiation, or a .md URL. Markdown for agents shows how.

5. Use bot-only content last.

The LLMOnly component shows text only when the user agent matches. So it misses any agent it doesn't know.

Give bots the same facts the page shows people.

Google's spam policy defines cloaking as showing users and search engines different content to manipulate rankings and mislead users. It names text added only for a search engine as an example.

It covers search engines, not AI bots. Take it as a caution. Not a ruling.

Fix 2 in robots.txt:

User-agent: OAI-SearchBot
Allow: /

Fix 1 in code, for a slider:

// Before: a slider only. A text reader gets one state.
<PricingSlider onChange={updatePrice} />

// After: the slider for people, and every tier as text for everyone.
<PricingSlider onChange={updatePrice} />
<table>
  <tr><td>Starter, 1,000 contacts</td><td>$29 a month</td></tr>
  <tr><td>Pro, 10,000 contacts</td><td>$99 a month</td></tr>
</table>
What your page doesWhat a text reader getsFix
Price sliderOne state at a time: the default, here FreeList every tier in text
Tabs or accordionsIt depends: panels in the HTML are readable, panels loaded on click are not. Check view-sourceRender every panel in the HTML
Variant selector that loads details by scriptThe default variantList every variant in text
Client-rendered shellAlmost no text, as with HubSpot's response to a browser nameServer render or prerender

Being Readable Is Not the Same as Being Named

A page that bots can read is a condition for being named in an answer.

It's not a rank.

Our leaderboard scanned "best email marketing platform" on 24 September 2026. Four engines named 14 products. Klaviyo had the best average rank: 2.7.

Loops and Encharge aren't among the 14. (Leaderboard.)

(The question is generic. So it says nothing about why.)

The five checks tell you if ChatGPT can read your page.

They don't tell you if ChatGPT names your brand.

That needs the same questions run again and again, with the answers logged. See how to monitor if ChatGPT mentions your brand and how to measure brand visibility in AI.

AI SEO Tracker automates it. $49, once. Up to 50 prompts on five engines, daily for 7 days.

What gets a brand named: how to rank in ChatGPT.

Questions About ChatGPT and Your Website

Can ChatGPT read my website

Yes.

OpenAI says ChatGPT may visit a page with the ChatGPT-User agent when a user asks a question. And OAI-SearchBot surfaces sites in ChatGPT search results.

Whether it gets your text depends on checks 1 to 3.

Does blocking GPTBot remove my site from ChatGPT

No. OpenAI says each setting is independent.

  • GPTBot: use for training.
  • OAI-SearchBot: decides if your pages show in ChatGPT search answers.
  • ChatGPT-User: visits when a user asks. OpenAI says robots.txt rules may not apply to it.

Does ChatGPT run my JavaScript

OpenAI's crawler page doesn't say.

Vercel's December 2024 data says no. One site owner's logs suggest it may have started on some sites on 25 September 2026.

If the answer is in your HTML, the question doesn't matter. See what is known.

Does ChatGPT read my whole page

In tests of OpenAI's web search tool: no. The model opened capped windows of text and had to summarise.

Put the answer early.

How can I see which pages ChatGPT visits

Read your logs for OAI-SearchBot, GPTBot and ChatGPT-User. Check the addresses against OpenAI's lists.

Visits from ChatGPT search results carry utm_source=chatgpt.com.

Which pages ChatGPT cites when it answers about your brand is a different question. Run the questions and read the sources. By hand, or with a tracker.

Is the AI Page Inspector the same as what ChatGPT sees

No.

It shows what a browser-based reader extracts from your page. And what an AI can answer from that text.

It's not OpenAI's fetch. Use it with checks 2 and 3.

$49 report

Does AI name you?

See if AI mentions your brand. Then get the pages to fix.

Create a free account first, then pay $49 once.

Check one question freeHow it works
chatgpt logo

What's the best AI SEO tracker for a startup?

Most answers name Semrush. You aren't cited.

Ask ChatGPT

Ilias Ism

Founded LinkDR, MagicSpace SEO, AI SEO Tracker, and GenPPT.

XLinkedIn

On this page

  • What ChatGPT Reads From a Page
  • Five Checks to Run on Any Page
  • What Each Check Cannot Tell You
  • A Worked Example With the Loops Pricing Page
  • How to Fix a Page ChatGPT Cannot Read
  • Being Readable Is Not the Same as Being Named
  • Questions About ChatGPT and Your Website
$49 report
Does AI name you?

See if AI mentions your brand. Then get the pages to fix.

chatgpt logo

What's the best AI SEO tracker for a startup?

Most answers name Semrush. You aren't cited.

Create a free account first, then pay $49 once.

Check one question free

Keep reading

AI SEO Agent: How to Build One, With a Real Run

An AI SEO agent is a model, tools, a loop and rules. Build a read-only one with MCP and a skill, and see the plan ours wrote: zero new posts.

3 Oct 2026

How to Use Claude Code for SEO: 6 Jobs With Real Output

Use Claude Code for SEO and AI search: set it up, add house rules, connect live data, and run six jobs. Each one has the real output from our own site.

3 Oct 2026

Claude SEO Skills: How a SKILL.md Works (3 Real Examples)

What a Claude SEO skill is, how a SKILL.md file works, three real skills you can read today, and a template to write your own with an approval gate.

3 Oct 2026