Cloudflare Web Analytics told me chatgpt.com was one of my largest referrers. That is the sum total of what it could tell me, because Web Analytics is a client-side beacon: it fires from a browser running JavaScript. Every crawler on earth is invisible to it by construction.

So when I shipped a page specifically for AI assistants to read, I had no way to answer the only question that mattered — did any of them come?

I added about a hundred lines of server-side counting to find out. The result was not what I expected, and it made me throw away part of the work I had just done.

Three hats, not one

The naive version of this is a counter that increments on "is this a bot". That number is useless, and it took me one iteration to see why: an AI agent hits your site wearing one of three completely different hats.