On 11 July 2026, a local service site recorded this in its access log:03:03:56 ChatGPT-User /articles/pressure-washing-cost-comparison-guide.html
03:03:56 ChatGPT-User /articles/how-much-does-pressure-washing-cost-2026.html
03:05:23 ChatGPT-User /articles/house-washing-cost-2026.html
03:05:57 ChatGPT-User /
Three cost articles plus the homepage, pulled within seconds. That is not a crawler indexing. That is an answer being assembled for a person who asked what pressure washing costs.
Every major platform runs two distinct agents, and they mean opposite things:
Corpus crawlers — GPTBot, ClaudeBot, PerplexityBot. These build an index. Their visit means you are being stored.
Retrieval agents — ChatGPT-User, Claude-User, Perplexity-User. These fetch at answer time, because a human asked something. Their visit means you are being used.
Confusing the two is the most common error in reading these logs.
What you cannot see is a model answering from its existing corpus without fetching anything. That produces no request and no log line. So server logs give you a floor on your citation activity, never a ceiling. And nothing in any analytics dashboard shows any of it — these agents never fire a JavaScript tag.