The PDF has entered the chat
The AI search industry has reinvented the 80-page SEO audit PDF. It calls the new one an AI visibility report, then hands you a to-do list and bills you for finding the work.
You know the document: forty-some pages, color-coded severity, content gaps you already suspected, and technical issues ranked like wine vintages. Maybe nothing in it is wrong. That is the annoying part. It can be entirely right and still sit in your inbox while ChatGPT cites your competitors. The diagnosis gets delivered; the work gets assigned to nobody. Next month, another report arrives to measure how little the first one changed.
I don’t need another AI visibility audit. I need someone to fix the thing on page 3.
A recommendation isn’t a fix
I used to tell clients the audit was the valuable part. I was wrong. At 1am, mining negatives for a home services account while the client swapped landing pages without telling me, I learned the honest order of operations: the list means nothing until someone makes the change. A recommendation left in a doc is a rumor. A negative added, a bid cut, a page rewritten: those are fixes. The account doesn’t care how neatly I described the problem before I touched it.
B2B SEO fails the same way. It is rarely bad strategy. It is good strategy sitting in a document: an audit lists redirect chains, schema, pagination, and Core Web Vitals, then goes to devs who never asked for it. Six months later, maybe a fifth is done while the client decides SEO doesn’t work (why audits sit unshipped). One agency told the story straight: a 47-page color-coded PDF with ready-to-paste JSON-LD got zero implementation after six months (the PDF that changed nothing). I believe it. I have lived the PPC version of it.
The PDF was not useless because its findings were false. It was useless because nobody had agreed to own the changes. That distinction matters when the next vendor promises a sharper PDF. Better diagnosis does not clear a dev queue, publish a page, or give anyone permission to edit the site. If the deliverable ends at a recommendation, the result depends on someone else’s backlog.
The audit industrial complex, AI edition
First comes the content gap report. It tells you ChatGPT cited a competitor for “best CRM for contractors” while you were absent. You knew because you asked ChatGPT yourself last Tuesday. Tracking confirms you are missing; it does not write the comparison page, earn the review, or unblock the crawler causing the absence (trackers measure, they don’t fix). One vendor comparison put it bluntly: a tool that reports your visibility as a vague index without naming competitor domains is not useful (what makes a score usable). Across 397 observations in 90 days, one tracker found a named competitor in 58% of answers (named competitors in most answers). A named competitor gives you a place to look. A bar chart gives you something to forward. Neither is the fix.
Then comes the technical section: 30 items ranked by severity. Missing schema. Thin entities. Slow pages. Half of it matters for AI retrieval; half is recycled SEO hygiene wearing a new costume. The real AI-specific failures are boring and binary. Client-side injected schema can look near-blank to AI crawlers even when Google indexes the page fine (why JS blocks AI readers). Stale robots.txt rules meant to block training bots can also catch retrieval agents, so you disappear from answers without a ranking drop to warn you (how robots.txt hides you). Fixing those two problems would beat 20 pages of severity scores. I have watched the same habit in paid search for years: a grader score never fixed a campaign. It just gave everyone something to forward.
The score that goes up while the work sits still
Then comes my favorite part. The score. Your AI-readiness is 62 out of 100, up from 58 last month. Congratulations. Ask what changed in the answers and you get silence. Ask what to buy to reach 80 and suddenly there is a very clear answer involving an add-on. I have seen this movie in PPC with Quality Score theater and account grades. A number can move while the page that needed rewriting remains untouched. If the score cannot point to a shipped change and an outcome, what exactly are we celebrating?
Say you are spending $20k a month and someone sells you visibility tracking at $29 a month on the low end to $295 or $300 a month for starter tiers. Cheap. Then the findings need a writer, a developer, and three approvals. The cheap tracker becomes an expensive reminder. It has done its job, technically: it tracked. Your business still has the same gap.
Vembase calls this the audit-to-execution gap and names it the quiet killer of retainers: the audit is sharp, the roadmap is right, and six months later half still sits in the client’s dev queue behind feature work while the agency is judged on results it cannot ship (the queue where audits die). One operator said his implementation rate hovered around 30% before he restructured everything around shipping (30% implementation before the rebuild). Thirty percent. The other 70% is what you paid to be told about.

