All Articles
    Technical
    Published July 20, 20268 min read

    GEO Audit Checklist: 12 Checks for Generative Engine Readiness

    Twelve checks on your own site and content that decide whether generative engines can read, understand and quote you, each with how to test it and what the fix costs.

    Matiss Katanenko

    Matiss Katanenko

    Co-founder, Honeyb

    GEO Audit Checklist: 12 Checks for Generative Engine Readiness

    A GEO audit is a structured review of your own site and content to find what is helping or blocking generative engines from reading, understanding and quoting you. GEO here means Generative Engine Optimization, not geography or local search. The audit runs in twelve checks across three layers: whether AI crawlers can reach your pages, whether they can parse what is on them, and whether anything on the page is worth quoting in the first place.

    The term is genuinely ambiguous, so worth settling before anything else. Search "geo audit" and half the results are about geographic or geotechnical surveys. In the AI search world it means auditing a property for generative engine readiness. "geo audit" gets 170 US searches a month at keyword difficulty 0 (DataForSEO, July 2026), which tells you the term is still forming. If you want the concept from scratch, start with what generative engine optimisation actually is.

    What this audit is not

    This is the fix list, not the measurement. Measurement answers "where do I currently stand in AI answers", and that belongs in a separate exercise: see how to run an AI visibility audit for prompt sets, engine coverage and baselining. Run that first. It tells you whether you have a problem worth fixing and gives you the before number.

    This post assumes you already know you are underexposed and want to know what on your own property is contributing. Measurement is the input. The twelve checks below are the output.

    The 12-point checklist at a glance

    #CheckSeverity if failingTypical fix effortMoves the needle
    1AI crawlers blocked at CDN or WAFCritical1 hourYes, gating
    2robots.txt disallows AI user agentsCritical15 minutesYes, gating
    3Content requires JavaScript to appearCritical1 to 6 weeksYes, gating
    4Broken URLs and redirect chainsHigh1 to 3 daysYes
    5No llms.txtLow2 hoursMarginal
    6Missing or invalid schemaMedium2 to 5 daysModest
    7No answer-first structureHighPer page, 1 hourYes
    8Broken heading semanticsMedium1 to 3 daysModest
    9No dates, stale contentMedium1 day plus upkeepModest
    10Inconsistent entity namingHigh1 to 2 weeksYes
    11Thin third-party mention footprintCriticalOngoing, monthsYes, strongest
    12No original data to citeHighOngoingYes

    Layer one: can they reach you (checks 1 to 5)

    1. Crawler access at the edge. The most common failure is not robots.txt, it is a CDN or WAF bot rule silently returning 403 to AI agents. Check it by fetching your own pages with each user agent from a clean IP and reading the status code, not the rendered page. The agents that matter, from each vendor's own documentation: OpenAI runs GPTBot for model training, OAI-SearchBot for surfacing sites in ChatGPT search, and ChatGPT-User for live user-triggered fetches (OpenAI crawler documentation, accessed 20 July 2026). Anthropic runs ClaudeBot, Claude-User and Claude-SearchBot (Anthropic support documentation, accessed 20 July 2026). Perplexity runs PerplexityBot for indexing and Perplexity-User for query-time fetches (Perplexity developer documentation, accessed 20 July 2026). Full list in our AI crawler user agent reference.

    2. robots.txt. Read yours line by line. Two traps. First, a blanket `Disallow: /` under a wildcard user agent catches everything. Second, Google-Extended is widely misunderstood: Google states it controls whether your content trains Gemini and grounds its outputs, and that it "does not impact a site's inclusion in Google Search nor is it used as a ranking signal" (Google Search Central documentation, accessed 20 July 2026). Blocking it is a deliberate policy choice, not a technical accident, but many sites inherited it from a template without deciding.

    Note also that the user-triggered fetchers behave differently. OpenAI documents that for ChatGPT-User, robots.txt rules may not apply because the request represents a user action, and Perplexity documents the same for Perplexity-User. So a robots.txt block may stop indexing without stopping live retrieval, which produces confusing audit results if you only test one agent.

    3. Rendering. This is the check most teams skip and the one that most often explains a total absence from AI answers. Vercel and MERJ analysed real crawler traffic and found none of the major AI crawlers execute JavaScript. GPTBot requested JavaScript files in 11.50% of fetches and ClaudeBot in 23.84%, but neither executes them (Vercel, The Rise of the AI Crawler). If your content is client-side rendered, AI engines see an empty shell while Google, which does render, sees the full page. How to check: disable JavaScript in your browser, or run `curl` against the URL and read the raw HTML. If your product description, pricing or article body is not in that response, the fix is server-side rendering or static generation for those routes. It is the single most expensive item on this list and usually the highest return.

    4. URL hygiene. The same Vercel analysis found ChatGPT's crawler spent 34.82% of fetches on 404 pages plus 14.36% following redirects, and Claude's 34.16% on 404s, against Googlebot's 8.22% and 1.49%. AI crawlers pick URLs badly, so every dead link and redirect chain you leave in place burns a disproportionate share of the attention you get. Check with a standard crawl, fix by repointing internal links to final URLs rather than relying on redirects.

    5. llms.txt. A Markdown file at your root that lists your key pages with short notes, proposed by Jeremy Howard in September 2024 (llmstxt.org). The specification calls for an H1, a blockquote summary, then H2 sections containing lists of `name` links with optional notes. It is cheap to produce and no major engine has confirmed it as a ranking input, so treat it as low severity and low effort rather than a fix. Detail in what llms.txt is and llms.txt examples.

    Layer two: can they parse you (checks 6 to 9)

    Want to see this in action?

    See how every major AI model talks about your brand. Free to start.

    Free AI Check

    6. Schema and structured data. Validate with Google's Rich Results Test and Schema.org's validator. Priorities in order: Organization with a stable identifier, Product or Service, FAQPage where the questions are genuine, and Article with author and dates. The value is less about rich results and more about giving a parser unambiguous facts. See schema markup and AI visibility for what to implement first.

    7. Answer-first structure. Open any page and read the first 60 words after the H1. If they are throat-clearing about how the industry has changed, that page has nothing liftable. Generative engines quote self-contained passages, so every section should lead with its conclusion and support it afterwards. Fix per page, roughly an hour each, and prioritise pages where you already rank.

    8. Heading semantics. One H1, no level skips, and headings phrased as the questions buyers actually ask rather than as clever labels. Check with any accessibility tree inspector. This is a cheap fix with a modest effect: it makes passage extraction more reliable, it does not create demand for you.

    9. Freshness and dating. Check whether every substantive page carries a visible published date and a `dateModified` in schema, and whether either is honest. Undated pages are harder for an engine to prefer when a query is time-sensitive. Silently bumping dates without changing content is worse than leaving them alone.

    Layer three: are you worth quoting (checks 10 to 12)

    10. Entity clarity. Pick one canonical name and use it identically everywhere, on your site, in your schema `Organization` block, on your profiles, and in every third-party listing. Audit by searching your brand plus a category term and reading how you are described back. Where descriptions disagree, engines hedge or substitute a competitor.

    11. Third-party mentions. This is the check that matters most and the one your own site cannot fix. Ahrefs' analysis found AI visibility correlates most strongly with third-party mentions and video, not with on-page work. Semrush found Reddit accounts for 40.1% of all AI citations, the single most-cited source. Our own measurement on 13 July 2026, running 20 buyer prompts three times each across four engines by API for 240 answers, found Reddit supplied 71 of Perplexity's 498 citations (14%) and YouTube 40 (8%). Audit yours by listing where you are currently mentioned outside your own domain and comparing that against where the engines are actually pulling from for your category. More on this in how to get cited by AI.

    12. Original data. Engines cite sources that carry something unavailable elsewhere: a number, a benchmark, a survey, a teardown. If every page you publish restates what ten other pages say, there is no reason to quote you rather than them. Check by asking, for each page, what single fact appears here and nowhere else. If the answer is nothing, that page will not earn citations regardless of its schema.

    What this checklist will not do

    Be clear-eyed about the ceiling. On Ahrefs' finding, on-page work is the weaker correlate. Checks 1 to 4 are gating: fail them and nothing else can help, because you are invisible before the question of quality arises. Checks 5 to 9 are hygiene: they improve your odds of being parsed and extracted cleanly, and they are worth doing because they are cheap, but no volume of schema will make a page that says nothing get cited. Checks 10 to 12 are where the actual movement is, and two of the three happen off your own site.

    There is also a measurement floor to respect. SparkToro found the same AI query changes its answer roughly 70% of the time, and our 13 July 2026 run found the top-ranked brand changed between identical runs on 44% of Gemini answers and 35% of ChatGPT answers. So do not judge a fix by re-asking one prompt once. Re-baseline with the same prompt set you used for measurement, multiple runs, and compare distributions. Semrush also found that 62% of AI citations never name the brand being cited, which means citation counts and brand mentions are different metrics and you should track both.

    Running the audit on a schedule

    Quarterly is enough for checks 5 to 12. Checks 1 to 4 deserve monitoring, because a CDN rule change or a framework upgrade can take you offline to AI crawlers overnight without touching your Google rankings, so nothing in your normal reporting will flag it. Add the AI user agents to your log analysis and alert on a sustained drop in successful fetches.

    The honest sequencing is: measure first, fix the gating checks, then spend the bulk of your effort on the last three. See also answer engine optimisation for the content side of that work. To get the baseline this audit depends on, run a free check of how often AI assistants name your brand at our AI visibility checker.

    Frequently asked questions

    Does a GEO audit have anything to do with geographic or local SEO?

    No. GEO stands for Generative Engine Optimization. A GEO audit reviews how well your site can be crawled, parsed and quoted by AI assistants such as ChatGPT, Gemini, Claude and Perplexity. It has no relationship to geotargeting, geotechnical surveys or local map rankings, despite sharing the abbreviation.

    How is a GEO audit different from an AI visibility audit?

    An AI visibility audit measures where you currently stand: which prompts name you, on which engines, how often. A GEO audit is the fix list that follows, covering crawler access, rendering, structure, entity consistency and citeability on your own property. Measurement is the input, the GEO audit is the response.

    Which check should I fix first if I only have budget for one?

    Rendering. Vercel and MERJ found no major AI crawler executes JavaScript, so a client-side rendered site can be completely absent from AI answers while ranking normally in Google. It is the most expensive item to fix but nothing downstream matters if AI engines receive an empty page.

    Is llms.txt worth adding?

    It is cheap, roughly two hours, and harmless. No major engine has confirmed it as an input, so treat it as optional housekeeping rather than a fix. Do not defer schema, rendering or content work in order to ship it.

    How long before an audit fix shows up in AI answers?

    Crawler access and rendering fixes can show within weeks once the pages are re-crawled. Entity consistency and third-party mention work runs on a scale of months. Because answers vary run to run, SparkToro found the same query changes its answer around 70% of the time, judge results by re-running a fixed prompt set several times rather than by spot checks.

    Matiss Katanenko

    About the author

    Matiss Katanenko

    Co-founder, Honeyb

    My name is Matiss Katanenko and I co-founded Honeyb, the AI visibility platform that tracks how ChatGPT, Gemini, Claude, Perplexity and the other major AI engines talk about brands. I'm based in Riga, Latvia. Before Honeyb I spent years on the agency side running SEO and content programs for fast-growing brands across the US and Europe. That work is where I watched AI search start to compress the entire discovery channel into a four-brand short list, and decided to build the tool I wished agencies had. In my free time I'm in the sauna, on a padel court, or behind a drum kit.

    Connect on LinkedIn
    Honeyb

    Free to start

    See your brand through every major AI model.

    Run a free check in 30 seconds. The picture is usually different than you'd expect.

    ChatGPTChatGPT
    ClaudeClaude
    GeminiGemini
    PerplexityPerplexity