Skip to content
Crawlers

How to Tell If ChatGPT Is Reading Your Website

TL;DR
  • ChatGPT uses three separate agents with different jobs, so you need to watch for more than one user-agent.
  • The only reliable place to check is your server logs, not third-party traffic sniffers or your analytics dashboard.
  • Kymo's free AI visibility check reads a page from public signals, meaning you can get a read without installing anything.
  • Server-side tracking preserves your visitor privacy, and cookieless identity is what keeps it that way.
  • You can track AI traffic without paying for it, since crawler events never count against your event limit.

Yes, you can check ChatGPT traffic, as long as you look in the right place.

The right place is your server logs. Raw access logs record the user-agent string of every request. When ChatGPT's crawlers or live fetchers hit your site, their bots leave a fingerprint you can read directly. If you control your server, you can grep the logs. If not, you need an analytics tool that keeps a record of user-agents server-side.

Many analytics platforms strip this data down or hide it behind a privacy rule. That is why your normal dashboard often shows nothing when you look for AI crawlers. The data never made it in. Kymo exists to fix that gap, and the rest of this post shows you exactly what to look for and how to read it.

Why ChatGPT visits your site in the first place

ChatGPT is not one bot. It is a family of agents, each with a distinct purpose. OpenAI runs at least three separate crawlers that touch websites:

CrawlerCategoryWhat it doesCan it send traffic?
GPTBotTrainingBulk crawls pages to build model training dataNo
OAI-SearchBotIndexingBuilds a search index for later answersYes
ChatGPT-UserAI answersLive fetches a page because one person asked a questionYes

Your site gets "read" by ChatGPT in three different ways. GPTBot reads for training. OAI-SearchBot reads ahead of time to build an index. ChatGPT-User reads live, right when a person asks a question. That third one is the one that matters most for visibility, because it happens in real time and it can send referral traffic back to you.

If you block one of these three, you may block all of them, depending on your robots.txt. Blocking GPTBot stops training crawls. It does not stop ChatGPT-User or OAI-SearchBot, because those are separate robots.txt tokens. To block all three you need to disallow GPTBot, OAI-SearchBot, and ChatGPT-User separately.

The three categories of AI crawlers

Kymo classifies crawler user-agents into three categories: ai_answer, indexing, and training. The distinction is not semantic. It tells you why a crawler visited and what it will do with the content.

AI answer crawlers are live fetches. A person asked a question right now, the assistant fetched your page to answer it, and the whole thing happened in seconds. Examples include ChatGPT-User, Claude-User, and Perplexity-User. These are the ones that can send a human being to your site, because the person who asked the question may click your link.

Indexing crawlers work ahead of time. They build a search index that the assistant queries later. OAI-SearchBot, Claude-SearchBot, and PerplexityBot fall here. They are the AI equivalent of Googlebot. They do not send traffic directly, but they determine whether your page is available when someone asks a question later.

Training crawlers are bulk scrapers. GPTBot, ClaudeBot, and Bytespider crawl at scale to collect data for model training. They send zero traffic and they do not directly influence answers, though they do shape the model's general knowledge.

If you mix these categories up, your decisions go wrong. Blocking a training crawler does not remove your site from that operator's AI answers, since the indexing and live-fetch agents are separate tokens. Many site owners block GPTBot and assume they are invisible to ChatGPT. They are not. GPTBot is training only. OAI-SearchBot and ChatGPT-User can still read the site.

The OAI-SearchBot crawler page has the full details for OpenAI's indexer. A popular mistake is classifying OAI-SearchBot as an answer fetcher. It is not. It builds the index. ChatGPT-User is the live fetcher. The same logic applies to Anthropic's bots, and Claude-SearchBot is the indexer there, not the live fetcher.

How to read your logs for ChatGPT

If you want the raw data, here is a practical approach. Open your server access log, usually in nginx or apache format, then search for the specific user-agents.

For ChatGPT-User, the user-agent string contains ChatGPT-User. For OAI-SearchBot, it contains OAI-SearchBot. For GPTBot, it contains GPTBot. The same principle applies to Perplexity, Claude, and every other provider. You do not need a tool to read the raw string. Any terminal command that greps a file will find them.

A simple grep for GPTBot plus OAI-SearchBot plus ChatGPT-User gives you the full view of OpenAI's reading habits for a given day. You can do the same for other providers. Combine the results with timestamps to see when they crawl, and with URL paths to see which pages they prioritize.

