All 24 checks with why-it-matters prose, severity, and cross-references to related audits.
A small set of robots.txt tokens controls whether AI answer engines can surface your site at all, and every vendor documents its own. OpenAI is categorical — sites that opt out of `OAI-SearchBot` "will not be shown in ChatGPT search answers." Anthropic states that blocking `Claude-SearchBot` or `Claude-User` "may reduce your site's visibility" in Claude's search results. Perplexity recommends allowing `PerplexityBot` "to ensure your site appears in search results." Google's AI Overviews and AI Mode are built on the ordinary Search index, so a `Googlebot` block removes you from those too, and Bing's index powers Microsoft Copilot and is a named third-party provider behind ChatGPT search. Blocking these search and citation crawlers silently removes your product from the fastest-growing discovery channel. Blocking training-only tokens like `GPTBot` or `ClaudeBot` is a different, documented choice that does not affect search visibility.
Why this severity: Critical because vendors document the exclusion as binary for their search surfaces — OpenAI states opted-out sites "will not be shown in ChatGPT search answers" — and a single Disallow line silently removes the site from that platform's answers.
geo-readiness.ai-crawler-access.ai-crawlers-not-blockedSee full patternThe robots directives that actually remove pages from AI answers are the ordinary search ones. A stray `noindex` removes the page from the indexes AI products are built on — Google requires a page to be indexed and snippet-eligible for its AI features, OpenAI's docs say `noindex` is what keeps even a bare link out of ChatGPT, and Anthropic's docs say the tag tells its search partners not to send the page to Claude. `nosnippet` and `max-snippet:0` are Google's documented levers for excluding content from AI Overviews and AI Mode, and Bing honors `data-nosnippet` for snippets and AI summaries. Vibe-coded apps frequently ship a `noindex` left over from a template or staging config on real marketing pages, which silently zeroes their AI-answer presence. The community `noai`/`noimageai` tags, by contrast, have no documented consumer among these vendors.
Why this severity: High because a noindex on a public content page removes it from the search indexes every major AI answer surface is grounded on, with no warning anywhere in the product.
geo-readiness.ai-crawler-access.no-search-exclusion-meta-tagsSee full patternAI crawlers from OpenAI, Anthropic, Google, and Perplexity overwhelmingly fetch raw HTML without executing JavaScript — a single-page app that renders content in `useEffect` presents them with an empty `<div id="root"></div>` and nothing to index or cite. The same empty shell also harms search rankings and first-paint metrics, compounding the visibility loss across both SEO and GEO surfaces simultaneously.
Why this severity: High because client-only rendering makes primary content completely invisible to non-JS-executing crawlers across every scraped page.
geo-readiness.ai-crawler-access.content-server-renderedSee full patternCloudflare Turnstile, reCAPTCHA, and user-agent-sniffing middleware that challenge every request will block OAI-SearchBot, PerplexityBot, Claude-SearchBot, and the other crawlers that feed AI answers, alongside malicious traffic. This failure mode is serious enough that the vendors document the fix themselves — OpenAI asks site owners to "ensure your site host and/or content delivery network allows traffic from our published IP addresses," and Perplexity's crawler docs include step-by-step Cloudflare and AWS WAF allowlisting instructions. A one-click "block AI bots" toggle in a CDN dashboard silently overrides a perfectly open robots.txt. When your blog and docs return a JavaScript challenge instead of HTML, AI systems record the page as uncrawlable and stop retrying — your content vanishes from generative answers even though it loads fine for humans.
Why this severity: Medium because impact is conditional on how broadly the bot challenge is scoped across routes.
geo-readiness.ai-crawler-access.no-aggressive-bot-blockingSee full patternBoth major index operators document sitemap `lastmod` as a live signal for AI answers, and both condition it on honesty. Bing's guidance for AI-powered search says "the lastmod field in your sitemap remains a key signal" and that fresh discovery "helps ensure that AI systems reference the most current version of a page" — while explicitly ignoring `changefreq` and `priority`. Google states it "uses the lastmod value if it's consistently and verifiably … accurate." A sitemap that stamps every URL with the build timestamp claims everything changed on every deploy; that is exactly the inconsistency Google says disqualifies the signal, and it deprives AI systems of the per-page freshness data they use to avoid citing stale content. Vibe-coded sitemaps overwhelmingly default to `new Date()` for every entry.
Why this severity: Low because lastmod is a freshness optimization on top of normal crawling — losing it wastes a documented signal but does not remove pages from any index or AI answer surface.
geo-readiness.ai-crawler-access.sitemap-lastmod-accurateSee full patternWhen an AI system is asked "what is Acme?" it extracts the answer from the first clear definitional sentence it can find on your homepage. A hero that reads "Reimagine Your Workflow" gives it nothing to quote, so the assistant either hallucinates a description, cites a competitor, or refuses to answer. Without a concrete name + category + function statement, your product is structurally uncitable regardless of how much downstream content exists.
Why this severity: Critical because a missing definitional statement makes the site uncitable at the root, blocking every downstream AI answer.
geo-readiness.content-citability.entity-self-definitionSee full patternAssistants assemble answers from extracted passages, and Microsoft's AI-search guidance describes the shape that survives extraction — "self-contained phrasing: sentences that make sense even when pulled out of context" — noting that clear answers "can often" be lifted word for word. A site built entirely from headings, bullet lists, and marketing phrases gives extractors little substantive to quote, so its claims tend to reach AI answers through someone else's writeup, if at all. (This is not about writing "for AI" — Google is explicit that its systems understand meaning without special phrasing; it is about having substantive, complete statements anywhere on the site.)
Why this severity: Critical because self-contained substantive statements are the raw material AI answers are assembled from; a site with none competes for citation with nothing to quote.
geo-readiness.content-citability.direct-answer-paragraphsSee full patternQ&A is the content format an AI-search vendor describes as directly liftable. Microsoft's guidance for inclusion in AI answers says "Direct questions with clear answers mirror the way people search. Assistants can often lift these pairs word for word into AI-generated responses." FAQ answers are also self-contained by construction — they make sense extracted from the page, which is exactly the shape assistants assemble answers from. A site with no FAQ, or with fewer than three substantive questions, forfeits the most direct extraction surface it controls.
Why this severity: High because Q&A pairs are the format Microsoft documents as liftable word-for-word into AI answers, and their absence forfeits the most direct extraction surface a site controls.
geo-readiness.content-citability.faq-content-presentSee full patternAI systems citation-rank on specificity — a claim like "20-40 checks per audit, 62/100 average score on first run" is quotable and gets surfaced, while "powerful, industry-leading, seamless" is discarded as marketing noise. Sites dominated by unsubstantiated superlatives lose citation share to competitors whose pages contain named mechanisms, numeric outcomes, and concrete comparisons, even when the underlying product is weaker.
Why this severity: High because vague marketing claims are systematically filtered out of AI answers in favor of specific, evidence-backed ones.
geo-readiness.content-citability.claim-evidence-patternSee full patternLarge language models preferentially cite the source that defines a concept, not the sites that repeat it — if you name and explain a methodology, framework, or classification, every downstream mention triangulates back to your site as the authority. A site with no original concepts is structurally indistinguishable from hundreds of competitors in the model's latent space, so citations flow elsewhere.
Why this severity: Medium because original concepts compound authority over time but are not strictly required for baseline citation.
geo-readiness.content-citability.unique-conceptsSee full patternNumbers, percentages, counts, and dates are inherently citable — AI systems extract them verbatim and attribute them to your site, giving you durable presence in generative answers. Content that stays purely qualitative ("many features," "fast response," "comprehensive coverage") leaves the model nothing measurable to hand back to a user, so your page is skipped in favor of a competitor page with hard numbers.
Why this severity: Medium because specific data points materially increase citation rate but are complementary to definitional and FAQ content.
geo-readiness.content-citability.specific-data-pointsSee full patternWhen a user asks an AI assistant "how does X work?" the assistant reaches for explanatory process content — step-by-step mechanisms, workflows, and cause-and-effect descriptions. A site with no "how it works" narrative surrenders that entire query class to competitors, and the downstream effect is missed placements in comparison tables, recommendation lists, and tutorial-style answers where intent runs highest.
Why this severity: Low because explanatory content is complementary rather than foundational for AI citation.
geo-readiness.content-citability.how-it-works-explanationSee full patternThe one content lever AI-search vendors name in their own guidance is unique, expert depth. Google's generative-AI guide says the durable influence on AI-search presence is content with "unique expert or experienced takes that go beyond common knowledge" rather than recycling "what others on the internet have already said," and Microsoft's AI-citation guidance leads with "strengthen depth and expertise." A homepage plus a pricing page cannot demonstrate that — substantive pages covering different angles of your domain are the evidence that there is expertise worth citing. This check measures the floor: enough real pages on the core topic to show any depth at all.
Why this severity: Critical because unique expert depth is the only content lever Google and Microsoft themselves name for AI-answer presence, and a site without it has nothing differentiated for an answer engine to cite.
geo-readiness.authority-expertise.topical-depthSee full patternAI systems — including ChatGPT, Claude, and Perplexity — weight source credibility when deciding whether to cite content. Anonymous content with no identified author, team, or organization scores lower on the E-E-A-T signals (Experience, Expertise, Authoritativeness, Trustworthiness) that both Google and LLMs use to rank citation-worthy sources. Missing Person or Organization schema (schema-org vocabulary) means structured authority data is absent from the machine-readable layer entirely. For AI-generated answers, attribution-free content is harder to trust and less likely to appear in citations — regardless of content quality.
Why this severity: High because absent authorship signals directly reduce AI citation rates; content without traceable authority is systematically deprioritized by LLMs evaluating source trustworthiness.
geo-readiness.authority-expertise.authorship-signalsSee full patternAI systems reward sites that demonstrate subject-matter expertise through depth — a single 800-word explanatory post or a 500-word documentation page signals authority far more than twenty 100-word feature blurbs. Shallow marketing content places you in the "generic vendor" bucket where citations go to the competitor who has written a methodology doc, even if that competitor ships a weaker product.
Why this severity: High because depth indicators are the primary expertise signal AI systems use to rank sources for citation.
geo-readiness.authority-expertise.expertise-depthSee full patternFreshness is one of the few citation factors an AI-search vendor names outright. Microsoft's grounding-index guidance puts it sharply — "In search, stale content degrades ranking. In grounding, a stale fact produces a misleading response" — and its AI-citation guidance lists regular updates among the factors that help content get referenced. A visible "published" or "last updated" date is how a page declares its recency to readers and to the systems extracting from it; undated content gives them nothing to assess.
Why this severity: Medium because visible dates feed the freshness assessment Microsoft documents for AI answers, but their absence does not affect baseline discoverability.
geo-readiness.authority-expertise.publication-dates-visibleSee full patternAI systems assess trustworthiness partly through operator transparency — a site with a dedicated `/about` page identifying who runs the product ranks higher on E-E-A-T signals that feed into citation decisions. A site with no about page looks anonymous, which generative engines treat as a trust risk and deprioritize when answering high-stakes queries about purchasing, compliance, or professional advice.
Why this severity: Low because operator identification contributes to trust signals but is not gating for most AI citations.
geo-readiness.authority-expertise.about-page-existsSee full patternAI models trace citations back to the origin of a claim, not the hundredth site to repeat it. Original benchmarks, case studies, methodology docs, and proprietary datasets mark your site as a source rather than a downstream aggregator, which measurably increases how often generative engines attribute facts to you rather than to a competitor who republished similar content.
Why this severity: Low because originality signals compound reputation slowly but are not required for baseline citation.
geo-readiness.authority-expertise.original-contentSee full patternAI crawlers use heading text as the primary signal of what a page section covers — headings like "Features," "Benefits," "Overview," and "Resources" convey zero topical information and provide no basis for the model to retrieve that section when answering a related query. Descriptive headings with product-specific nouns are what anchor a section in the model's topical map and get it cited.
Why this severity: High because generic headings strip topical context that AI systems rely on for section-level retrieval.
geo-readiness.ai-readable-structure.descriptive-headingsSee full patternAI crawlers (and human readers) make snap relevance decisions from the opening 150 words of a page — if the product name and a functional description do not appear there, the page is scored as low-signal and skipped. Leading with testimonial carousels, customer logos, or aspirational taglines forfeits the narrow attention window where citation decisions are made, regardless of what content appears later.
Why this severity: High because delayed key information causes AI systems to discard the page before reaching substantive content.
geo-readiness.ai-readable-structure.key-info-front-loadedSee full patternThe two biggest AI-answer vendors disagree about schema, and this check reflects both positions honestly. Microsoft's Bing guidance explicitly recommends JSON-LD schema for AI search answers — "Schema is a type of code that helps search engines and AI systems understand your content" — and Bing's index powers Microsoft Copilot and feeds ChatGPT search as a named third-party provider. Google says the opposite for its own AI features: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add," while still recommending it for rich-results eligibility. Net: FAQPage markup on existing FAQ content is a low-cost win on the Bing/Copilot side and harmless on the Google side. It is not a gate — well-written visible Q&A is extractable without it.
Why this severity: Low because schema is endorsed for AI answers by Bing but explicitly not required by Google, so absence costs a structured signal on one vendor family rather than gating citation anywhere.
geo-readiness.ai-readable-structure.faq-schema-markupSee full patternFreshness is one of the few signals AI-search vendors name in their own docs. Microsoft is explicit that staleness is worse in AI answers than in ranking — "In search, stale content degrades ranking. In grounding, a stale fact produces a misleading response" — and lists "regular updates" among its AI-citation guidance; Google describes its AI features as retrieving "up-to-date web pages from our Search index." The cross-vendor way to declare freshness is visible dates on the page (covered by `publication-dates-visible`) plus an accurate sitemap `lastmod` (Bing calls it "a key signal" for AI answers). `datePublished`/`dateModified` in Article or BlogPosting schema is the structured, Bing-side bonus on top of those: machine-readable dates generated from the same source as the visible ones, so the two never disagree.
Why this severity: Low because schema dates are a structured bonus on top of visible dates and sitemap lastmod (the cross-vendor freshness signals); absence costs a Bing-side signal, not indexing.
geo-readiness.ai-readable-structure.article-dates-in-schemaSee full patternMicrosoft's guidance for AI search answers is blunt about where content gets lost: "Don't hide important answers in tabs or expandable menus: AI systems may not render hidden content," keep core information out of PDFs, and avoid key facts that exist only inside images. Bing also recommends self-contained phrasing — "sentences that make sense even when pulled out of context" — because assistants assemble answers from extracted passages. A pricing table that exists only as a screenshot, or a core FAQ answer locked in a PDF, is invisible to the systems deciding whether to cite you. Note what this check is NOT: Google explicitly debunks "chunking" content for AI ("There's no requirement to break your content into tiny pieces … There's no ideal page length"), so this check imposes no word counts, paragraph lengths, or section sizes.
Why this severity: Low because Bing hedges the consequence ("may not render hidden content") and the failure degrades extraction for affected answers rather than removing the site from AI search.
geo-readiness.ai-readable-structure.answers-visible-and-self-containedSee full patternThis check is about agent operability, not search citation. AI agents that operate a browser on a user's behalf navigate your UI the way screen readers do. OpenAI's developer guidance is explicit: "ChatGPT Atlas uses ARIA tags—the same labels and roles that support screen readers—to interpret page structure and interactive elements. To improve compatibility, follow WAI-ARIA best practices." Google's generative-AI guide likewise describes browser agents "inspecting the DOM structure, and interpreting the accessibility tree." An icon-only button with no accessible name is invisible to those agents: a user who asks their assistant to sign up, check pricing, or run your product hits a wall your human visitors never see. The same fix serves disabled users — accessibility work now does double duty.
Why this severity: Low because unnamed controls degrade agent-driven interactions on the affected elements without affecting whether the site's content is found or cited.
geo-readiness.ai-readable-structure.agent-accessible-interactivesSee full patternRun this audit in your AI coding tool (Claude Code, Cursor, Bolt, etc.) and submit results here for scoring and benchmarks.
Open GEO Readiness Audit