← All articles

How to report AI search visibility to clients

Dominaition · October 8, 2026

You can report AI search visibility to clients by tracking which AI crawlers request their pages, showing them the content gaps their competitors own, and demonstrating the new pages you are publishing to fill those gaps. Most agencies still report only Google Analytics data, which misses AI crawlers entirely because those bots do not run JavaScript. That is a blind spot worth fixing, especially when clients are asking about ChatGPT and Perplexity.

Why your current analytics don't show AI crawlers

Google Analytics captures user behavior through JavaScript that runs in a browser. AI crawlers do not use browsers. When GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, or CCBot request a page, they send an HTTP request directly to your server and parse the HTML response. No JavaScript fires. No session starts. No event logs.

Your analytics platform sees nothing. The request lands on the server, WordPress processes it, and the crawler moves on. From Google Analytics' perspective, that traffic never happened. This creates a reporting problem: you could be getting crawled by multiple AI systems, and your client dashboard shows zero.

Server-side logging is how you see these requests. That is where most agencies get stuck. They do not have access to raw server logs, or they do not know how to parse them, or their hosting provider does not make them easy to access.

How to capture AI crawler activity server-side

A WordPress plugin that logs requests at the server level will catch every HTTP request that reaches WordPress, including those from AI crawlers. The plugin runs in PHP on the server before any JavaScript executes. It checks the user agent string of each request and records when it matches a known AI crawler.

The plugin will not see requests that get served from a page cache or CDN before WordPress runs. If a client uses Cloudflare or another caching layer, some crawler requests might bypass the logging. That is a technical limitation worth knowing about and communicating to clients upfront. For WordPress sites where requests reach WordPress directly, server-side logging captures the crawlers you need to know about.

Once you have that data, you can show clients which AI crawlers have visited their site and which pages received requests. A concrete log of crawler activity is a more honest starting point than speculation about AI visibility.

Building a client-ready AI search visibility report

A useful report shows three things: crawler activity, content gaps, and action taken.

Start with crawler activity. Show which AI crawlers visited, when they visited, and which pages they requested. This documents that the site is being reached by AI systems. It is not a guarantee of appearance in ChatGPT or Perplexity, but it is concrete evidence that the content is accessible to those systems.

Next, show the content gaps. Research what questions competitors' pages answer that the client's site does not. This is where you demonstrate value. You are not just tracking crawlers; you are identifying the exact content opportunities the client is missing. A gap analysis shows the client why new content matters and where to focus.

Then show the action taken. What new pages did you publish? Which questions do they answer? When were they published? This closes the loop: you found the gap, you created the content, you published it, and now it is available to be crawled. That narrative is easy for clients to follow.

Scheduling content to stay visible

Publishing one article and hoping for the best is not a strategy. A more reliable approach is consistent publishing on a schedule that fits your client's topic area and capacity.

Publishing regularly creates a steady stream of new content for crawlers to find. Each new page is an opportunity to answer a question a competitor already owns. Over time, that adds up to a broader footprint across the questions AI systems are likely to encounter.

Automation helps keep the process running without manual effort each time. Content can be set to publish as drafts for client review before anything goes live, or published directly depending on the workflow you agree on with the client. Either approach removes the friction of logging into WordPress manually for every piece.

Consistency matters more than bursts. Publishing a large batch one week and then nothing for a month makes the data harder to interpret and the workflow harder to sustain. A steady cadence is easier to report on and easier to maintain.

Explaining AI search to clients who don't understand it yet

Most clients have heard of ChatGPT but do not know how it finds information. They do not realize that AI systems need to crawl pages, index content, and then retrieve it when someone asks a question.

Your job is to explain this clearly without overselling. You might say something like: "When someone asks ChatGPT a question about your industry, ChatGPT looks through its index for relevant pages. We cannot guarantee which pages it picks or how it presents them, but we can make sure your best content is available to be found. That is what we are tracking and working on."

This sets realistic expectations. You are not promising a ChatGPT mention or a Perplexity citation. You are promising the work: content that answers real questions, a site the crawlers can reach, and a log that shows when they came.

Clients appreciate honesty. They have heard enough hype. When you explain what you can actually measure and control, they trust you more.

Showing the difference between training data crawlers and search crawlers

Not all AI crawlers work the same way, and distinguishing between them adds real depth to your reporting.

GPTBot, ClaudeBot, and CCBot collect training data for their respective AI models. OAI-SearchBot, Claude-SearchBot, and PerplexityBot index pages for AI search products. When a person asks a question in ChatGPT, Claude, or Perplexity, the system may fetch a page in real time using ChatGPT-User, Claude-User, or Perplexity-User. A crawler requesting a page confirms it fetched that page; it does not confirm the page was used, ranked, or cited in any response.

Your report can distinguish between these crawler types. Showing that OAI-SearchBot visited the site means the crawler behind ChatGPT search fetched those pages. Showing that ChatGPT-User fetched a page means someone asked a question that led to that page being retrieved. That level of detail separates your reporting from generic AI visibility talk and gives clients something specific to understand.

Handling the Cloudflare blocking issue

Cloudflare began blocking AI crawlers by default on new domains in 2025 and offers a managed robots.txt that can affect which crawlers reach a site. Many site owners have this configuration in place without knowing it. If a client's site is behind Cloudflare, AI crawlers may not be reaching the site at all, regardless of content quality.

Server-side logs will surface this as a gap: no AI crawler requests showing up. When you see that pattern, it is worth investigating. Ask the client whether they use Cloudflare and, if so, whether they have reviewed their crawler settings. They may need to adjust those settings if they want AI crawlers to reach their content.

This is a practical troubleshooting step that adds real value to your engagement. You are not just reporting what happened; you are identifying blockers and helping remove them. Clients notice when you catch something their previous agency missed.

About Dominaition

Dominaition is AI search visibility software for agencies and small businesses. It identifies content gaps competitors own, generates articles to fill those gaps, publishes them to WordPress on a schedule, and logs which AI crawlers visit your site so you can report real visibility metrics to clients.