Bot traffic tracking
See which AI crawlers are reading your site โ GPTBot, ClaudeBot, PerplexityBot and friends โ and what they're reading. Reported to your Slack channel, like everything else Chad knows.
Why this needs a server package
Crawlers don't run JavaScript. The small browser snippet counts your human visitors, but a bot fetching your pages never executes it โ so bot traffic is invisible to client-side analytics. The @chadanalytics/bot package watches requests at your server instead, reads the user-agent, and reports crawler visits to Chad.
It's fire-and-forget: the middleware only looks at the request method, path, and user-agent header; it never touches request bodies, cookies, or authorization headers. Bot tracking is included on every plan.
Get started
1. Install the package
npm install @chadanalytics/bot
2. Add it to your server
The most common setup is a Next.js app on Vercel โ one middleware line (more platforms below).
// middleware.ts
import { chadBotTracking } from "@chadanalytics/bot/next";
export const middleware = chadBotTracking({
site: "CH-XXXX",
});3. Deploy and check Slack
That's it. Crawler activity shows up in the ๐ค section of your daily report. Run /chad bots or /chad bots week anytime for the exact crawlers and pages requested.
What this tracks
Chad groups bot traffic into categories, so "the machines are reading your docs" and "an SEO tool is scraping you" don't blur together:
| Category | Examples |
|---|---|
| AI assistants | ChatGPT-User, Perplexity-User, Claude-User โ fetching a page live for someone mid-conversation |
| AI training crawlers | GPTBot, ClaudeBot, CCBot, Google-Extended โ reading your site to learn from it |
| AI search indexers | OAI-SearchBot, PerplexityBot โ indexing you for AI search results |
| Search engines | Googlebot, Bingbot, DuckDuckBot |
| SEO & monitoring | AhrefsBot, SemrushBot, UptimeRobot |
The AI categories are the interesting ones: assistants are demand today, training crawlers are demand being trained. Chad reports them separately.
Crawler-facing files
With the server-side tracker installed, Chad also tracks hits to the files bots read first, so you know your instructions are actually being fetched:
/robots.txt/llms.txtand/llms-full.txt/sitemap.xml
Platform examples
Webflow + Cloudflare
Webflow has no request middleware, so its browser snippet cannot see crawlers. If your Webflow custom domain uses Cloudflare DNS, put Chad's Worker route in front of the existing Webflow origin. It preserves the full Webflow response and reports only known crawler requests.
Download the Webflow + Cloudflare template, unzip it, then run:
npm install npm run configure -- \ --site CH-XXXX \ --domain example.com,www.example.com \ --zone example.com npx wrangler login npm run deploy
The custom domain must be in Cloudflare and its Webflow DNS record must remain proxied. The Worker never sends Chad cookies, request bodies, authorization headers, or query parameters. Verify with curl -I -A 'ChatGPT-User/1.0' https://www.example.com/, then run /chad bots hour in Slack.
Express
import express from "express";
import { chadBotTracking } from "@chadanalytics/bot/express";
const app = express();
app.use(chadBotTracking({ site: "CH-XXXX" }));Cloudflare Workers
import { withChadBotTracking } from "@chadanalytics/bot/cloudflare";
export default withChadBotTracking({ site: "CH-XXXX" }, {
async fetch(request, env, ctx) {
return handle(request);
},
});Plain Node
import { trackBotVisit } from "@chadanalytics/bot";
server.on("request", (req, res) => {
trackBotVisit(req, { site: "CH-XXXX" });
// ...your handler
});WordPress
The Chad Analytics WordPress plugin tracks both human visits and known AI crawlers automatically. Install version 1.1.0 or newer and enter your Site IDโno server code is required.
Or just ask your agent
Paste this into Claude Code, Codex, or Cursor and it wires up the right variant for your stack:
Install @chadanalytics/bot on this server with site ID CH-XXXX. Pick the middleware variant that matches this framework, add it before the route handlers, and confirm bot requests are being tracked.
Where to find the data
- Daily report โ the ๐ค section shows crawler visits next to your human AI traffic.
- Anytime โ run
/chad bots,/chad bots week, or/chad bots month. - @Chad โ ask in-channel:
@Chad which pages is ClaudeBot reading?