Agent-ready websites
Checklist

Free GEO audit checklist: 36 checks to see if AI can read and use your website

Short answer

A GEO audit checks whether AI crawlers and agents can reach your pages, understand them and act on them. The checklist below has the 36 checks our AI-Ready Kit runs, in six areas: content semantics, structured data, navigability, actionability, AI promptability and agent collaboration. Fix access first, then structure, then content.

Cover: The GEO audit: 36 checks. Agent-ready websites checklist.
On this page

    Key facts

    • 36 checks, 6 areas: these are the rules the Web2Agents AI-Ready Kit runs on up to 25 pages of a site, scoring each area 0–5 for a total out of 30.
    • Access comes first: OpenAI says sites opted out of OAI-SearchBot "will not be shown in ChatGPT search answers", though they can still appear as navigational links.
    • Many AI crawlers don't run JavaScript: a December 2024 Vercel and MERJ analysis found that none of the major AI crawlers it studied rendered JavaScript, including GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot.
    • Google doesn't need special AI files: Google says llms.txt and similar files neither help nor harm visibility in Google Search, and that structured data isn't required for its generative AI features.
    • The thresholds are ours: limits like "15–65 characters" or "at least 150 words" are our working rules, not official limits from Google, OpenAI or anyone else.

    How to use this checklist

    Work through the six tables in order. Each row has the check, the rule we use to call it a pass, and why it matters. For checks that look at many pages, run them on your homepage plus your 10–25 most important pages (services, products, pricing, contact, top articles).

    Mark each check pass, warning or fail. Then fix the fails in the access-related areas first (navigability and agent collaboration): if a crawler can't get in, nothing else on the page counts.

    A few honest caveats before you start:

    • Passing every check doesn't guarantee you'll be cited or recommended by any AI assistant. Nobody can promise that.
    • Some checks matter more for AI agents and assistants than for Google. Google says foundational SEO practices, such as a clear technical structure and unique, valuable content, are the foundation for visibility in its generative AI features, so good SEO still does most of the work there.
    • Two checks (form labels and button text) only apply if your site has forms. Without forms, they're replaced by one check: does the site offer any action at all?

    1. Content semantics (7 checks)

    Can a machine tell what each page is about and how it's organised?

    # Check Pass when Why it matters
    1 Exactly one H1 per page At least 90% of pages have one H1, and the homepage does The H1 is the clearest statement of what the page is
    2 Logical heading order At least 90% of pages go H1 → H2 → H3 without skipping levels Headings are the outline an AI uses to split and quote your page
    3 Semantic landmarks The homepage uses <main> plus at least two of <nav>, <header>, <footer> Separates the real content from menus and footers
    4 Language declared Every page has <html lang="…"> Tells crawlers which language the text is in
    5 Unique, descriptive titles At least 90% of pages have a unique title of 15–65 characters Titles are often the first thing an AI search tool sees in results
    6 Unique meta descriptions At least 90% of pages have a unique description of 50–160 characters A short summary that search tools and assistants can show
    7 Image alt text At least 95% of images have an alt attribute Crawlers can't see images; alt text says what they show

    Google's title link guidelines ask for a title on every page that is "descriptive and concise", and warn against vague titles like "Home".

    2. Structured data (7 checks)

    Does the site describe itself in a machine-readable format?

    # Check Pass when Why it matters
    8 JSON-LD present At least 80% of pages have a JSON-LD block The standard way to state facts in code
    9 JSON-LD is valid No block has a syntax error One broken bracket and the whole block is ignored
    10 Organization described An Organization or LocalBusiness block exists (name, logo, URL, contact, sameAs) Says who is behind the site
    11 WebSite entity The homepage has a WebSite block Names the site and links it to the organisation
    12 Absolute URLs in schema url, @id, logo and item values use full https:// URLs Relative URLs often break when the data is read elsewhere
    13 Open Graph tags At least 90% of pages have og:title, og:description and og:image Used when links are shared and previewed
    14 Breadcrumbs on inner pages At least 80% of inner pages have BreadcrumbList data Shows where each page sits in the site

    Google says it uses structured data "to understand the content of the page" and to gather information about things like companies (intro to structured data). But in its guide to optimizing for generative AI features it also says structured data "isn't required for generative AI search, and there's no special schema.org markup you need to add". So treat this area as clarity, not a magic switch. Validate your blocks with the Schema Markup Validator.

    3. Navigability (7 checks)

    Can a crawler find and fetch your pages?

    # Check Pass when Why it matters
    15 HTTPS and one host The site uses HTTPS, and www/non-www redirects to one version Avoids duplicate copies of every page
    16 robots.txt with explicit rules /robots.txt returns 200 with at least one user-agent group and no syntax problems Crawlers read it before anything else
    17 XML sitemap A sitemap exists and is listed in robots.txt with a Sitemap: line Lists every page you want found
    18 Absolute canonical URLs At least 90% of pages have <link rel="canonical"> with a full URL Says which version of a page is the real one
    19 Pages return 200 Every crawled page responds with HTTP 200 Broken pages and redirect chains waste crawls
    20 Real links from the homepage The homepage has at least 5 internal <a href> links Crawlers follow links, not buttons wired up with JavaScript
    21 No accidental noindex No important page has noindex One leftover tag can hide a page

    Two details catch people out. Google says robots.txt "is not a mechanism for keeping a web page out of Google" (robots.txt introduction); use noindex for that. And if a page is blocked in robots.txt, a crawler never sees its noindex tag (block indexing with noindex).

    4. Actionability (5 checks)

    Could an AI agent acting for a customer contact you, book or buy?

    # Check Pass when Why it matters
    22 Form fields have labels Every field has a <label> or aria-label (placeholder text alone counts against you) An agent needs to know what each field is for
    23 Buttons have clear text No submit button without text "Request a quote" says what happens; an empty icon doesn't
    24 No hard CAPTCHA wall No form is blocked by a CAPTCHA (a warning, not a fail) CAPTCHAs stop spam, but also agents acting for real users; this is a business choice
    25 Machine-readable contact A mailto: or tel: link, or a ContactPoint in your schema The simplest action an agent can take is to reach you
    26 Actions in schema Schema describes an Offer, SearchAction, ContactPoint or similar States what people can do on the site

    The W3C's forms tutorial says to "provide labels to identify all form controls", which helps screen readers and AI agents alike.

    5. AI promptability (5 checks)

    Is the content written and delivered so an AI can quote it?

    # Check Pass when Why it matters
    27 Readable without JavaScript The raw HTML has at least 80% of the words you see in a browser Many AI crawlers only read the raw HTML
    28 Enough text per page At least 85% of pages have 150+ words of readable text Thin pages give an AI nothing to quote
    29 Question-and-answer content The site has FAQ-style questions and answers, or FAQPage data for a visible FAQ Matches the way people ask AI assistants
    30 Clear sentences Average sentence length of 22 words or fewer Short sentences are easier to quote correctly
    31 Descriptive link text No more than 5% of links say "click here", "read more" and the like Link text tells crawlers what's on the other side

    Check 27 is the one most sites fail without knowing. Vercel and MERJ's analysis found none of the major AI crawlers they studied rendered JavaScript, naming OpenAI's GPTBot, OAI-SearchBot and ChatGPT-User, Anthropic's ClaudeBot and PerplexityBot, among others. Google's Gemini was the exception, because it uses Googlebot's infrastructure. To test it yourself, open a page with JavaScript turned off, or view the page source and search for a sentence from the middle of the page.

    6. Agent collaboration (5 checks)

    Does the site make its AI policy explicit and actually let the bots in?

    # Check Pass when Why it matters
    32 llms.txt published /llms.txt returns 200 and starts with a Markdown # title A short guide to your site for AI tools that read it
    33 llms-full.txt published /llms-full.txt returns 200 (a warning if missing, not a fail) The longer, full-text version, used by some tools
    34 Explicit AI-bot policy robots.txt names at least 5 AI bots Shows the choice is deliberate, not an accident of User-agent: *
    35 AI search and assistant bots allowed OAI-SearchBot, ChatGPT-User, Claude-SearchBot, PerplexityBot and similar can fetch / Blocking them keeps you out of their answers
    36 Server and CDN let the bots in Requests sent with AI bots' user-agents get the same page as a browser A firewall can block bots that robots.txt allows

    Be realistic about llms.txt. It's a proposal from llmstxt.org for "a /llms.txt markdown file" that gives LLMs "LLM-friendly content". Google says it doesn't use these files for Search, and that creating one "will neither harm nor help" your Google visibility. We still include it because it's cheap and some AI tools and agents do read it. For the difference between bots that train models and bots that fetch answers, see how to allow AI search bots but block AI training.

    Check 36 matters more than it looks. robots.txt is a request, but firewalls and CDNs enforce rules before a bot ever reaches your page. Our guide on how to check which AI crawlers can access your website walks through testing it.

    What to fix first

    If you only have an afternoon, do these in this order:

    1. Let the right bots in (checks 16, 35, 36). Nothing else matters if crawlers get a 403.
    2. Make the text visible without JavaScript (check 27). This is usually a developer or platform setting, so ask early.
    3. Fix titles, H1s and meta descriptions (checks 1, 5, 6). Quick to do in any CMS.
    4. Add Organization and WebSite JSON-LD (checks 10, 11), with your real name, logo, contact details and profiles.
    5. Publish a sitemap, canonicals and an llms.txt (checks 17, 18, 32).
    6. Add a short FAQ on key pages (check 29), answering the questions customers actually ask.

    How long does a manual audit take?

    For a small site, about an hour with a browser and a text editor. The slow parts are the per-page checks (titles, headings, word counts, alt text) and the bot test in check 36, which needs a command-line tool such as curl to send requests with different user-agents.

    What this checklist doesn't cover

    • Whether AI assistants already mention you. Check that by asking them and noting the sources they cite. Our checklist for getting cited by ChatGPT covers that side: search rankings, quotable answers and mentions on other sites.
    • Content quality and accuracy. A technically perfect page with thin or outdated facts still won't be recommended.
    • Off-site signals such as reviews, directories and press.

    Run it automatically

    You can do all of this by hand with the tables above. If you'd rather not, the free Web2Agents AI check scores your homepage across the same six areas, with results on screen in real time. The €19 AI-Ready Kit runs all 36 checks on up to 25 pages, shows the evidence for each, ranks the fixes, and includes ready-to-upload robots.txt, llms.txt and schema files. More guides are in our agent-ready websites section.

    {"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "What is a GEO audit?", "acceptedAnswer": {"@type": "Answer", "text": "A GEO (generative engine optimisation) audit checks whether AI search tools and assistants can reach, understand and quote your website. It covers crawler access, page structure, structured data and how readable your content is without JavaScript."}}, {"@type": "Question", "name": "Is a GEO audit different from an SEO audit?", "acceptedAnswer": {"@type": "Answer", "text": "They overlap a lot. Google says foundational SEO best practices are the foundation for visibility in its generative AI search features. A GEO audit adds checks that matter more for other AI tools: whether AI bots are allowed in robots.txt and by your firewall, whether text is visible without JavaScript, and whether you publish an llms.txt."}}, {"@type": "Question", "name": "Do I need llms.txt to pass a GEO audit?", "acceptedAnswer": {"@type": "Answer", "text": "No. It's one check out of 36. Google says it doesn't use llms.txt for Search, and llms.txt is still a proposal, not a standard. It's cheap to publish and some AI tools read it, which is why we include it."}}, {"@type": "Question", "name": "Which check should I fix first?", "acceptedAnswer": {"@type": "Answer", "text": "Crawler access. If robots.txt or your firewall blocks OAI-SearchBot, PerplexityBot or similar bots, those services can't read your pages, so nothing else on the list makes a difference to them."}}, {"@type": "Question", "name": "Will passing all 36 checks get my site cited by ChatGPT?", "acceptedAnswer": {"@type": "Answer", "text": "No one can guarantee that. Passing the checks removes the technical barriers; whether an AI assistant cites you also depends on your search rankings, the quality of your answers and what other sites say about you."}}]}

    FAQ

    What is a GEO audit?

    A GEO (generative engine optimisation) audit checks whether AI search tools and assistants can reach, understand and quote your website. It covers crawler access, page structure, structured data and how readable your content is without JavaScript.

    Is a GEO audit different from an SEO audit?

    They overlap a lot. Google says foundational SEO best practices are the foundation for visibility in its generative AI search features. A GEO audit adds checks that matter more for other AI tools: whether AI bots are allowed in robots.txt and by your firewall, whether text is visible without JavaScript, and whether you publish an llms.txt.

    Do I need llms.txt to pass a GEO audit?

    No. It's one check out of 36. Google says it doesn't use llms.txt for Search, and llms.txt is still a proposal, not a standard. It's cheap to publish and some AI tools read it, which is why we include it.

    Which check should I fix first?

    Crawler access. If robots.txt or your firewall blocks OAI-SearchBot, PerplexityBot or similar bots, those services can't read your pages, so nothing else on the list makes a difference to them.

    Will passing all 36 checks get my site cited by ChatGPT?

    No one can guarantee that. Passing the checks removes the technical barriers; whether an AI assistant cites you also depends on your search rankings, the quality of your answers and what other sites say about you.

    Sources

    Newsletter

    New guides on AI visibility, in your inbox.

    Practical, sourced articles on AI crawlers, llms.txt, structured data and AI search. A new one every day.

    Unsubscribe anytime. See our Privacy Policy.