How Often Do AI Crawlers Visit Websites? Real Log Data
AI crawlers hit the 8 sites No Time For SEO tracks 28,994 times in one week. See GPTBot, ClaudeBot, ChatGPT-User counts, log commands and robots.txt.
AI crawlers visit active websites every day, not once a month. Across the 8 business sites No Time For SEO tracks in raw server logs, AI crawlers and agents logged 28,994 hits in a single week (the week of Monday, July 13, 2026). That is roughly 518 hits per site per day, and it climbs the moment you publish something new.

The number that surprises most owners: 6,370 of those hits came from ChatGPT-User, the agent ChatGPT sends to read a page live while answering a real person’s question. That is not a training crawl saved for later. That is someone getting an answer right now, with your page in the frame.
- Which AI crawlers hit your site, and the exact user-agent strings to search for
- Copy-pasteable log commands for nginx, Apache and Cloudflare
- How to tell a live answer-time fetch apart from a routine training crawl
- How to set robots.txt so you allow the crawlers you want
Every number below comes from our own server logs or a linked source. Start by seeing how often the crawlers actually show up.
How Often Do AI Crawlers Visit Websites?
AI crawlers visit an active, regularly updated site daily, and they visit fresh pages within hours. Across the 8 sites No Time For SEO tracks in server logs, AI crawlers and agents recorded 28,994 hits in the week of Monday, July 13, 2026.
Crawl frequency is not fixed; it rises with publishing cadence, site authority and how often each page changes. Here is the same week broken out by the user agents that did the crawling, where a live-retrieval agent (ChatGPT-User) outweighs every training crawler combined.
| User agent | Hits (one week) | What it is |
|---|---|---|
| ChatGPT-User | 6,370 | Live answer-time fetch by ChatGPT |
| ClaudeBot | 2,393 | Anthropic training crawler |
| GPTBot | 1,631 | OpenAI training crawler |
| PerplexityBot | 1,190 | Perplexity indexing crawler |
| All AI crawlers and agents combined | 28,994 | Includes OAI-SearchBot, Bingbot, Amazonbot, Meta-AI and the rows above |
Takeaway: live retrieval, not training, is now the largest slice of AI crawler traffic on the sites we track, so a slow or blocked page loses answers in real time.
Which AI Crawlers Visit My Website, and How Do I See Them?
Four AI crawlers matter most for visibility: GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot (Perplexity) and OAI-SearchBot (OpenAI’s search index). Each runs under a distinct user-agent string, and each company publishes that string so you can find it in logs.
| User agent | Company | Purpose | robots.txt token |
|---|---|---|---|
| GPTBot | OpenAI | Training crawl | GPTBot |
| OAI-SearchBot | OpenAI | Search index for ChatGPT search | OAI-SearchBot |
| ChatGPT-User | OpenAI | Live fetch during a user’s ChatGPT session | ChatGPT-User |
| ClaudeBot | Anthropic | Training crawl | ClaudeBot |
| PerplexityBot | Perplexity | Search index crawl | PerplexityBot |
| Google-Extended | Controls Gemini and Vertex AI training use | Google-Extended | |
| Applebot-Extended | Apple | Controls Apple AI training use | Applebot-Extended |
Takeaway: Google-Extended and Applebot-Extended are not separate crawlers that hit your server; they are robots.txt tokens that tell the normal Googlebot and Applebot whether their owners may use your content for AI training.

