A bot policy matrix your developer can implement.
If you watch your server logs for AI activity, you quickly notice that nearly all of it comes from a small set of named programs. GPTBot, ClaudeBot and PerplexityBot are three of the most common, and they belong to OpenAI, Anthropic and Perplexity respectively. Each one is an AI crawler that fetches your pages, but each serves a different engine and a different purpose, which is why learning to read them by name turns a confusing wall of log entries into a useful signal about your AI visibility.
This lesson is a practical field guide to the bots you will see most, and what each one actually means for you.
What these agents are
Each of these bots is identified by a user-agent string, the short label a client sends with every request. GPTBot, ClaudeBot and PerplexityBot are the names their operators publish so that site owners can recognize and, if they wish, control them in robots.txt. They are not a single product. Within one company there are usually several distinct agents, each doing a separate job, and conflating them leads to bad conclusions about what an engine is doing with your content.
The cleanest way to think about it is by operator and then by role. OpenAI, Anthropic, Google and Perplexity each run a family of agents, and within each family some bots train models while others fetch pages live to build an answer a user is reading right now.
Why telling them apart matters
The distinction is not trivia. A visit from a training bot and a visit from a live-answer bot mean very different things for your visibility. Heavy training-bot activity suggests an engine is investing in understanding your site for answers it will give in the future. Live-answer and user-triggered fetches are far more immediate, often preceding a citation in an answer being composed at that moment. If you cannot tell which is which, you cannot tell whether your content is being banked for later or pulled into answers today, and those call for different responses.
There is also a control dimension. Some of these agents exist specifically so you can opt out of AI training without affecting anything else, and blocking the wrong one can quietly cost you classic search visibility you meant to keep.
How to read them in your logs
Grouping the agents by company first, then by what they do, makes the whole landscape legible at a glance.
Once a log is organized this way, a pattern emerges. The training agents tend to crawl broadly and on their own schedule. The live and user agents tend to appear in bursts that line up with real human activity. Reading the rhythm tells you almost as much as reading the names.
The players you will meet most
- GPTBot (OpenAI) trains ChatGPT and respects
robots.txt. Heavy GPTBot activity means OpenAI is ingesting you for future answers. - OAI-SearchBot and ChatGPT-User (OpenAI) power live ChatGPT search and user-clicked fetches. These are the ones that tend to precede a real-time citation.
- ClaudeBot and Claude-User (Anthropic) handle training and user-triggered fetches for Claude.
- PerplexityBot and Perplexity-User (Perplexity) fetch sources Perplexity stitches into answers. Perplexity is unusually citation-forward, so this traffic correlates closely with being linked.
- Google-Extended (Google) is an opt-out control for Gemini and Vertex training, and it is separate from Googlebot. Blocking it does not affect classic Google Search.
For the bigger picture of how these families divide into training, live-answer and user-triggered roles, see the lesson on what an AI crawler is.
Read each agent by its role, not just its name.
When and where this knowledge applies
You will use this every time you read a log, audit who is reading your site, or decide what to allow in robots.txt. It applies the moment you want to answer a concrete question, such as whether OpenAI is reading your new documentation, whether Perplexity is fetching the pages you hoped it would cite, or whether you have accidentally blocked an engine you wanted to keep. It also matters when you are diagnosing a citation gap, because seeing the live-answer bots arrive but no citation follow points you toward an answerability problem rather than an access one.
Best practices for working with named bots
- Map allow and block decisions to specific agents. Decide per company and per role, then write
robots.txtrules that match the exact user-agents rather than broad guesses. - Separate training control from search. Treat Google-Extended and similar opt-out agents as distinct from the crawlers that feed classic search, so you never trade away search to manage AI training.
- Watch live-answer traffic closely. Agents like OAI-SearchBot and PerplexityBot are your earliest leading indicator of citations, so changes there deserve attention first.
- Do not rely on a memorized list. New agents appear constantly, so favor an approach that updates its catalog rather than a static set of names you maintain by hand.
Do
- Match allow and block rules to exact user-agents
- Treat Google-Extended as separate from Googlebot
- Watch live-answer bots first as a leading indicator
Avoid
- Memorize a static list that goes stale
- Block an opt-out agent and lose classic search
- Believe a borrowed user-agent without verifying
Working with named bots.
An honest limit, and how to handle it
Here is the catch that trips up most people: the name in a log is just text, and anything can claim to be GPTBot or PerplexityBot. A scraper that wants to avoid notice will happily borrow a trusted bot’s user-agent so its requests blend in with legitimate AI traffic, which inflates your sense of how much real AI interest you have. The fix is not to stop trusting your logs but to verify the names that matter. Forward-confirmed reverse-DNS verification checks a visitor’s actual network identity against the operator’s official domain, so a spoofed agent is flagged rather than believed. The lesson on verifying a bot is real walks through exactly how that works.
See your own bots, then keep watching them
The quickest way to recognize these agents in your own traffic is to look at what already arrived. Paste a sample of your server logs into the free AI Crawler Log Analyzer and it will name the bots for you, group them by operator, and flag anything that looks spoofed. To follow this over time instead of in a single snapshot, CiteTrack’s AI crawler analytics identifies dozens of these agents, verifies them with reverse-DNS, and keeps the catalog current as new bots appear, all on your own WordPress site, so the field guide stays accurate without you maintaining it.
Field assignment
Your documentation is visited by GPTBot but never by OAI-SearchBot. Diagnose why that does not prove ChatGPT can cite it today.
Label each bot by operator and purpose.
Separate training access from answer-time access.
Write the robots policy you actually want for each role.
A bot policy matrix your developer can implement.
