All articles
AEOGEO

AI visibility audit: how to run one on your own site

Run an AI visibility audit on your own DevTools site: build a prompt list, check citations across ChatGPT, Perplexity and Google, and turn what you find into a fix list.

The Litebox team

7 min read

Dark blueprint illustration of a page checklist with one item flagged under a magnifier

An AI visibility audit is a one-time check of where your site shows up when AI tools like ChatGPT, Perplexity and Google answer buyer questions, distinct from the ongoing system in AI visibility tracking. It takes about an hour, uses a fixed prompt list, and ends in a ranked list of fixes.

You need a prompt list, incognito access, and an hour

You need a written list of real buyer questions, access to ChatGPT, Perplexity and Google in a private or incognito window, and about 45 to 60 minutes with a spreadsheet or a doc open to log results.

The incognito window is standard practice for keeping a signed-in account's history out of any search check.

You also need to confirm your site isn't blocking the wrong bot before you start. OpenAI's bot docs name four: GPTBot for training, OAI-SearchBot for its own search feature, OAI-AdsBot for ad review, and ChatGPT-User for a fetch one user's question triggers directly. Anthropic's bot docs name three: ClaudeBot for training, Claude-SearchBot for search indexing, and Claude-User for the same kind of direct, per-query fetch.

Perplexity's crawler docs name two: PerplexityBot for its search index, and Perplexity-User for a fetch triggered by one specific question.

A training bot (GPTBot, ClaudeBot) can be blocked with no effect on your visibility in answers. OAI-SearchBot, Claude-SearchBot and PerplexityBot cannot: confirm all three are allowed in robots.txt before you run a single prompt, because an audit against a blocked crawler measures the block, not your content.

The per-query bots (ChatGPT-User, Claude-User, Perplexity-User) sit outside that check. Perplexity's docs say Perplexity-User generally ignores robots.txt, and OpenAI's docs say the same rules for ChatGPT-User may not apply, since a person's own question triggers the fetch. Blocking either one in robots.txt isn't a reliable way to keep your pages out of a direct answer.

The prompts you're about to run test whether your pages already do what How to structure a page so AI engines cite it covers: a clear direct answer an AI system can lift and attribute. If a prompt in this audit comes back empty, that piece is where the fix usually starts.

Build your prompt list

Write down 15 to 20 questions your buyers would actually ask.

Draw them from how a buyer moves through a decision: a few that ask what tools exist for a problem ("what tools help a DevTools startup grow"), a few that describe the problem without naming a category ("how do developers find my API docs through ChatGPT"), a few that compare you against a named alternative, and a few that ask what to look for before choosing ("what should I look for in a DevTools growth agency").

Keep the list in a doc you'll reuse, because the value of this exercise compounds once you can compare a later run against the same questions.

Run each prompt across the platforms your buyers use

Run every prompt in ChatGPT, Perplexity and Google (AI Overviews or AI Mode, whichever surfaces), one at a time, in the incognito window from your setup step, and copy the full response into your log instead of a summary.

Each platform attributes what it returns differently. Perplexity's help center states that every answer includes numbered citations linking to the original sources. If you want a version of this step that produces a repeatable score instead of a log, see AEO graders.

Log every mention, citation, and absence

For each prompt on each platform, record one of three outcomes: your brand is cited with a link, your brand is mentioned by name with no link, or your brand doesn't appear at all.

The mention-citation line isn't defined by any AI platform, but it has a concrete technical shape in at least one of them: OpenAI's search tool attaches an url_citation object to a response, carrying the source URL, its title, and where it sits in the text. That object is the difference between a link a reader can follow and your name sitting in the text with nothing to click.

Log which competitors show up on prompts where you don't, because that tells you whose content is winning the question yours should be answering.

Diagnose the gap behind each miss

For every prompt where you got neither a mention nor a citation, work out which of three things is true: you have no content that answers the question, your content exists but a search bot can't reach it, or the AI platform associates the question with a different category than yours.

A missing page and a blocked bot look identical in your log, so check robots.txt against OAI-SearchBot, Claude-SearchBot and PerplexityBot before you assume the problem is content. If the bot has access and you still don't appear, read what does get cited on that prompt: a page that answers the question more directly, more specifically, or with a fact yours doesn't have.

Turn the findings into a prioritized fix list

Sort your gaps by how often the underlying question came up across your prompt list. A question three different prompts pointed at deserves a page or a section before a one-off phrasing nobody else asked.

For each gap, write down the specific fix and who owns it: a new page, a rewrite of an existing one, or a robots.txt unblock. A gap with no owner attached tends to sit at the bottom of everyone's list.

It worked when every prompt has an outcome and an owner

You know the audit worked when every prompt in your list has a logged outcome by the end of the session, and every gap on the resulting list has a named fix with someone's name next to it. A completed log with zero action items usually means the prompt list needs more DevTools-specific questions.

These mistakes undo an otherwise clean audit

Treating one platform's answer as the final word. A single AI Overview or a single ChatGPT response is one sample from a system built to vary. Run each prompt once per platform, log it, and read the pattern across your full list as the signal, not any one answer.

Mixing up a mention with a citation. A missing citation is usually a structure problem on the page that should have earned it, while a mention with no link is usually a clarity problem in how the page frames the topic, so treat them as two separate fixes, not one.

Running it once and calling it done. A one-time audit shows where you stand today; tracking whether a fix held over the following weeks is a separate, ongoing job with its own method.

FAQ

Build a list of real buyer questions, run each one across ChatGPT, Perplexity and Google in an incognito window, and log whether you're mentioned, cited, or absent on each. A comparison of the free checker tools that automate a version of this is in the free-checker comparison.

Running this audit tells you where you stand today. Turning what it finds into pages that close the gaps is the harder, ongoing part, and it's the work we partner on with DevTools teams through our growth and AEO program.