You see them the same way every time: by reading the user-agent field in your web server access logs. That field is a plain text label the crawler sends with every request. The next section gives the exact commands to pull those lines out.
How Do I Check My Server Logs for GPTBot and ClaudeBot?
You check your server logs for GPTBot and ClaudeBot with a single grep line per user agent. The command differs slightly by server, but the pattern is the same: read the access log, keep only the lines that contain the bot name, and count them.
Check nginx access logs
The nginx access log usually lives at /var/log/nginx/access.log. Run these one at a time:
- Count GPTBot visits:
grep GPTBot /var/log/nginx/access.log | wc -l - Rank every AI bot by hits:
grep -E "GPTBot|ClaudeBot|PerplexityBot|ChatGPT-User|OAI-SearchBot" /var/log/nginx/access.log | grep -oE "GPTBot|ClaudeBot|PerplexityBot|ChatGPT-User|OAI-SearchBot" | sort | uniq -c | sort -rn - List the exact pages GPTBot fetched:
grep GPTBot /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn
Expected output from step 2 looks like this, one count per bot:
2393 ClaudeBot
1631 GPTBot
1190 PerplexityBot
Check Apache access logs
The Apache log is usually /var/log/apache2/access.log (or access_log on CentOS). Same idea, one command per bot:
- Count ClaudeBot visits:
grep ClaudeBot /var/log/apache2/access.log | wc -l - Rank the AI bots:
grep -E "GPTBot|ClaudeBot|PerplexityBot|ChatGPT-User" /var/log/apache2/access.log | grep -oE "GPTBot|ClaudeBot|PerplexityBot|ChatGPT-User" | sort | uniq -c | sort -rn
Check Cloudflare logs
On Cloudflare you will not find these in a file on your origin, because Cloudflare sits in front of it. Use the dashboard instead:
- Open your domain in the Cloudflare dashboard and go to Analytics & Logs.
- Filter traffic by User Agent and search for GPTBot or ClaudeBot, or open the AI Audit tab if your plan includes it.
- Export the request log (Logpush on higher plans) if you want to run the same grep commands offline.
grep for zgrep and point it at /var/log/nginx/access.log.*.gz to search the whole week at once.Training Crawlers vs Live-Retrieval Crawlers: How Do You Tell Them Apart?
A training crawler collects pages on a schedule to build a model; a live-retrieval crawler fetches a page the instant a user asks a question the page might answer. GPTBot and ClaudeBot are training crawlers. ChatGPT-User, OAI-SearchBot and PerplexityBot show up because a person is being answered right now.

The distinction matters because the two behave differently in your logs. Across our 8 tracked sites in the week of July 13, 2026, training crawlers hit 4,024 times (GPTBot 1,631, ClaudeBot 2,393) while ChatGPT-User alone hit 6,370 times. You separate them in the same log file with two clues:
- Read the user-agent name. ChatGPT-User and OAI-SearchBot mean ChatGPT touched the page for an answer; GPTBot and ClaudeBot mean a scheduled training crawl.
- Watch the pattern. Training crawlers sweep many URLs in a burst. A live-retrieval fetch is usually one or two URLs, tied to a single moment, often right after that topic trends.
Takeaway: a spike of ChatGPT-User hits on one URL is the closest thing you have to proof that ChatGPT is citing that page in live answers, because that agent only fires when a user prompt pulls the page in.
How Often Does GPTBot Recrawl a Page After I Update It?
GPTBot recrawls updated pages on a cadence that tracks your site’s authority and update frequency, not a fixed clock. On the active sites we manage, new and freshly edited pages get an AI crawler hit within hours to a few days of publishing.
Four factors move crawl frequency up or down. This is what we watch when a page is not getting recrawled:
| Factor | Pushes crawl rate up | Pushes crawl rate down |
|---|---|---|
| Publishing cadence | New posts several times a week | Static site, no new content |
| Content freshness | Pages edited and dated recently | Pages untouched for a year |
| Domain authority and backlinks | Cited by other trusted sites | Few or no inbound links |
| Server speed | Fast first byte, no timeouts | Slow responses or 499 errors |
Takeaway: the single fastest way to earn more frequent AI recrawls is to publish and update on a steady cadence, because crawlers learn how often a site changes and match their return trips to it.
What a healthy AI-crawl rate looks like
Rough baselines help you judge your own numbers. These are ranges we observe across our 8 sites, offered as a sanity check, not a promise:
| Site size | Typical AI crawler hits per day | Reading |
|---|---|---|
| Small local business, rarely updated | 0 to 20 | Discoverable but low priority |
| Active blog or service site | 50 to 400 | Healthy; crawlers return regularly |
| Content-heavy site, frequent posts | 500 or more | High interest; live fetches common |
Takeaway: if a content-heavy site shows near-zero AI crawler hits per day, treat that as a red flag and run the robots.txt and troubleshooting checks below.
Am I Accidentally Blocking AI Crawlers in My robots.txt?
You are accidentally blocking AI crawlers if your robots.txt has a broad Disallow: / under a User-agent: * block, or a named block for GPTBot, ClaudeBot or PerplexityBot that you forgot was there. robots.txt controls each crawler individually by its token. Check it in three steps:
- Open
https://yourdomain.com/robots.txtin a browser and read every block top to bottom. - Search the text for GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and Google-Extended. Any of these followed by
Disallow: /blocks that crawler entirely. - Confirm the wildcard block. A
User-agent: *withDisallow: /blocks every well-behaved crawler, AI ones included.
An allow-everything setup looks like this. To welcome the AI crawlers you do not need to name them; you just avoid disallowing them:
Allow: /
To allow normal search but block AI training specifically, you name the tokens:
Disallow: /
User-agent: Google-Extended
Disallow: /
Should I Allow Google-Extended and OAI-SearchBot in robots.txt?
For most businesses that want to be found in AI answers, you should allow OAI-SearchBot and leave Google-Extended allowed too. OAI-SearchBot builds the index ChatGPT search reads from, so blocking it removes you from that surface. Google-Extended governs whether Google may use your pages for Gemini training; blocking it does not affect normal Google Search ranking.

