AI Agent Analytics by Salespeak
AI Agent Analytics by Salespeak
Description
AI agents are visiting your website hundreds of times a month. ChatGPT, Claude, Perplexity, Gemini. They are reading your pages, evaluating your content, and deciding whether to recommend you to their users. Can you see any of it?
Now you can.
See it in action:
Based on analysis of 640,000+ AI agent crawls across B2B websites, AI agent traffic is one of the fastest-growing — and most invisible — sources of website activity. This plugin gives you complete visibility, plus the tools to act on what you find.
AI Search Analytics
Monitor how often AI tools access and cite your content over time — like Google Analytics, but for AI agent traffic. See trends by day, week, and month across all major AI platforms.
Agent Identification & Analysis
Identify exactly which AI agents are scanning your site: ChatGPT, Claude, Perplexity, Gemini, and more. Understand their behavior patterns and which content draws the most visits.
Page Performance Intelligence
See exactly which pages ChatGPT, Claude, and other AI agents actually read when answering questions. This is the foundation of effective Answer Engine Optimization (AEO).
AEO Content Gap Detection
Discover what critical information is missing from your most-accessed pages. Know what to add so AI agents can confidently recommend your site when users ask relevant questions.
What Makes This Different: The Optimization Layer
Most AI analytics plugins stop at tracking. This one also lets you optimize what AI agents see.
Serve LLM-optimized versions of your pages — restructured with structured Q&A, comparison data, and testimonial cues — so ChatGPT and Claude get your complete story, not just whatever text they happen to parse. Analytics + action, not just a dashboard.
This is the only WordPress plugin that tracks AI agent visits AND optimizes what they see.
Cache Compatibility
This plugin includes built-in support for bypassing cache on AI bot requests for:
* WP Engine – via wpe_is_cacheable filter
* WP Rocket – via do_rocket_generate_caching_files filter
* LiteSpeed Cache – via litespeed_can_cache filter and LSCACHE_NO_CACHE constant
* W3 Total Cache – via w3tc_can_cache filter
* WP Super Cache – via wp_super_cache_late_init filter
* SiteGround Optimizer – via sg_optimizer_cache_is_enabled filter
* Kinsta – via cache-control headers
* Cloudflare APO – via cookie-based bypass
Server-Level Caching (Nginx, Varnish, CDN)
If you use server-level caching that runs BEFORE PHP/WordPress, you may need additional configuration:
For Nginx FastCGI Cache, add to your server config:
if ($http_user_agent ~* "(ChatGPT|GPTBot|ClaudeBot|PerplexityBot|Claude-User|Claude-Web|Google-Extended|bingpreview|OpenAI)") {
set $skip_cache 1;
}
For Varnish, add to your VCL:
if (req.http.User-Agent ~ "(?i)(ChatGPT|GPTBot|ClaudeBot|PerplexityBot|Claude-User|Claude-Web|Google-Extended|bingpreview|OpenAI)") {
return (pass);
}
For Cloudflare (non-APO), create a Cache Rule:
– When: User Agent contains "ChatGPT" or "GPTBot" or "ClaudeBot" or "PerplexityBot"
– Then: Bypass cache
The plugin sends X-Salespeak-AI-Bot: 1 header for AI bot requests to help with debugging.
Safety & Performance
This plugin is designed to have ZERO impact on normal visitors:
* All cache bypass logic only executes when the User-Agent matches a known AI bot pattern
* For non-AI requests, all filter callbacks immediately return the original value (pass-through)
* No headers, cookies, or constants are set for normal visitor requests
* AI bot detection is cached per-request to avoid repeated regex checks
* The plugin only modifies behavior for an explicit list of known AI bot User-Agent strings:
* ChatGPT-User, GPTBot, Claude-User, Claude-Web, ClaudeBot
* PerplexityBot, Google-Extended, bingpreview, OpenAI
* Applebot-Extended, CCBot, anthropic-ai, cohere-ai
External Services
This plugin integrates with the following external services:
Salespeak Analytics API
Service: Salespeak’s event tracking and analytics service
Purpose: Logs AI agent visits and user interactions for analytics and optimization purposes
Data Sent: When AI agents are detected, the plugin sends:
– Website URL being visited
– Agent type (ChatGPT, Claude, GPTBot, etc.)
– Organization ID (for account association)
– Request ID (for tracking)
– Campaign ID (default value for organization tracking)
When Data is Sent: Only when AI agents are detected visiting your website
Service Provider: Salespeak (https://salespeak.ai)
Terms of Service: https://salespeak.ai/terms
Privacy Policy: https://salespeak.ai/privacy
Salespeak Content Delivery Network (CDN)
Service: Amazon S3-based content delivery for serving AI-optimized content
Purpose: Serves alternate, LLM-optimized content to detected AI agents
Data Sent: No data is sent to this service — it only serves content based on URL requests
When Data is Sent: Not applicable — this is a content delivery service only
Service Provider: Amazon Web Services (AWS) S3, managed by Salespeak
Terms of Service: https://aws.amazon.com/service-terms/
Privacy Policy: https://aws.amazon.com/privacy/
Privacy and Data Handling
This plugin only sends data when AI agents are detected visiting your website. No personal user data is collected or transmitted. All data is used solely for analytics and content optimization purposes. The plugin respects user privacy and does not track individual human visitors.
Installation
- Upload the plugin files to the
/wp-content/plugins/salespeak-llm-optimizerdirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Connect your Salespeak account using your Organization ID (available in your Salespeak dashboard).
- AI agent visits will begin logging immediately. Your first data will appear within 24 hours.
Faq
The plugin detects all major AI agents including ChatGPT-User, GPTBot (OpenAI), ClaudeBot, Claude-User, Claude-Web (Anthropic), PerplexityBot, Google-Extended (Gemini), Applebot-Extended, CCBot, anthropic-ai, cohere-ai, bingpreview, and more. New agents are added with each update.
No. The plugin has zero impact on normal human visitors. All detection and optimization logic only activates when a known AI agent User-Agent is identified. Every other request passes through untouched.
When an AI agent visits your site, instead of serving your standard page, the plugin can serve an AI-optimized version: restructured with Q&A, comparison data, testimonials, and structured information that AI models can parse and use more effectively when answering user questions.
AEO is the practice of optimizing your content so AI assistants like ChatGPT and Claude recommend your site when users ask relevant questions. This plugin gives you the analytics to measure your AEO performance and the tools to improve it.
Yes, a Salespeak account is required to use the analytics and optimization features. Visit salespeak.ai to create an account.
Reviews
Changelog
1.9.2
- Detect
OAI-SearchBot, OpenAI’s search-index crawler that powers ChatGPT search results. Visits from it now appear in AI traffic analytics alongside GPTBot and ChatGPT-User.
1.9.1
- Detect
Perplexity-User, the agent Perplexity uses for live retrieval when a person runs a search. Previously only thePerplexityBotindex crawler was detected, so user-initiated Perplexity visits were never counted in AI traffic analytics. - Detect
Claude-SearchBot, Anthropic’s search-index crawler, alongside the existingClaude-User,Claude-Web, andClaudeBotagents.
1.9.0
- Elementor support for the “Refresh content” flow. Pages built with Elementor were previously returned as
builder_not_supported; v1.9 reads_elementor_data, extracts editable text leaves (heading, text-editor, button, icon-box, image-box, CTA), and lets Salespeak refresh them. The plugin splices the refreshed text back into the same widget settings on save and triggers Elementor’s CSS regeneration so the rendered page reflects the new copy without changing layout, styling, or widget structure. GET /wp-json/salespeak/v1/pagenow returns atext_leavesarray for Elementor pages alongside the existing fields. Empty for vanilla / Gutenberg / Divi.POST /wp-json/salespeak/v1/refresh-pagenow accepts atext_leavesbody parameter when the page is built with Elementor; existinghtml_finalbody parameter still used for vanilla / Gutenberg writes.- No schema or behavior change for vanilla / Gutenberg / Divi pages.
1.8.1
- New REST endpoint
GET /wp-json/salespeak/v1/page(Bearer-auth’d via the per-site secret) so Salespeak can read the editable post content of a page. Acceptspost_idorurl. Required for the “Refresh content” flow on plugin-only installs (the prior 1.8.0 release only exposed the write endpoint).
1.8.0
- Auto-register: on activation, the plugin generates a per-site secret and registers itself with Salespeak (Organization ID + site URL + secret + plugin version). Status is shown in the plugin Settings page (Connected / Pending / Conflict) with a Retry button.
- New REST endpoint
POST /wp-json/salespeak/v1/refresh-page(Bearer-auth’d via the per-site secret) so Salespeak’s “Refresh content” action can update post content directly. Vanilla WordPress and Gutenberg posts/pages only — Elementor and Divi return a clear “builder not supported” message. - WordPress automatically creates a revision on every refresh, so any change can be reverted from the standard Posts Revisions UI.
1.7.0
- Rebranded plugin to “AI Agent Analytics by Salespeak”
- Updated plugin description and tags for better discoverability
- Added Installation and FAQ sections
- Updated terminology from “bot” to “agent” throughout
1.6.0
- CRITICAL FIX: Cache bypass now runs at
plugins_loaded(priority 1) instead oftemplate_redirectto ensure cache is bypassed before caching plugins serve cached content - Added support for LiteSpeed Cache, WP Rocket, W3 Total Cache, WP Super Cache, SiteGround Optimizer, and Kinsta
- Added Cloudflare APO bypass support via cookie
- Added
send_headershook to send no-cache headers earlier in the request lifecycle - Added
Surrogate-ControlandX-Accel-Expiresheaders for Varnish/Fastly and Nginx FastCGI cache bypass - Added
X-Salespeak-AI-Bot: 1debug header to help identify AI bot requests - Added detection for additional AI bots: Applebot-Extended, CCBot, anthropic-ai, cohere-ai
- Added Cache Compatibility documentation with server-level configuration examples
- Centralized AI bot detection into
is_ai_bot_request()method for consistency
1.5.9
- Added WP Engine cache bypass filter (
wpe_is_cacheable) for AI bot requests - Safe UA handling: only bypasses cache when User-Agent is present and matches AI bot patterns
- Supports: ChatGPT-User, GPTBot, Google-Extended, bingpreview, PerplexityBot, Claude-User, Claude-Web, ClaudeBot, OpenAI
1.5.8
- Minor stability improvements
1.4.5
- Enhanced performance for AI use cases
- Added country location data
- Maintains cache safety headers, Claude detection, and escaping for output