AI Visibility Audit Checklist: How to Know If AI Search Can Find You
A practical audit framework for ChatGPT, Claude, Gemini, Grok, Perplexity, and Google AI results.
Quick answer
An AI visibility audit checks whether AI search engines can actually crawl, parse, and quote your pages — not just whether you rank in Google. Work through seven layers in order: bot access (are GPTBot, ClaudeBot, PerplexityBot, and Google-Extended allowed?), rendering (does your content exist in raw HTML or only after JavaScript?), quotable passage structure, schema and entity clarity, topical authority and citations off-site, and a recurring measurement loop. If a page fails any layer, AI assistants will skip it no matter how well it ranks.
Key takeaways
- AI visibility is a separate discipline from rankings: a page can sit at position three in Google and still be completely absent from the AI answer above it, so you have to audit crawl access, rendering, and quotability as distinct layers.
- The two most common silent failures are blocked AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) in robots.txt and content that only appears after JavaScript runs, because most AI crawlers read raw HTML and never execute your scripts.
- Being cited is passage-level, not page-level: AI engines lift a single 40-to-60-word self-contained answer, so your pages need direct answer blocks, question-style headings, and FAQ schema rather than walls of prose.
- Off-site authority matters more than most teams expect — roughly the majority of AI citations trace back to third-party sources like Reddit, review sites, and comparison articles, so an audit that only looks at your own domain misses where most of the influence lives.
- An audit is worthless as a one-time snapshot; AI answers change weekly, so you need recurring monitoring of mentions and citations across every assistant to know which fixes actually moved you into the answer.
A ranking is not a citation — audit the difference
Here is the uncomfortable truth most marketing dashboards hide: you can hold the number-three organic ranking for a query and be completely absent from the AI answer sitting above it. Google ranks whole pages by authority and relevance. ChatGPT, Claude, Gemini, Grok, Perplexity, and Google AI Overviews do something different — they crawl, parse, retrieve a specific passage, and quote a named source. Every step in that chain is a place you can silently fail, and none of them show up in a rankings report.
An AI visibility audit tests that chain end to end. It answers one blunt question: when an AI engine tries to find, read, and quote your site, where does it break? In practice the breakages cluster into seven layers — crawl access, rendering, passage structure, schema and entity clarity, topical authority, off-site citations, and ongoing measurement. Work through them in that order, because a beautifully structured page is invisible if a `Disallow` rule blocked the crawler before it ever loaded. If the distinction between this and classic optimization is still fuzzy, our explainer on how GEO differs from traditional SEO is the right warm-up before you start checking boxes.
1. Confirm AI crawlers can actually reach your pages
The challenge it solves. The single most common reason a site is invisible to AI is the most boring: it blocks the bots. Many teams added an aggressive `robots.txt` rule years ago, or their CDN/WAF quietly filters any user-agent it doesn't recognize. The result is that GPTBot, ClaudeBot, and PerplexityBot get a 403 or an empty body and your content never enters the model's retrieval index. You're not losing the citation race — you never entered it.
The fix. Explicitly allow the AI crawlers you want, at both the `robots.txt` layer and the firewall layer, then verify with a real fetch rather than assuming. The bots that matter today are GPTBot and OAI-SearchBot (ChatGPT), ClaudeBot and anthropic-ai (Claude), PerplexityBot and Perplexity-User (Perplexity), and Google-Extended (Gemini and AI Overviews). Blocking these is a deliberate choice with a real cost — make it consciously, not by accident.
Implementation steps
- 1Open `yourdomain.com/robots.txt` and search for every `Disallow` plus any `User-agent` line naming the bots above; remove or scope rules that block them from pages you want cited.
- 2Ask your CDN or WAF (Cloudflare, Akamai, etc.) whether "block AI bots" or "bot fight mode" is on — many enable it by default and it silently drops these crawlers.
- 3Fetch a key page as each bot, e.g. `curl -A "GPTBot" https://yourdomain.com/your-page` and confirm you get a 200 with the full body, not a challenge page.
- 4Check your server logs for the AI user-agents — if you've never seen GPTBot or PerplexityBot in your logs, they aren't reaching you, full stop.
Pro tip
A `200` status isn't enough — read the body. Cloudflare's managed challenge returns 200 with a JavaScript interstitial instead of your content, so the crawler "succeeds" and still gets nothing. Diff the fetched HTML against your real article text to be sure.
2. Make sure your content exists without JavaScript
The challenge it solves. Most AI crawlers fetch raw HTML and do not execute your JavaScript. If your site is a client-rendered React or Vue app that hydrates content after load, the bot sees an empty `<div id="root">` and a spinner — your entire article is invisible to it even though it looks perfect in a browser. This is the second-biggest silent killer after blocked crawlers, and it disproportionately hits modern SaaS sites and SPAs.
The fix. Ship your meaningful content in the server-rendered HTML through SSR, static generation, or prerendering. The test is simple and ruthless: if the text doesn't appear when JavaScript is disabled, assume an AI engine can't read it. This is purely a retrievability question — separate from how *quotable* the text is once it's there, which the next sections handle.
Implementation steps
- 1View page source (`Ctrl+U`) on a key page and use the browser's find to search for a full sentence from your body copy — if it's missing from the raw HTML, it's JS-injected.
- 2Disable JavaScript (DevTools → Command Palette → "Disable JavaScript") and reload; whatever vanishes is invisible to most AI crawlers.
- 3For SPAs, move critical pages to SSR/SSG or add a prerendering layer so bots receive fully-formed HTML.
- 4Confirm your `<title>`, meta description, headings, and main body all live in the initial HTML response, not just the hydrated DOM.
Pro tip
Run your page through Google's Rich Results Test or `curl` it raw — both show you the HTML *before* JavaScript runs, which is exactly the view a non-rendering AI crawler gets. If your content isn't in that snapshot, neither is your citation.
3. Structure pages into quotable, self-contained passages
The challenge it solves. AI citation is passage-level, not page-level. The engine doesn't quote "your page"; it lifts one specific sentence or short paragraph that directly answers the user's question. A page that's a continuous wall of prose — no clear answer, context buried three paragraphs deep — gives the model nothing clean to extract, so it quotes a competitor whose answer was sitting right at the top, isolated and ready.
The fix. Architect every important page so the answer to its core question is liftable in 40-60 words, then repeat that pattern for sub-questions. Lead with a direct answer block, use question-style H2s and H3s phrased the way people actually ask, and follow each with a concise, standalone answer. The non-negotiable rule: every passage must make complete sense when copy-pasted alone. The same logic drives targeting specific, intent-rich long-tail queries — conversational phrasing is what retrieval models match against.
Implementation steps
- 1At the top of each page, write a 40-60 word answer block that resolves the primary question without requiring any surrounding context.
- 2Convert your key subtopics into descriptive, question-form headings ("How much does X cost?" not "Pricing").
- 3Directly under each heading, write a self-contained answer; lead with the conclusion, then the reasoning.
- 4Read each passage in isolation — if it relies on "as mentioned above" or an unexplained pronoun, rewrite it to stand alone.
Pro tip
Take a finished page, paste any single paragraph into a blank document, and ask yourself: "Could an AI quote just this and be correct and useful?" If the answer is no for your most important passages, you have rewriting to do before you have a citation problem solved.
4. Give engines unambiguous structure with schema and consistent entities
The challenge it solves. AI engines need to know *what* your content is and *who* you are with zero guesswork. Without structured data, the model has to infer that a string is your price, your author, or your business — and inference fails. Worse, inconsistent entity data (your company name, address, or product naming spelled three different ways across the web) makes the model unsure you're even one coherent entity, which erodes the trust required to cite you.
The fix. Add the schema types that map to your content and lock down entity consistency everywhere your brand appears. Use `Organization` and `WebSite` site-wide, `Article` on posts, `FAQPage` on Q&A blocks, and `Product`/`Offer` on commercial pages — each gives the engine a labeled, parseable unit. Then enforce one canonical name, description, and contact set across your site, social profiles, and directories. Our deep dive on llms.txt, schema, and earning AI citations covers the markup specifics.
Implementation steps
- 1Inventory your page types and map each to a schema type (`Article`, `FAQPage`, `Product`, `Organization`), then implement the JSON-LD.
- 2Validate every template in Google's Rich Results Test and Schema.org's validator — broken markup is worse than none.
- 3Standardize your business name, tagline, and NAP (name, address, phone) so they're byte-identical across your site, LinkedIn, and review sites.
- 4Add an `author` with real credentials to articles — AI engines weight clearly-attributed, expert-authored content more heavily.
Pro tip
Mark up your FAQ blocks with `FAQPage` schema specifically — it packages each question and answer as a discrete, machine-readable unit, which is exactly the bite-sized, pre-isolated format AI engines prefer to quote. It's the highest-leverage single piece of markup for citation.
6. Set up continuous measurement, not a one-time snapshot
The challenge it solves. An audit you run once is obsolete within weeks. AI answers regenerate constantly — a model that recommended you on Monday may favor a competitor by Friday after it re-crawls or a new source appears. Treating visibility as a static checklist means you fix issues, feel finished, and never learn whether any change actually moved you into the answer, or notice when you quietly fall out of it.
The fix. Stand up recurring monitoring that tracks where you're mentioned and cited across every assistant, and re-run the structural audit on a schedule. The goal is a feedback loop: change something, watch whether your citation rate moves, and double down on what works. Position and rankings tell you where you sit in a list; citations tell you whether you're in the answer at all.
Implementation steps
- 1Define a fixed set of buyer questions for your category and run them across ChatGPT, Claude, Gemini, Grok, Perplexity, and AI Overviews on a recurring cadence.
- 2Log, for each run, whether you're mentioned, quoted, or linked — and which competitors are.
- 3Automate it with tooling that tracks AI mentions across every platform so you catch drift the week it happens, not the quarter.
- 4After each fix, watch the next few monitoring cycles to confirm the change actually improved citation frequency — that's your real ROI signal.
Pro tip
Re-run the full crawl-and-render checks (steps 1 and 2) after every major site deploy. A single robots.txt change, CDN setting, or framework migration can silently re-block the AI crawlers you worked to let in, undoing months of citation gains with one merge.
Putting it all together
An AI visibility audit isn't a vanity exercise layered on top of SEO — it's a separate, sequential diagnosis of a different machine. Walk the layers in order: can the AI crawlers reach you, can they read you without JavaScript, can they extract a clean quotable passage, can they parse your structure and trust your identity, do you have the topical depth and off-site presence to be worth citing, and are you measuring whether any of it landed? A failure at any earlier layer makes the later ones moot, which is exactly why so many well-optimized sites are still invisible in AI answers.
The piece teams skip is the starting line — knowing where they actually stand today. Before you rewrite a single page, it's worth seeing which of these layers you already pass and which silently fail. Run a free AI-visibility scan with CookMyRank to check whether your pages are even retrievable by AI engines and where you're cited or missed across ChatGPT, Claude, Gemini, Grok, Perplexity, and Google AI Overviews. From there you can move quickly with one-click SEO and GEO fixes for the mechanical gaps, browse more playbooks on the CookMyRank blog, and review plans and pricing when you're ready to monitor citations continuously. CookMyRank measures and improves your visibility across AI and traditional search — it won't guarantee a ranking, but it will show you exactly which layer is costing you the citation, and whether your fixes moved the needle.
Frequently asked questions
What is an AI visibility audit?
An AI visibility audit is a structured check of whether AI search engines like ChatGPT, Claude, Gemini, Perplexity, and Google AI Overviews can crawl, parse, and cite your website. Unlike a traditional SEO audit that measures rankings, it tests AI-specific failure points: whether you block AI crawlers in robots.txt, whether your content exists in raw HTML or only after JavaScript runs, whether your passages are quotable, and whether you appear in actual AI answers and citations.
How do I check if ChatGPT and other AI engines can crawl my site?
Open your robots.txt file at yourdomain.com/robots.txt and look for Disallow rules affecting GPTBot (ChatGPT), ClaudeBot (Claude), PerplexityBot (Perplexity), Google-Extended (Gemini and AI Overviews training), and OAI-SearchBot. If any are blocked or your firewall or CDN filters unknown bots, those engines never see your content. Then confirm your key pages return their full text in raw HTML by viewing source or fetching the page without JavaScript enabled.
Why does my site rank in Google but not get cited by AI?
Ranking and citation are different mechanisms. Google ranks whole pages by authority and relevance; AI engines retrieve and quote specific self-contained passages. You can hold a strong ranking and still be skipped if your content is a wall of undifferentiated prose with no direct answer block, if it only renders via JavaScript, if you lack schema, or if the off-site sources AI engines trust (Reddit, review sites, comparison articles) never mention you.
What should an AI visibility audit checklist include?
A complete checklist covers seven layers: crawl access (are AI bots allowed in robots.txt and at the firewall?), rendering (is content in raw HTML, not JS-only?), passage structure (direct answer blocks and question headings), schema and entity clarity (Organization, Article, FAQPage markup and consistent NAP), topical authority (depth and clustering on your subject), off-site citations (mentions on third-party sources), and continuous measurement of mentions across every AI assistant.
How often should I run an AI visibility audit?
Run a full audit quarterly and monitor citations continuously. AI answers regenerate constantly and change far faster than Google rankings, so a single snapshot goes stale within weeks. Set up ongoing tracking of where you are mentioned and cited across ChatGPT, Claude, Gemini, Grok, Perplexity, and Google AI Overviews so you can see which fixes actually moved you into the answer and react when a competitor displaces you.
Written by
The CookMyRank Team
AI Visibility & GEO Research
See where AI search cites you — and where it doesn't.
Run a free CookMyRank scan to check if your pages are retrievable, then ship the fixes that get you cited.
Get started free →Read next
All guides →Long-Tail vs Short-Tail Keywords: The AI-Search Playbook
Long-tail vs short-tail keywords explained for the AI-search era: how to map intent, build topical authority, and get cited by ChatGPT and Perplexity, not just rank.
16 min readGEO StrategyGEO vs SEO: How to Optimize for AI Search Without Losing Google Traffic
GEO vs SEO explained: optimize for ChatGPT, Perplexity, and AI Overviews while protecting Google traffic. A practical playbook to get cited, not just ranked.
12 min readTechnical GEOLLMs.txt and Schema Markup: The Technical Foundation for AI Citations
How LLMs.txt and schema markup build the technical foundation for AI citations across ChatGPT, Perplexity, Gemini, and Google AI Overviews.
14 min read