The tradeoff is training use versus visibility. Here is how we think about each token.
| Token | Default guidance | Tradeoff |
|---|---|---|
| OAI-SearchBot | Allow | Blocking removes you from ChatGPT search results |
| ChatGPT-User | Allow | Blocking stops live citations in ChatGPT answers |
| PerplexityBot | Allow | Blocking removes you from Perplexity answers |
| GPTBot | Allow unless training use worries you | Blocking limits training use but not ChatGPT search |
| Google-Extended | Allow (does not affect Search) | Blocking opts you out of Gemini training only |
Takeaway: the search and live-retrieval tokens (OAI-SearchBot, ChatGPT-User, PerplexityBot) are the ones that control whether AI systems can cite you today; the training tokens (GPTBot, Google-Extended) are a separate, lower-stakes choice about model training.
Does Blocking AI Crawlers Remove Me From AI Answers?
Blocking the retrieval crawlers does remove you from the answers those systems generate, but the effect is not uniform across systems. ChatGPT, Claude, Perplexity and Google AI Overviews are different products with different crawlers, so blocking one does not block the others. Here are three honest points, since these systems do not behave identically:
- Block OAI-SearchBot and you drop out of ChatGPT search results, since that index feeds them.
- Block GPTBot only and ChatGPT can still cite you through its search index if OAI-SearchBot is allowed; the two tokens are separate.
- Block PerplexityBot and you leave Perplexity’s answer sources, independent of anything you set for OpenAI.
Takeaway: there is no single switch that removes you from every AI answer at once, and no single switch that locks in inclusion; anyone promising a locked-in AI citation is overselling.
Why GA4 Won’t Show This Traffic, and How to Catch Spoofed Bots
Google Analytics 4 will never show you AI crawler traffic, because GA4 runs on JavaScript and crawlers do not execute JavaScript. GPTBot, ClaudeBot and PerplexityBot request the raw HTML and leave; the GA4 tag never fires. Server logs are the only reliable record of these visits.
Verify crawler IPs to catch spoofed bots
You also cannot trust the user-agent name alone, because anyone can send a fake one. To confirm a hit is really GPTBot and not a scraper wearing its name, verify the IP address against the company’s published range:
- Grab the IP from the log line for a GPTBot request.
- Compare it against OpenAI’s published GPTBot IP ranges (OpenAI posts them as a JSON file), Anthropic’s ClaudeBot ranges, or Perplexity’s list.
- Flag any hit whose user agent says GPTBot but whose IP is outside the published range; that is a spoofed bot, not the real crawler.
Takeaway: a real AI crawler always sends both the right user-agent string and an IP inside its owner’s published range; treat a mismatch as a scraper impersonating the crawler.
Found Zero AI-Crawler Hits? Your Troubleshooting Checklist
Zero AI-crawler hits in your logs almost always means one of four things: the page is blocked, the server is failing the fetch, the site has no authority signals yet, or you are reading the wrong log. Work the list in order; the first two catch most cases.
- Confirm you are reading the live access log, not an empty or rotated one. Check the file’s timestamp first.
- Read robots.txt for any Disallow rule touching GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot or the wildcard block.
- Check your firewall or CDN for bot-blocking rules that stop AI crawlers before they reach your logs.
- Test server speed. Slow responses and 499 errors cause crawlers to drop the fetch, so the visit never completes.
- Build authority. New sites with few backlinks get crawled last; earning links and publishing regularly pulls crawlers in.
Getting crawled is necessary but not sufficient. Once AI crawlers can reach a page, useful and well-structured content is what earns citations and clicks.
- A single researched article we wrote for a 5-location dental group earned 52,171 Google impressions in one month while ranking on page one (Google Search Console, verified July 2026). After our takeover, 53% of that group’s Google clicks came from non-branded searches: people who did not know the practice name.
- A trading-education platform we run search for now has 82 of its top 100 keywords on page one of Google, with 63% of its clicks non-branded (July 2026).
Crawler access is the door; useful, well-structured content is what gets cited once you are through it. See how to get your business mentioned in ChatGPT.
Do This Now: The One-Week AI Crawler Checklist
Run this list this week. Each item takes a few minutes and tells you exactly where you stand.
- Run the ranking grep command from the log section against your access log and write down the counts.
- Open your robots.txt and confirm no Disallow rule blocks GPTBot, ClaudeBot, PerplexityBot or OAI-SearchBot.
- Verify one GPTBot IP against OpenAI’s published range to rule out spoofing.
- Separate your ChatGPT-User hits from your GPTBot hits so you know how many were live answer-time fetches.
- Fix any page with slow response times or 499 errors, since those silently drop AI fetches.
- Publish or update one substantive page this week and watch for an AI crawler hit within a few days.
Frequently Asked Questions
How often do AI crawlers visit websites?
AI crawlers visit active websites daily and fetch fresh pages within hours. Across the 8 sites No Time For SEO tracks, AI crawlers and agents logged 28,994 hits in the week of July 13, 2026, roughly 518 per site per day. Frequency rises with publishing cadence, authority and content freshness.
Which AI crawlers visit my website and how do I see them?
GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and ChatGPT-User are the main ones. You see them by searching the user-agent field in your web server access logs, because they identify themselves there on every request.
How do I check my server logs for GPTBot and ClaudeBot?
On nginx, run grep GPTBot /var/log/nginx/access.log | wc -l to count hits, and swap in ClaudeBot for the other. On Apache, point the same command at /var/log/apache2/access.log. On Cloudflare, filter by User Agent in the dashboard instead.
Am I accidentally blocking AI crawlers in robots.txt?
You are if robots.txt has Disallow: / under User-agent: *, or a named Disallow for GPTBot, ClaudeBot or PerplexityBot. Open yourdomain.com/robots.txt and search for those tokens; each controls one crawler individually.
How often does GPTBot recrawl a page after I update it?
On the active sites we manage, GPTBot and other AI crawlers hit freshly edited pages within hours to a few days. The cadence tracks authority, freshness and update frequency. Nobody outside OpenAI knows the rule; this is observed log behavior, not an insider claim.
Should I allow Google-Extended and OAI-SearchBot in robots.txt?
Allow OAI-SearchBot if you want to appear in ChatGPT search. Google-Extended only governs Gemini training and does not affect Google Search ranking, so allowing it is low risk. Block a token only if training use of your content genuinely concerns you.
Does blocking AI crawlers remove me from AI answers?
Blocking a retrieval crawler removes you from that system’s answers, but the effect is per system. ChatGPT, Claude, Perplexity and Google AI Overviews use different crawlers, so blocking one does not block the others. There is no single switch, and no locked-in citation.
Why doesn’t GA4 show AI crawler traffic?
GA4 runs on JavaScript and AI crawlers do not execute JavaScript, so the GA4 tag never fires for them. They request the raw HTML and leave. Raw server logs are the only reliable record of GPTBot, ClaudeBot and PerplexityBot visits.
Want your business named in answers like these?
Send us your website. In two business days you get a free, human written report on where you show up on Google and in AI answers, and what we would fix first.
Get your free audit →