Crawlers and logs

GPTBot, ClaudeBot, PerplexityBot: reading your logs to see what AI really does with your site

On a bright orange background, navy blue parallel bands shift vertically at irregular intervals, evoking the reading of logs and request rhythms, with a grainy texture and halftone dots reminiscent of a risograph print.

Why these bots show up in your logs

AI bots are no longer marginal visitors: they crawl the web to collect, index or query content. In server logs they are spotted first by their user-agent, then by their behavior: request frequency, pages targeted, whether they honor robots.txt, and whether they come from IP ranges the operator has published.

For an administrator or a technical SEO, the point is not only knowing who passes through, but what those robots read, at what pace, and whether they consume resources unusually. Identifying GPTBot, ClaudeBot and PerplexityBot correctly lets you adjust access, document machine traffic and keep a reliable reading of server performance.

A central pattern of intense orange parallel bands, crossed by a few teal lines, evokes a dense flow in which certain elements are filtered or analysed; set on a plain background, with a grainy texture reminiscent of screen printing.

The signatures worth spotting

The first move is to inspect the HTTP headers recorded in the logs. Bot names are usually explicit in the user-agent, which makes initial detection straightforward. The three most common are spotted like this:

  • GPTBot: user-agent containing the string GPTBot.
  • ClaudeBot: user-agent containing ClaudeBot.
  • PerplexityBot: user-agent containing PerplexityBot.

The method is quick, but it does not suffice on its own. A user-agent can be forged, or truncated depending on the reverse proxy, the CDN or how you configured logging. For reliable identification, always cross the declared name with other evidence: source IP, reverse DNS, crawl volume, and consistency with the ranges the provider publishes where those exist.

GPTBot: OpenAI's training crawler

GPTBot is OpenAI's crawler for collecting public data used to improve its models. OpenAI explains in its GPTBot documentation how to block the robot, through robots.txt or a server rule. In the logs, its requests target publicly accessible pages.

A few practical points for identifying it:

  • check the exact user-agent in the raw logs;
  • watch whether it honors the Disallow directives in your robots.txt;
  • compare the request rate with that of a human visitor;
  • where possible, check the IP and the PTR record for consistency.

A technically clean crawl does not look like a sudden spike in browser traffic. GPTBot has the profile of steady collection, page by page, with a content discovery logic close to that of other web crawlers.

ClaudeBot: Anthropic's crawler

ClaudeBot collects pages for Anthropic, separately from what Claude's users ask for. Here too the user-agent is the most direct signal: the string ClaudeBot appears in requests identified as coming from the robot. Anthropic has also published control mechanisms in its public documentation, which lets site owners manage access as they would for other known crawlers.

Telling ClaudeBot apart from GPTBot has a concrete purpose: the two do not follow the same crawl paths. To track it effectively:

  • centralize the logs from your web server and your CDN;
  • filter requests containing ClaudeBot in the user-agent;
  • look for runs of hits on deep pages or archives;
  • watch for 403 and 404 errors, or unusual crawl loops.

One important point: if you block ClaudeBot, record it clearly in your operations documentation. That stops anyone mistaking an absence of AI traffic for a logging problem.

Undulating orange parallel bands criss-cross a teal background, with a grainy printed screen texture, suggesting the detection and examination of complex patterns in crawl logs.

PerplexityBot: Perplexity's search robot

PerplexityBot belongs to Perplexity and turns up frequently on public sites. Perplexity documents two robots with distinct roles, and confusing them distorts any reading of the logs: PerplexityBot feeds the index, while Perplexity-User fetches a page on demand, when a user question calls for it. In the logs their user-agents contain PerplexityBot and Perplexity-User respectively. We set out this split of roles, provider by provider, in our article on robots.txt, GPTBot and ChatGPT.

To identify it without ambiguity:

  • do not stop at the bot's name: check which URL paths it requests;
  • see whether it favors editorial content, FAQs, help pages or product pages;
  • analyze how often certain URLs repeat over a short period;
  • set the traces against the exclusion rules in your robots.txt.

PerplexityBot can leave a different footprint from a classic crawler: less depth on some technical trees, more attention on text pages with high informational value. That is worth knowing if your aim is to understand how your content may be consumed by automated answering systems.

A reliable verification method in your logs

To avoid false positives, use a three-level method:

  1. Identify the exact user-agent in the raw logs.
  2. Confirm with the IP address, reverse DNS and, where available, the official ranges the provider publishes.
  3. Qualify the behavior: frequency, crawl depth, respect for robots.txt, types of pages visited.

A simple table helps compare the footprints you observe:

BotMain clueCheck pointRisk of confusion
GPTBotUser-agent containing GPTBotrobots.txt compliance, IP consistencyForged user-agent
ClaudeBotUser-agent containing ClaudeBotCrawl volumes and sequencesIncomplete logs via CDN
PerplexityBotUser-agent containing PerplexityBotText pages targetedThird-party scraping traffic

If you run Nginx, Apache or a WAF, keep the full access logs with user-agent, IP, referer and HTTP status. Without them, detection stays fragile.

Frequently asked questions

Should these bots be blocked by default?
Not necessarily. It depends on your editorial strategy, your load constraints and your policy on content use. Some sites prefer to allow, others filter selectively.

Is the user-agent enough to conclude?
No. A user-agent can be forged. Cross it with the IP, the crawl behavior and whatever the providers publish officially.

Why do these bots visit my FAQ pages or my guides?
Because those are usually highly structured pages, rich in answers and easy for AI or assisted search systems to work with.

How do you tell an AI bot from a malicious scraper?
A legitimate bot is documented, identifiable through its published IP ranges, and honors robots.txt. A malicious scraper can hide its identity, ignore access rules or multiply requests at an abnormal rate.

What should you watch first in the logs?
The user-agent, the request volume, the response codes, the most requested paths, and repeat visits to sensitive or expensive pages.

Setting up monitoring that serves technical SEO

Beyond plain detection, the value lies in turning your logs into a steering tool. If GPTBot, ClaudeBot or PerplexityBot come back regularly, you can measure:

  • the pages AI bots request most;
  • the impact on server load;
  • any gap between human and machine traffic;
  • the effects of a robots.txt rule or a WAF block.

That monitoring also helps you understand which pages AI systems actually go after. For a publisher, that is strategic information: it sheds light on visibility, on machine consumption and on content governance at once.

Dots arranged in a regular grid on a teal background, crossed by orange vertical bands that modulate their density, suggesting zones of observation and measurement over an abstract stream of data.
Yann Léguillon

Written by

Yann Léguillon

President of Mazette, the company behind Joornal. He works with companies that are building their own media: editorial structure, visibility in search engines and in AI answers, production at scale.