Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.siteline.ai/llms.txt

Use this file to discover all available pages before exploring further.

Use Cloudflare Workers to intercept requests at the edge and forward server logs containing AI bot & agent visit data to Siteline. The worker runs outside your application’s request path, so there’s no impact on site performance and no Cloudflare data is modified in any way.
On a hosted website builder like Webflow, Framer, or HubSpot? See Website Builders for the full DNS-and-Worker setup.

Prerequisites

Setup

Both Cloudflare’s DNS proxy and Workers run on Cloudflare’s free tier (100K Worker requests/day), which covers most sites.If you have higher traffic and wish to stay on the free tier you can scope your Worker routes to only the subdomains or paths that matter (e.g. your marketing site and blog, not your app dashboard). See Cloudflare Workers pricing for details.
1

Clone and install

git clone https://github.com/siteline-ai/siteline-cloudflare-worker.git
cd siteline-cloudflare-worker
npm install
2

Log in to Cloudflare via Wrangler (official CLI tool)

  • Trigger the login page
npx wrangler login
  • Allow Wrangler (Cloudflare’s official command-line tool) to access your account
3

Set your website key

  • Create an encrypted secret for your Siteline website key
npx wrangler secret put SITELINE_WEBSITE_KEY
  • Paste your key when prompted and press Enter
  • Enter Y when prompted if you want to create a new Worker with name siteline-cloudflare-worker
4

Deploy

npm run deploy
5

Configure routes

  • In the Cloudflare Dashboard, navigate to Compute & AI > Workers & Pages
  • Select siteline-cloudflare-worker > Settings > Domain & Routes > Add > Route
  • Select your project as the Zone and enter a route for the domains you’d like to track:
    • example.com/* — tracks all pages for your domain
    • *example.com/* — tracks all pages & subdomains
    We recommend tracking all content pages. If your blog is configured as a subdomain, use *example.com/* to capture both subdomains and root pages.
  • Set Failure Mode to Fail Open
  • Save

How it works

The worker runs as middleware on your domain:
  1. Receives an incoming request
  2. Forwards the request immediately to your origin (zero added latency)
  3. Sends tracking data to Siteline in the background via ctx.waitUntil
  4. Returns the response to the visitor unmodified
Static assets (images, CSS, JS, fonts) are automatically excluded. View the full source on GitHub.

Environment variables

SITELINE_WEBSITE_KEY
string
required
Your Siteline website key. Set via npx wrangler secret put SITELINE_WEBSITE_KEY.

Troubleshooting

Verify that routes are configured in the Cloudflare Dashboard under Compute & AI > Workers & Pages. Select siteline-cloudflare-worker > Settings > Domain > Routes. You should see either exampledomain.com/* or *exampledomain.com/* configured as routes.
Run npx wrangler secret list to confirm SITELINE_WEBSITE_KEY is present.
Run npx wrangler tail to stream logs from your deployed worker.
Run npx wrangler secret put SITELINE_WEBSITE_KEY and paste your new key when prompted.
Need help? Book a setup call and we’ll walk you through it.