How to Track and Optimize AEO With Cloudflare: Salespeak LLM Optimizer Setup

A red, orange and blue "S" - Salespeak Images
Omer Gotlieb Cofounder and CEO - Salespeak Images
Salespeak Team
7 min read
March 9, 2026

66% of all internet traffic is bots. Cloudflare Radar confirmed that number in late 2025, and it's only grown since. A large chunk of that bot traffic? AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, BingPreview) scraping your content to train models and power AI search results.

Here's the problem: Google Analytics doesn't see any of it. GA tracks browser sessions. AI crawlers don't use browsers. They hit your server directly, grab your content, and leave. Your analytics dashboard shows zero. Meanwhile, your pages are being ingested, summarized, and either cited or ignored by every major AI model.

Most AEO guides stop at "figure out if AI bots visit your site." That's table stakes. The real question is: when an AI crawler shows up, what does it actually see? And can you control that?

That's what Salespeak's LLM Optimizer does with Cloudflare. It doesn't just detect AI visitors — it serves them optimized content at the edge, automatically, with zero impact on your human visitors.

Why edge-level detection changes the AEO equation

AI crawling grew 15x in 2025. That pace hasn't slowed. Every major AI company is sending crawlers more frequently, hitting more pages, and pulling more content into their models. If your content isn't optimized for what those crawlers see, you're leaving AI visibility on the table.

Traditional approaches to AEO optimization work at the content layer. You restructure your blog posts, add schema markup, write question-formatted headers. All of that matters — we've covered it in our guide to structuring content for AI search. But there's a gap between "optimize your content" and "control what AI actually receives."

Cloudflare Workers sit at the edge, between your server and every visitor. They intercept requests before your origin server even responds. That means you can identify an AI crawler and make decisions about what to serve before the response leaves your infrastructure.

Salespeak's LLM Optimizer uses this position to do three things:

  • Detect AI crawlers by user agent: ChatGPT, Claude, Perplexity, Google-Extended, GPTBot, BingPreview, and others, identified at the edge in milliseconds
  • Serve AEO-optimized content to AI visitors: a version of your page tuned for citability, entity density, and clear definitions, while humans see your normal site unchanged
  • Log every AI interaction to your Salespeak dashboard: which models visited, which pages they crawled, how often, and when

Human visitors never see a difference. Your site looks and performs exactly the same. But AI crawlers get content that's structured to maximize your chances of being cited.

How the Cloudflare Worker actually works

Salespeak deploys a Cloudflare Worker on your domain. You don't write code. You don't maintain it. Here's what happens under the hood:

  1. Request arrives at Cloudflare's edge. Every visitor — human or bot — hits Cloudflare before reaching your origin server.
  2. The Worker checks the user agent. It identifies whether the request comes from a known AI crawler (GPTBot, ClaudeBot, PerplexityBot, etc.) or a regular browser.
  3. If it's human, pass through. The request goes to your origin server normally. Zero latency added. Zero changes.
  4. If it's an AI crawler, check for optimization rules. If you've defined AEO-optimized versions for that URL pattern, the Worker serves the optimized content directly from the edge.
  5. Log the interaction. Every AI visit is recorded — model, page, timestamp — and pushed to your Salespeak dashboard.

The Worker also bypasses cache for AI visitors. This matters more than it sounds. Cloudflare's caching is aggressive (that's the point), but cached pages might serve stale content to crawlers. AI models need your freshest, most optimized version. The Worker ensures they get it.

Setup: five steps, under ten minutes

