Field guide / By CiteVisor Editorial / Updated 2026-10-09

GEO audit checklist: 26 checks for AI search visibility

A GEO (generative engine optimization) audit asks a narrow, answerable question: can AI search crawlers reach this page, and can they read what it says? This checklist is the one our free AI visibility checker runs, with the points each check carries and what to change when it fails.

What a GEO audit covers, and what it cannot

A GEO audit checks the technical path between your page and an AI answer engine. The engine's crawler has to be allowed in, the page has to be indexable, and the text has to be readable without guesswork. Google states that there are no extra technical requirements for its AI features beyond ordinary Search: a page must be indexed and eligible to show a snippet. The same basics matter when ChatGPT, Claude or Perplexity search the web: their search crawlers fetch pages, and a blocked or unreadable page gives them nothing to cite.

An audit cannot tell you whether an engine will mention your brand. Relevance, competition and the question a person asks decide that. Treat the audit as the part you control, and measure mentions separately (see how to track brand mentions in AI search).

The checklist below has 26 checks in five groups. Nineteen are weighted and add up to 100 points. Seven are reported for information with zero weight, because they reflect a site owner's choice rather than a readiness problem.

Crawler access: 11 robots.txt checks

Each crawler is checked against your published robots.txt for the audited path. Search crawlers carry points because blocking them removes you from that engine's answers. Training crawlers carry none: allowing or blocking them is a business decision.

CrawlerWhat it doesPoints
OAI-SearchBotChatGPT search discovery and answers4
Claude-SearchBotClaude search discovery and answers4
PerplexityBotPerplexity search indexing and citations4
GooglebotGoogle Search, including AI Overviews and AI Mode4
BingbotBing search and search-backed answers such as Copilot4
GPTBotOpenAI model training0
ClaudeBotAnthropic model training0
Google-ExtendedGoogle AI training and Gemini grounding control0
CCBotCommon Crawl corpus collection0
BytespiderByteDance content collection0
Applebot-ExtendedApple foundation-model training control0

Fix: a bot with its own User-agent group ignores the * group, so check named groups first. Our AI crawler list explains each token, and the robots.txt generator builds a fragment from your choices. Remember that robots.txt is only one layer: a CDN or firewall rule can still block a crawler that robots.txt allows.

Access and indexing: 6 checks, 38 points

CheckPointsPasses when
HTTP response10The page returns a 2xx status after redirects
HTTP index directives6No noindex or none in the X-Robots-Tag header
HTML index directives8No noindex or none in a robots meta tag
Canonical URL6A valid absolute canonical URL is declared
Language alternatives3Valid hreflang alternates are declared
XML sitemap5A readable sitemap is at /sitemap.xml or declared in robots.txt

Fix: a stray noindex is the most expensive failure on this list, because it removes the page from the index that AI features draw on. Look for it in your SEO plugin, staging settings that leaked to production, and server headers. A single-language site can ignore the hreflang check; the audit reports it so multilingual sites notice missing alternates.

Structured data and content: 7 checks, 36 points

CheckPointsPasses when
Valid relevant JSON-LD12Every JSON-LD block parses and at least one declares a type
Clear heading hierarchy5One H1 and no skipped heading levels
Early answer paragraph5One of the first two paragraphs is 25 to 120 words
Visible FAQ section5An FAQ heading, two or more disclosure questions, or FAQPage markup
Author attribution4An author in HTML or JSON-LD
Published or updated date3A date in HTML or JSON-LD
Useful visible content2At least 200 visible words in the initial HTML

Fix: start the page with a short paragraph that answers the page's main question directly, then support it. Keep structured data consistent with the visible text; Google's guidelines say not to mark up content readers cannot see. Our guide to schema markup for AI search covers which types are worth adding. The 200-word threshold is an inspection prompt, not a ranking rule: do not pad a page to reach it.

Rendering and optional signals: 2 checks

  • Content in initial HTML (6 points). The audit reads the raw HTML without running JavaScript. If the page is a near-empty app shell, crawlers that do not render JavaScript see nothing to cite. Render the main heading and text on the server.
  • Optional llms.txt (0 points). Reported only. llms.txt is an optional navigation proposal, not a ranking or access control. Read does llms.txt work? before spending time on it.

A copyable GEO audit template

Paste this into a ticket or spreadsheet and work through one page at a time:

GEO audit — page: ____________  date: __________

Crawler access (robots.txt and CDN)
[ ] OAI-SearchBot allowed        [ ] Claude-SearchBot allowed
[ ] PerplexityBot allowed        [ ] Googlebot allowed
[ ] Bingbot allowed              [ ] CDN / firewall checked
[ ] Training bots (GPTBot, ClaudeBot, Google-Extended,
    CCBot, Bytespider, Applebot-Extended): decision recorded

Access and indexing
[ ] HTTP 200 on the canonical URL
[ ] No noindex in X-Robots-Tag    [ ] No noindex in meta robots
[ ] Canonical URL present         [ ] hreflang (multilingual only)
[ ] XML sitemap readable and listed in robots.txt

Structured data and content
[ ] JSON-LD parses and matches visible facts
[ ] One H1, no skipped heading levels
[ ] Early answer paragraph (25–120 words)
[ ] Visible FAQ where it helps readers
[ ] Author and date where the page type needs them
[ ] Main text present in the initial HTML

Recheck date after fixes: __________

How to run a GEO audit

  1. Open https://your-site.com/robots.txt and read every group that names a crawler from the table above.
  2. Run curl -sI https://your-site.com/page to see the status code and any X-Robots-Tag header.
  3. View the page source, not the rendered page, and search for noindex, canonical, hreflang and application/ld+json.
  4. Confirm the first paragraphs and headings are in that source.
  5. Fix the failures in order of points, then recheck the same page.

Or run the free AI visibility checker on the page: it performs these 26 checks on the public HTML and returns each failure with a copyable fix after an email unlock.

Sources

Reviewed on 2026-10-09. Point values match the CiteVisor audit at that date. Passing every check means the technical path is open; it does not guarantee that any engine will mention or cite a page.

Frequently asked questions

What is a GEO audit?

A GEO audit reviews whether AI answer engines can crawl, index and understand a page: robots.txt access for their search crawlers, indexing directives, structured data, content structure and whether the text is in the initial HTML. It is a technical readiness check, not a measurement of how often an engine mentions you.

Is there a free GEO audit tool?

Yes. The CiteVisor AI visibility checker on our home page runs all 26 checks in this list against one public page for free. You can also work through the template below by hand with a browser and curl.

What is a good AI visibility score?

There is no industry benchmark. Aim to pass every check that applies to the page. Some checks do not apply everywhere: a single-language site has no hreflang tags and a product page may have no author, so a correct page can score below 100.

How often should I run a GEO audit?

After any change to robots.txt, your CDN or firewall rules, your CMS or theme, and at least once a quarter. Crawler operators add and rename user agents, so recheck the crawler rules when their documentation changes.