Prerequisites
- A Siteline website key
- A Cloudflare account with your domain configured
- Node.js installed locally
Cloudflare Workers are available on Cloudflare’s the free plan up to 100K requests/day which is sufficient for most sites. See Cloudflare Workers pricing for details.
Setup
Log in to Cloudflare via Wrangler (official CLI tool)
- Trigger the login page
- Allow Wrangler (Cloudflare’s official command-line tool) to access your account
Set your website key
- Create an encrypted secret for your 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’
Configure routes
- In the Cloudflare Dashboard, navigate to Compute & AI > Workers & Pages
- Select the siteline-cloudflare-worker > Settings > Domain & Routes > Add > Route to add a new route.
-
Select your project as the Zone and enter in a route as shown below for the domains you’d like to track:
example.com/*— tracks all pages for your domain*example.com/*— tracks all pages & subdomains
We recommend setting up tracking for all content pages. For example, if your blog configured as a subdomain then make sure to use*example.com/*to capture both subdomains and pages.
How it works
The worker runs as middleware on your domain:- Receives an incoming request
- Forwards the request immediately to your origin (zero added latency)
- Sends tracking data to Siteline in the background via
ctx.waitUntil - Returns the response to the visitor unmodified
Environment variables
Your Siteline website key. Set via
npx wrangler secret put SITELINE_WEBSITE_KEY.Troubleshooting
Worker not tracking visits
Worker not tracking visits
Verify that routes are configured in the Cloudflare Dashboard under Compute & AI > Workers & Pages. Select the siteline-cloudflare-worker > Settings > Domain > Routes. You should see either
exampledomain.com/* or *exampledomain.com/* configured as routes.How do I check if my key is set?
How do I check if my key is set?
Run
npx wrangler secret list to confirm SITELINE_WEBSITE_KEY is present.How do I view real-time logs?
How do I view real-time logs?
Run
npx wrangler tail to stream logs from your deployed worker.How do I update my website key?
How do I update my website key?
Run
npx wrangler secret put SITELINE_WEBSITE_KEY and paste your new key when prompted.