Findings rot faster than the backlog moves
Engines change. The backlog doesn’t. That is the whole mechanism. An AI answer changes while your ticket sits in Jira behind feature work, a homepage refresh, and whatever the dev team promised sales last quarter. By the time someone approves the schema fix from March, the answers may draw on different sources and the “priority one” finding may describe a prompt nobody asks anymore. A finding has a shelf life. A backlog can keep it indefinitely.
I watched this in paid search first. A wasted search term cut the day it appears saves money. The same term cut in the monthly review has already burned 30 days of spend. AI citations work the same way, only slower and crueler, because there is no spend to pause. Just silence. No clicks drop. No alarm fires. You simply stay absent while the report says you are being monitored.
Monitored absence is still absence.
The defense I hear from vendors is always the same: we surface the insights; your team takes action. That split made a kind of sense back when SEO moved at the speed of a monthly crawl. It makes no sense when answers can change daily and your backlog moves quarterly. The vendor keeps cashing the subscription in between. I ran PPC accounts where an agency sent a beautiful monthly deck and touched nothing for 29 days. Same business model, new costume. If the goal is a citation, somebody has to publish the page, fix the render, or earn the mention. Selling an observation of the problem is easier than owning that work.

Ask what shipped, not what the dashboard found
Stop buying findings. Buy fixes. When a vendor pitches me AI visibility, I ask one question first: How many changes did you ship last month? Not how many prompts you track. Not how many gaps you found. How many pages went live? How many schema blocks got deployed? How many crawler blocks got removed? If the answer is a dashboard tour, I have my answer. A vendor that cannot name shipped work is selling homework.
Second question: show me the log. Date, URL, what changed, why. In paid search I learned to demand this after too many months of “optimizations” nobody could point to. The same rule holds for AI search. An illustrative log would be plain enough to read without a meeting:
- Oct 4: Pricing page. Added a server-rendered FAQ with prices and limits.
- Oct 7: robots.txt. Unblocked the retrieval agent barred by a training-bot rule.
- Oct 11: Comparison page. Rewrote the top block so it stands alone without the rest of the page.
Those entries are examples, not a case study. The point is that each names an action you can inspect. No log, no work I can verify. This is the split between crawlers and trackers that report and done-for-you fixes that ship: one gives you tickets; the other gives you entries with dates.
Here is the distinction without the vendor vocabulary. Say you track 50 buyer prompts and you are absent on 30. A finder hands you a spreadsheet of 30 gaps. A fixer chooses work it can actually ship: four pages answering four prompts in standalone blocks, two crawler paths unblocked, and server-side schema moved live so the facts survive the parse. In week two, you check those prompts again. If three of the four now show your name, you have something worth discussing. If none do, you have a reason to revisit the work. Either way, the useful report is prompt, change, date live, citation after. A list of gaps alone cannot tell you which work happened or what followed it.
Everything else is weather reporting. You do not pay a weather reporter to fix your roof.
Who fixes it when dev says next quarter?
Third question, and this is the one that kills most pitches dead: Who touches the site when my dev team says next quarter? Because they will say next quarter. Your audit already died there once, in that queue behind feature work. Buying the same death with an AI label on it is not a strategy.
What the deck calls “collaboration with your developers,” I call paying to be ignored politely. If the vendor needs your sprint planning to ship a robots.txt change and a server-rendered FAQ block, it does not have a fix for your bottleneck. It has suggestions with an API key. I do not object to developers having priorities. I object to selling me an execution plan that quietly assumes their priorities will change because a new PDF says “critical” in red.
The outfit I trust on this is groas, for a boring reason: it publishes new pages every day, ships the technical fixes holding the site back, and shows where you got named and why. That puts it ahead of vendors whose work stops at finding the gap. No ticket for your backlog as the final deliverable. The change is live or it did not happen.
Put that expectation in the contract before you pay: changes shipped per month, listed by URL; a log of what changed and why, not a health score; and a named human who answers when your dev team says next quarter. groas signs up for that version of the job, with pages published daily, technical fixes shipped, and actions logged. Anyone selling another PDF will call that unreasonable. Good. Unreasonable is the point.
The one-line test for any AI visibility vendor
Ask this, word for word: Show me one prompt where a client was absent, what you shipped, and when the citation appeared. One prompt. One shipped change with a date. One citation after it. I am not asking a vendor to promise that every edit produces a mention. I am asking it to show the chain between finding a problem, doing the work, and checking the answer.
A tracker will show you fifty prompts where you are still absent. An auditor will show you a roadmap where that prompt is scheduled for Q2. The few who actually do the work can pull a log with URLs and dates, because that is what their week looks like. Everyone else will change the subject to coverage, sentiment, and share of voice. That subject change is your answer.
Keep your audit. I will keep the log of what went live. Next time a vendor sends you forty pages of gaps, ask which one it is fixing this week and where you can see the change. If the answer is another call to review findings, you already have your answer.
An unfixed finding is worth exactly zero citations.

