An AI visibility audit tells you whether AI assistants mention your brand, cite your pages, and describe you accurately. It is not a rebranded SEO audit. Different retrieval, different checks.
Traditional search ranks documents and hands you a list. Answer engines pull passages, stitch them together, and credit a handful of sources. Which means a page can sit at position 3 in Google and never once surface in an AI answer.
This is the checklist we run: 40 checks across five parts. A week of work, nothing to buy. Every check has a pass condition, so you finish with a score rather than an impression.
What does an AI visibility audit measure?
Three things: whether you appear, whether you get credited, and whether machines can reach you at all. Most audits that go wrong stop at the first.
How do presence, citation, and access differ?
Presence means your brand name shows up in the answer text. Citation means the engine links your page as the source. Not the same thing, and the gap between them is the most useful number you will get out of this.
Access sits underneath both. If a crawler cannot fetch your page, or fetches it and finds an empty shell where the body copy should be, then nothing above it matters and the rest of the audit is measuring noise. Start here whenever presence reads near zero.
Why does the order matter?
Fixing content before fixing access wastes the quarter. A blocked crawler makes every content improvement invisible. So access gets checked early, dull as that part is.
What do you need before you start?
A spreadsheet, a browser, and roughly six hours. No paid tool for a first pass. It does get tedious past about 30 prompts, which is the real reason tracking software exists.
You also need a prompt set built from questions real buyers ask, not keywords you wish you ranked for. Get this wrong and nothing downstream is worth reading.
Pick 20 to 30, spread across three types: category questions with no brand named, comparison questions naming two or more vendors, and branded questions about you specifically.
Part 1: Presence (checks 1 to 10)
Run every prompt on every engine that matters to your market, then record what came back. Per prompt, per engine, presence is binary. No partial credit.
The checks
| # | Check | Pass if |
|---|---|---|
| 1 | Brand named in a category prompt | Appears in at least 1 of 5 category prompts |
| 2 | Brand named in a comparison prompt | Appears when competitors are named |
| 3 | Brand described accurately | No wrong pricing, features, or category |
| 4 | Brand described in current terms | No references to a former name or old product |
| 5 | Sentiment is neutral or positive | No unqualified negative framing |
| 6 | Presence on ChatGPT | Appears in at least 1 prompt |
| 7 | Presence on Perplexity | Appears in at least 1 prompt |
| 8 | Presence on Google AI Overviews | Appears in at least 1 prompt |
| 9 | Presence on Claude | Appears in at least 1 prompt |
| 10 | Presence on Gemini | Appears in at least 1 prompt |
How do you read the result?
Run each prompt in a fresh session with no history. Personalization and memory will quietly hand you a friendlier answer than a stranger gets (and yes, that is the most common way a self-run audit flatters itself).
Record the raw answer text, not a yes or no. You will want the exact wording later, when you get to accuracy and sentiment.
Part 2: Citation and source share (checks 11 to 18)
Citation is where the audit stops being vanity. Record every source URL the engine credited, not just whether you made the list.
The checks
| # | Check | Pass if |
|---|---|---|
| 11 | Your domain cited at least once | 1 or more citations across the prompt set |
| 12 | Citation rate measured | You have a percentage, not an impression |
| 13 | Competitor citation rate measured | Same number for 3 to 5 rivals |
| 14 | Cited page is the one you intended | Not an unrelated or outdated page |
| 15 | Third-party sources catalogued | You know which domains win your prompts |
| 16 | Community sources checked | You know if forum threads outrank you |
| 17 | Video sources checked | You know if video takes the slots |
| 18 | Share of voice calculated | Your slice of total mentions is known |
What do most audits fail to count?
Count who wins the slots you lose. If the same five domains take every citation in your category, that list is your content plan. It tells you which format the engines already trust for that question.
The slot count swings more than most teams expect. In our own July 2026 scan of one audit-related prompt, Perplexity returned 13 cited sources, Claude 11, and Gemini 11. ChatGPT returned none, because it answered without searching at all.
Convert the raw counts into share of voice if you want a single number that compares cleanly against a rival.
Part 3: Technical access for AI crawlers (checks 19 to 28)
This part is boring, and it is where most sites fail. Fetch your own robots.txt and read it line by line before assuming anything. Current agent names sit with OpenAI and Google.
The checks
| # | Check | Pass if |
|---|---|---|
| 19 | GPTBot allowed | Not disallowed in robots.txt |
| 20 | OAI-SearchBot allowed | Not disallowed |
| 21 | ClaudeBot allowed | Not disallowed |
| 22 | PerplexityBot allowed | Not disallowed |
| 23 | Google-Extended reviewed | Setting is deliberate, not accidental |
| 24 | No catch-all block | A wildcard disallow is not hiding key pages |
| 25 | Content in static HTML | Text is present with JavaScript disabled |
| 26 | Key pages return 200 | No redirect chains or soft 404s |
| 27 | Sitemap current | Submitted and free of errors |
| 28 | Page loads without login walls | Content is reachable without a session |
Which two failures should you check twice?
Check 24 catches the most damage. One wildcard rule, added years ago to hide a staging path, can block an entire content directory from every answer engine at once.
Check 25 is the other. Disable JavaScript, reload your most important page, and watch what survives. If the body copy vanishes, retrieval sees exactly the emptiness you just saw.
Part 4: Content structure (checks 29 to 35)
Answer engines lift passages, not pages. So the audit checks whether your pages contain liftable passages at all.
The checks
| # | Check | Pass if |
|---|---|---|
| 29 | Direct answer near the top | A standalone answer in the first 100 words |
| 30 | Headings phrased as questions | Most H2s match how people ask |
| 31 | Paragraphs are short | Mostly 2 to 3 sentences |
| 32 | Claims carry a source | Statistics are attributed |
| 33 | Article schema present | Valid structured data on key pages |
| 34 | FAQ schema matches visible text | No drift between markup and page |
| 35 | Publish and update dates visible | Freshness is machine readable |
What does good look like?
A passage passes when it can be pasted into an answer with no surrounding context and still make sense. That is the whole test.
Checks 33 and 34 are the quiet failures: structured data that no longer matches what the page actually says. Google's structured data policies call that a violation, not a technicality.
Part 5: Entity and off-site signals (checks 36 to 40)
Engines decide what your brand is from the whole web, not from your site alone. These five cover the part you do not own.
| # | Check | Pass if |
|---|---|---|
| 36 | Consistent brand description off-site | Same category wording everywhere |
| 37 | Presence on independent sources | Named in listings you did not write |
| 38 | Community mentions exist | Discussed where buyers actually talk |
| 39 | Founder or author entities are clear | Named people with real profiles |
| 40 | Knowledge panel or equivalent | Search engines recognize the entity |
What do most audits get wrong?
Five failures account for most bad audits, and four of them happen before a single page is read.
- Testing while logged in. Personalization names your brand from memory, not retrieval, so the score flatters you.
- Merging presence and citation. One combined number hides the only diagnostic worth having.
- Changing the prompt set between runs. An improving score and an easier question list look identical.
- Auditing content before access. Fixes on a page no crawler can fetch change nothing.
- Scoring without competitors. A percentage with no benchmark cannot be called good or bad.
The last one is the most common. Our keyword research puts the cost per click on "ai visibility audit" at $62.08. That tells you how commercially motivated the surrounding advice is, and how little of it carries a benchmark.
How do you score the result?
Give one point per passing check and divide by 40. The absolute number matters less than the split across the five parts. Each part has a different fix and a different timeline.
Access problems (Part 3) fix in a day and show up in weeks. Entity problems (Part 5) take quarters. Score badly in Part 3 and well everywhere else and you have the best possible outcome, because the cheapest fix is the one blocking you.
Re-run the same 40 checks on the same prompt set every 8 to 12 weeks. One audit is a snapshot. Snapshots cannot tell you whether anything you changed actually worked.
Where Unveilr fits
Unveilr runs this audit as a managed loop rather than a one-off report. Agents scan the prompt set, detect which sources won each answer, update the content that lost, then re-scan to confirm the change held.
The re-scan is the step most audits skip. A snapshot tells you where you stand. The loop tells you whether the fix moved anything.
In one D2C case study, the brand went from the 9th most-cited domain in its category to number 1, and ChatGPT visibility rose from 3.3% to 44.7%.