This manual approach gets tedious fast, which is where a dedicated tool becomes useful. But even before you install anything, you can run the free check at Kymo's free AI visibility checker to get a baseline read on a URL. It pulls from public signals and emails you a report in a few minutes. The site does not need Kymo installed for that to work.

Why privacy-friendly analytics still catch crawlers

A fair objection: server-side tracking with user-agent strings sounds invasive. It is not, because a crawler is not a person. The user-agent is the only identifying detail Kymo keeps for AI crawlers, and it is kept on the crawler's own event row to keep the classification auditable. No IP address is stored raw. No human visitor's user-agent string is retained at all. The visitor identifier is a salted server-side hash, which is how cookieless identity works.

The retainer of crawler user-agents is deliberate. It lets Kymo show you a definitive answer when you ask "did ChatGPT read this page?" The answer is a yes or no, backed by a recorded user-agent on a specific row. That is auditable in a way that AI-visibility score estimates are not.

Which is not to say those score estimates are worthless. An score like the one in the AI visibility score post is a useful leading indicator. But a score is a model's guess. A crawler hit in your logs is a fact. Use the score to prioritize, then verify with the logs.

What the AI Visibility report gives you

Kymo's AI Visibility report is the practical output of all this crawler data. It shows which of your pages AI assistants fetch, the likely prompts behind those fetches, and confirmed click-throughs from AI referrals. The report is a diagnostic, not a strategy. It tells you what is happening. It does not write your content, which is a job for an approach like the one in the Small Business Guide to AEO.

If you are new to all of this, the terminology can feel heavy. What is the difference between AEO and AIO, for instance? The AEO vs AIO post sorts that out, and the broader explainer at what SEO for AI is called covers the whole naming mess. The short version: AEO is making content answer questions well, AIO is optimizing content to get recommended by AI tools, and GEO is sometimes used as a synonym for AEO. They overlap more than they differ.

A note on robots.txt and compliance

When you decide to block or allow these crawlers, know that the rules are not always followed. Perplexity-User, for example, is documented as exempt from robots.txt because a user explicitly asked for the fetch. Cloudflare also published evidence in August 2025 of undeclared Perplexity crawlers, a finding Perplexity disputed. The point is not to litigate that here. The point is that robots.txt is a polite request, not a guarantee.

Also, do not confuse control tokens with crawlers. Google-Extended and Applebot-Extended are robots.txt tokens only. They have no user-agent and never visit a site. Disallowing one controls how content an operator already crawled may be used. They do not appear in logs, and no analytics tool will ever report them as a visitor.

None of this is unique to OpenAI. The AI search for small business category has more background on how the pattern repeats across providers.

What to block, what to allow

You do not have to block AI crawlers. Many sites welcome them. Read the Small Business Guide to AEO if you want to get found more often. A reasonable position is to block training crawlers, allow indexers, and allow live fetchers. Training crawlers send no traffic and give you nothing in return. Indexers and live fetchers are how you get discovered in answers.

A more aggressive position is to block everything. That protects your content from training data collection, but it also removes you from answers. If ChatGPT can never read your page, it can never recommend your page.

There is no wrong answer, only a tradeoff. What matters is that you measure the tradeoff instead of guessing. A tool like Kymo gives you the measurement. The plan starts at $9 a month for up to 10,000 events, or $90 a year, and both plans include every feature. Crawler tracking never counts against your event limit. Both plans start with a 14-day free trial and no card is required. If you exceed your event limit the dashboard pauses, but your data is not deleted.

The practical start

Run the free check first. It reads a URL from public signals and sends you a report by email. Then consider the full product. If you are running a business that used to rely on Google for discovery, the way people find you is changing. You need to see the crawler traffic the same way you see human traffic.

The one thing you should not do is keep operating blind. SEO still matters. AEO adds to it. Find what is reading your site and make it easy to read you well.

Start with a look, not a lecture

If you want to see which of these crawlers actually visit your site, start with tracking it to get the full picture. Or read the documentation on how Kymo classifies crawlers into answer fetchers, indexers, and training bots, then run the free check against any URL to get an AI visibility report via email, no installation needed.

Start free → 14-day free trial. No card required.

Published Aug 23, 2026·All posts·The AEO guide