How do I audit my website's visibility in AI search engines? A step-by-step checklist
Audit your website's visibility in AI search engines in five steps: crawler access, indexing, content, prompt tests and citations. Tools that automate each step included.
An AI visibility audit answers one question: if a buyer asks ChatGPT, Google AI Overviews, Perplexity or Copilot about your category, can those engines find, read and trust your site? The audit has two halves. One is technical (can the bots reach you), the other is editorial (do you have content worth citing). Most teams audit the second half and skip the first, which is backwards.
Here is a five-step audit you can run in an afternoon, plus the tools that automate each step.
Step 1: check crawler access
Start with robots.txt, because it is the fastest thing to check and the most common cause of invisibility. Look for rules that block the bots feeding AI answers. The real names to search for:
- OpenAI: GPTBot, OAI-SearchBot, ChatGPT-User
- Anthropic: ClaudeBot, Claude-User, Claude-SearchBot
- Perplexity: PerplexityBot, Perplexity-User
- Google: Googlebot, Google-Agent, GoogleOther
- Meta and others: Meta-WebIndexer, Meta-ExternalAgent, MistralAI-User
OpenAI's documentation distinguishes between its crawlers: OAI-SearchBot is tied to ChatGPT search results, while GPTBot relates to training. Blocking one does not necessarily block the other, so decide deliberately rather than with a blanket rule. Then check your CDN, firewall and bot-protection settings. A rule that blocks "unknown bots" can quietly stop every AI crawler while robots.txt looks fine.
Step 2: confirm your pages are indexed
AI engines that search the live web rely on search indexes. Check that your key pages are indexed in Google Search Console and Bing Webmaster Tools. Bing matters more than it used to, since Copilot draws on it. Look for crawl errors, noindex tags, canonical mistakes and pages that render their main content only through client-side JavaScript, which some crawlers do not execute.
Step 3: review how your content is structured
Engines quote content that is easy to lift. Check the pages you want cited for:
- A direct answer near the top of the page, not buried under an introduction.
- Clear headings that match the questions people ask.
- Plain facts: pricing, specifications, locations, dates.
- Structured data that is valid and matches what is visible on the page.
- Named authors and a visible update date where relevant.
Step 4: test with real prompts
Write 20 to 30 prompts your buyers would use: category questions, comparison questions, "best X for Y." Run them across the engines that matter to you and record whether your brand is named, how early, and which sources are cited. Do it more than once, because answers vary between runs. A single check proves very little.
Step 5: audit citations and third-party presence
Look at which domains and pages the engines cite for your prompts. If answers lean on Reddit threads, review sites or competitor pages, your visibility problem may be offsite. Mentions on third-party pages count even when they carry no link. List the prompts where competitors are cited and you are not. That list is your action plan.
Tools that automate the audit
| Tool | Which audit steps it covers | Entry price |
|---|---|---|
| Promptwatch | Prompt testing, citations, IP-verified crawler logs, weekly site audit, AI-referred traffic | Free Explore (ChatGPT only); paid from $95/mo |
| AthenaHQ | Prompt testing and GEO score; Action Center for fixes | Free Essential; Starter $295/mo |
| Scrunch AI | Prompt testing, site audits (5 a month on Core), bot traffic reporting | Core $250/mo |
| Profound | Answer analytics at enterprise level | Free trial; Enterprise custom |
| HubSpot AEO | Prompt testing and citation analysis on three engines | $50/mo |
Why Promptwatch covers the most of the audit
Steps 1 and 2 are the technical ones, and they are where most trackers have nothing. Promptwatch's Agent Analytics reads real AI crawler logs, IP-verified so spoofed user agents are filtered out, and shows which pages bots reached, which requests failed, and why. Its weekly Site Health audit runs 21 checks with a health score and a note on what changed since the last run. Crawler logs start on Professional ($245 a month), and the site audit is included from Essential ($95).
For Steps 4 and 5, it runs daily prompt panels across ChatGPT Search, Google AI Overviews, Google AI Mode, Copilot, Gemini, Perplexity, Amazon Alexa and Meta AI, with page-level citation analytics and offsite mention lists. The Action Board then turns findings into a prioritized to-do list.
If you want a no-cost first pass, Promptwatch also offers an AI Visibility Report (a no-login scan) and an Agentic Readiness Check as free tools. They are a light sanity check, not a full audit, but they are a good way to see the format before committing.
When another tool fits
AthenaHQ suits teams that want a daily task queue and accept credit-based billing. Scrunch AI is a good fit if you want site audits bundled with monitoring, though Core covers four LLMs. Profound makes sense for enterprise budgets. HubSpot AEO is a low-cost way in for HubSpot users. None of them publishes a crawler-log product at the depth Step 1 needs.
Turning findings into a fix list
Group what you found into three buckets:
- Access fixes: robots.txt, firewall rules, server errors, JavaScript-only content. Do these first. They are cheap and they gate everything else.
- Content fixes: add direct answers, tighten headings, update stale facts, add schema where it matches the page.
- Offsite fixes: earn mentions where the engines already look, through genuine reviews, community answers and credible third-party coverage.
Then re-run the audit in a month. Compare the same prompts and the same pages.
What an audit cannot promise
An audit finds problems. It cannot guarantee that fixing them gets you named. Answers change between runs and model updates, and each engine weighs sources differently. Treat the audit as a way to remove obstacles and measure progress, not as a route to a fixed result.