Deploy the SeeLLM Cloudflare Worker in 5 Minutes
Install the SeeLLM Cloudflare Worker and collect server-side evidence about requests classified as AI crawler traffic.
AI systems can fetch your pages without creating a normal analytics session. If you only rely on browser analytics, you can miss those server-side requests.
The SeeLLM Cloudflare Worker gives you server-side evidence for that request layer. It records requests classified as AI crawler traffic at the edge, subject to classifier confidence. A fetch proves only the classified request; it does not prove citation, quotation, recommendation, or referral.
Prerequisites
- Cloudflare account (free plan works)
- Domain proxied through Cloudflare
- SeeLLM account (app.seellm.com)
Step 1: Create a Worker project
If you don't have a worker project yet:
npx wrangler init seellm-monitor
cd seellm-monitor
Step 2: Install the SeeLLM package
npm install @seellm/cloudflare-worker
The package is MIT licensed. View source on GitHub or browse on npm.
Step 3: Generate adapter credentials
Go to Site Monitor Setup in the SeeLLM dashboard. Click Generate Credentials to get your adapter ID, secret, and org ID.
These credentials authenticate every event your Worker sends to SeeLLM.
Step 4: Configure wrangler.toml
Replace your wrangler.toml with the config from the setup page. It will look like this (with your real credentials filled in):
name = "seellm-monitor"
main = "node_modules/@seellm/cloudflare-worker/src/index.ts"
compatibility_date = "2024-12-01"
[vars]
SEELLM_ADAPTER_ID = "adapter_xxx"
SEELLM_ADAPTER_SECRET = "<your secret>"
SEELLM_ORG_ID = "org_..."
SEELLM_API_URL = "https://api.seellm.link"
# SEELLM_SITE_DOMAIN = "docs.example.com" # Uncomment if your Worker handles multiple domains
The setup page provides a copy-paste ready version with your credentials pre-filled.
Step 5: Deploy
npx wrangler deploy
Step 6: Add a route
In your Cloudflare dashboard:
- Go to Workers & Pages → your worker → Triggers → Routes
- Add a route like
*.yourdomain.com/* - Select the
seellm-monitorworker
That's it. Give it a few minutes and you'll start seeing:
- Which AI crawler identity each request is classified as
- Which URLs they request
- How often important pages are revisited
- Whether crawl volume changes after content or access updates
Before interpreting the logs, use the evidence model to separate requests from sampled or inferred outcomes. The illustrative important-pages report shows how crawler/access evidence and a sampled citation source gap support an inferred diagnosis.
How to confirm it worked
After deploy, check three things:
- Visit
yourdomain.com/__seellm/healthand confirm it returns{"ok": true}. - Open the SeeLLM dashboard and confirm that recent requests are appearing for the domain.
- Filter for an important page, such as a pricing, comparison, documentation, or high-intent editorial URL.
The first useful signal is not a big aggregate count. It is seeing whether specific pages tied to revenue or evaluation receive classified crawler requests.
What to monitor first
Start with pages where AI reuse would actually matter:
- comparison pages
- pricing and packaging pages
- product documentation
- category pages
- high-intent blog posts
- pages that recently changed
For each page, ask:
- Is it being fetched?
- Which AI systems fetch it?
- Did fetch behavior change after edits?
- Does the URL later appear in a documented citation sample, quoted-text match, or detectable AI referral, and is the observation window recorded?
Troubleshooting
- Nothing showing up? Hit
yourdomain.com/__seellm/healthand check for{"ok": true}. - Worried about speed? Telemetry delivery uses Cloudflare
waitUntil, so the outbound send is non-blocking. The Worker still participates in the request path: it awaits edge-redirect evaluation, the origin fetch, edge-page handling, visibility patches, and variants, and it can transform HTML for citation-script injection. Those steps can add overhead, so measure your deployment rather than assuming a latency guarantee. - Seeing only low-value URLs? Add your important pages to monitoring first, then use the aggregate crawler view second.
- Stuck? Email [email protected].
If you want to pull it out later, just delete the route in Cloudflare. Your site goes right back to normal.
What's next?
Once it's live, open the SeeLLM dashboard to:
- See which bots show up and how often
- Find pages with crawler evidence that are absent from a specified citation sample, as a diagnosis trigger rather than proof of universal non-citation
- Run Content Doctor for per-page fixes (crawl directives, content restructuring)
Continue reading
More from the field notes
July 27, 2026
When Cloudflare Blocks AI Crawlers
Your analytics can look healthy while ChatGPT, Claude, and Perplexity cannot fetch your important pages.
June 06, 2026
How to Track AI Referral Traffic from ChatGPT, Perplexity, Gemini, and Claude
A practical measurement guide for separating AI bot visits, citation evidence, and referral sessions so content and SEO teams can see which AI tools actually send traffic.
June 04, 2026
Competitive SEO Benchmarking vs AI Visibility Benchmarking: What's the Difference?
SEO benchmarking tracks Google performance. AI visibility benchmarking documents sampled answer outcomes separately from classified crawler requests and detectable referrals.
From reading to action
See which pages AI systems can actually use.
Start with the free AI Visibility Score. When you need page-level evidence, move from static checks to monitoring the pages that matter.