No DevOps team required. No Cloudflare Workers expertise needed. If your domain is already on Cloudflare (and if you're running a serious site, it probably is), here's the full setup:

Step 1: Create a Cloudflare API token

Go to the Cloudflare Dashboard and navigate to My Profile, then API Tokens. Click Create Token and choose the "Edit Cloudflare Workers" template. This scopes the token to only the permissions Salespeak needs — nothing more.

Step 2: Copy and store the token

Cloudflare shows the token once. Copy it immediately. You'll paste it into Salespeak in the next step. Don't store it in a shared doc or Slack message.

Step 3: Add the token to Salespeak

In your Salespeak dashboard, navigate to Cloudflare Integration settings. Paste your API token and enter your domain. Salespeak validates the token and confirms the connection.

Step 4: Configure URL patterns

Define which URLs you want to monitor and optimize. You can use wildcards — for example, https://example.com/blog/* covers your entire blog. Or target specific high-value pages. Most teams start with their blog and product pages, then expand.

Step 5: Done

Salespeak creates and deploys the Worker automatically. No manual code. No YAML files. No CI/CD pipeline. The Worker starts detecting AI crawlers immediately, and data flows into your dashboard within minutes.

Security: what you're actually granting access to

Handing over API tokens makes security teams nervous. Fair enough. Here's how Salespeak handles it:

  • Scoped permissions: The "Edit Cloudflare Workers" template limits the token to Workers only. It can't access your DNS, firewall rules, SSL settings, or any other Cloudflare feature.
  • Encrypted storage: Tokens are encrypted at rest. After initial setup, the plain-text token is never exposed again — not in the dashboard, not in logs, not in API responses.
  • No manual Worker code: You never touch Worker scripts directly. Salespeak manages the code, which means no risk of accidental misconfiguration breaking your site.

What you'll see in the dashboard

Once the Worker is live, your Salespeak dashboard starts collecting data that GA can't touch:

  • AI crawler breakdown: which models are visiting and how often. GPTBot vs. ClaudeBot vs. PerplexityBot, with daily and weekly trends
  • Page-level crawl data: which pages get the most AI attention, and which are being ignored entirely
  • Crawl frequency patterns: when AI models recrawl your pages (this ties directly to the AEO metrics that actually matter)
  • Optimization status: which URL patterns have AEO-optimized content active, and which are serving standard pages to AI visitors

This data answers questions you couldn't answer before. Is Perplexity crawling your product pages but ignoring your blog? Is GPTBot visiting weekly or monthly? Did your latest content update trigger a recrawl? You'll know.

Monitoring is step one. Edge optimization is the play.

Most AEO tracking tools tell you what happened. Microsoft Clarity's AI bot reports show you crawler activity. Server log analysis shows you user agents. These are useful — everyone should be running them.

But knowing that GPTBot visited your pricing page last Tuesday doesn't help if GPTBot saw a page full of JavaScript-rendered content it couldn't parse, or a marketing-heavy landing page with zero definitive statements an AI could cite.

The Cloudflare Worker approach closes that gap. You're not just watching AI crawlers arrive. You're controlling what they leave with.

Publishers who've blocked AI crawlers entirely saw a 23% traffic decline on average. The opposite approach — welcoming AI crawlers and feeding them optimized content — is where the upside lives. AI models need your content. The question is whether you shape it for them or hope they figure it out on their own.

Getting started this week

If your domain's already on Cloudflare, you can have this running before lunch. Create the API token, connect it to Salespeak, set your URL patterns, and start collecting data.

If you're not on Cloudflare yet, adding your domain takes about 15 minutes — and the performance and security benefits go well beyond AEO.

Either way, the first step is the same: stop being blind to AI traffic. GA won't show you this data. Server logs require manual parsing. Salespeak's Cloudflare integration gives you a live feed of AI crawler activity plus the ability to optimize what those crawlers actually receive.

That combination (visibility plus control at the edge) is what separates AEO monitoring from AEO optimization. Tracking tells you the score. Edge optimization lets you change it.

Newsletter

Stay ahead of the AI sales and marketing curve with our exclusive newsletter directly in your inbox. All insights, no fluff.
Thanks! We're excited to talk more about B2B GTM and AI!
Oops! Something went wrong while submitting the form.

Share this Post