Free, no sign-up

Free GEO audit: is your page ready for AI search?

Check whether ChatGPT, Perplexity, Claude and Google AI Overviews can reach, read and cite a page. 42 checks, crawler access by name, and a fix list ranked by how many points each change adds.

  • 42checks per page
  • 15crawlers tested
  • 5scored categories
  • PDFreport to share

Audits one URL at a time. The page is fetched without running JavaScript, the same way most AI crawlers read it.

What this free GEO audit checks

Generative engine optimization (GEO) is the work of making a page easy for AI answer engines to find, read and cite. Classic SEO gets you ranked in a list of links. GEO gets you quoted inside the answer in ChatGPT search, Perplexity, Claude, Microsoft Copilot and Google AI Overviews. This audit fetches one page the way those engines do and runs 42 checks on it, then tells you, in order of impact, what to fix.

What makes it different

  • Crawler access by tier. robots.txt is parsed with RFC 9309 rules for 15 named crawlers, so blocking AI training (GPTBot) is not confused with blocking AI search (OAI-SearchBot).
  • Firewall test. The page is also requested as GPTBot and OAI-SearchBot, which catches CDN and WAF blocks that robots.txt cannot show.
  • Evidence on every line. Each result says what was found, such as the exact rule and line number, not just pass or fail.
  • Fixes ranked by points. Recommendations are sorted by how many points each one adds to this page's score.

What it does not do

  • It does not run JavaScript. That is deliberate: most AI fetchers do not either, so the audit sees what they see.
  • It does not measure citations or rankings. Pair it with the Generative AI report in Google Search Console and your referral analytics.
  • It does not score platforms or plugins. A site built on any stack can score 100.

How to run a GEO audit in three steps

  1. Enter a URL and press Run GEO Audit. The audit takes 5 to 20 seconds.
  2. Read the verdict first. If a red banner caps the score, fix that one issue before anything else; nothing else matters while AI crawlers cannot read the page.
  3. Work down the fix list, highest points first, then export the PDF to share with a developer or client and re-run the audit to confirm.

For a portfolio view, the batch URL checker compares up to 20 sites, and the AI crawler check tests one domain against all 257 bots in our crawler directory.

GEO audit methodology: all 42 checks and their weights

Weights run from 1 (an emerging or optional signal) to 5 (can stop AI engines reading the page at all). A warning earns part of the points, and checks that do not apply to the page, such as author bylines on a homepage, are excluded rather than failed.

AI Crawler Access (30% of the score, 10 checks)

AI Crawler Access checks
CheckWeightWhy it matters
AI search bots allowed in robots.txt●●●●● weight 5 of 5OAI-SearchBot, Claude-SearchBot and PerplexityBot build the indexes behind ChatGPT search, Claude search and Perplexity answers. Blocking them removes the page from those answers.
AI assistants allowed in robots.txt●●● weight 3 of 5ChatGPT-User, Claude-User and Perplexity-User fetch a page when a person asks about it. A block means the assistant says it cannot open your page.
Search engines allowed in robots.txt●●●●● weight 5 of 5Googlebot and Bingbot feed Google AI Overviews, AI Mode and Microsoft Copilot as well as classic search.
AI training policy is explicit● weight 1 of 5Blocking or allowing training crawlers does not change AI search visibility, but naming them shows the choice was deliberate rather than inherited from a wildcard rule.
No firewall block for AI crawlers●●●●● weight 5 of 5A CDN or WAF can refuse AI crawlers even when robots.txt allows them. In 2026 this is the most common hidden cause of AI invisibility.
Page is indexable (no noindex)●●●●● weight 5 of 5noindex in the meta robots tag or X-Robots-Tag header keeps the page out of Google, Bing and AI search indexes.
Snippets allowed (no nosnippet)●●● weight 3 of 5nosnippet or max-snippet:0 lets engines index the page but stops them quoting it, which also removes it from AI Overviews text.
Content is in the HTML without JavaScript●●●●● weight 5 of 5Most AI fetchers (GPTBot, ClaudeBot, PerplexityBot) do not run JavaScript. Text that only appears after scripts run is invisible to them.
robots.txt is valid and reachable●● weight 2 of 5Crawlers fetch robots.txt first. A 5xx makes Google and Semrush stop crawling; an HTML page at that URL is ignored.
llms.txt published● weight 1 of 5llms.txt is a proposed summary file for AI assistants. No major AI engine has documented reading it, so it is scored as an emerging signal only.

Technical SEO (20% of the score, 11 checks)

Technical SEO checks
CheckWeightWhy it matters
Served over HTTPS●●●● weight 4 of 5HTTPS is a baseline trust and ranking signal for every search engine.
HTTP redirects to HTTPS●● weight 2 of 5If http:// still serves pages, engines can index two copies and split signals between them.
Title tag present and 15 to 65 characters●●●● weight 4 of 5The title is the strongest single on-page relevance signal and is often the text an AI answer shows as the citation label.
Meta description 70 to 170 characters●●● weight 3 of 5Search engines use it for the result snippet and some AI features use it as the page summary.
Canonical tag points to this URL●●● weight 3 of 5The canonical tells engines which URL to index and cite when duplicates exist. A canonical to another URL tells them not to use this one.
XML sitemap found●●● weight 3 of 5Sitemaps help crawlers discover pages and notice updates. Bing states that it uses lastmod to prioritise recrawls for Copilot.
Language declared●● weight 2 of 5The html lang attribute tells engines which language the answer is in, which matters for multilingual AI answers.
hreflang for alternate languages● weight 1 of 5Only relevant for sites with several language or region versions.
Mobile viewport set●● weight 2 of 5Google indexes the mobile version first; a page without a viewport renders as a desktop page on phones.
Server responds quickly●● weight 2 of 5Crawlers have fetch timeouts and crawl budgets; slow responses mean fewer pages fetched and refreshed.
HTML size under 1 MB● weight 1 of 5Very large HTML documents can be truncated by crawlers before the main content.

Content Structure (20% of the score, 10 checks)

Content Structure checks
CheckWeightWhy it matters
Exactly one H1●●● weight 3 of 5The H1 states what the page is about; engines use it to label the passage they extract.
Sections under descriptive H2s●●● weight 3 of 5AI engines extract passages section by section. Clear H2s let them find the part that answers a question.
Heading levels in order● weight 1 of 5Skipped levels (H2 to H4) make the outline harder for parsers and screen readers to follow.
Enough main content to cite●●●● weight 4 of 5Engines cite pages that answer a question fully. A few sentences rarely win a citation over a thorough source.
Questions answered in headings●●● weight 3 of 5People ask AI assistants questions. Headings phrased as those questions, followed by a direct answer, map cleanly onto prompts.
Lists or tables for scannable facts●● weight 2 of 5Steps, comparisons and specs in lists and tables are easy for engines to lift into an answer.
Sentences and paragraphs are short●● weight 2 of 5Short, self-contained sentences are easier to quote accurately.
Main content marked with <main> or <article>●● weight 2 of 5Landmarks let parsers separate the content from navigation and footers, so the right text is extracted.
Images have alt attributes●● weight 2 of 5Alt text is the only description of an image a text crawler receives.
Internal links to related pages●● weight 2 of 5Internal links help crawlers discover related pages and understand topic clusters.

Structured Data (15% of the score, 6 checks)

Structured Data checks
CheckWeightWhy it matters
Valid JSON-LD structured data●●●● weight 4 of 5Structured data states facts about the page in a form engines do not have to guess. Pages cited by AI Mode and ChatGPT carry it far more often than not.
Organization or Person entity●●● weight 3 of 5An Organization or Person node tells engines who publishes the content, which links the page to a known entity.
Content-type schema (Article, Product, FAQ...)●●● weight 3 of 5A type that describes the page itself (Article, Product, FAQPage, HowTo, Service) gives engines the headline, dates and answers directly.
Dates in schema (published and modified)●● weight 2 of 5AI engines favour fresh sources for time-sensitive questions and read dateModified to judge freshness.
BreadcrumbList schema● weight 1 of 5Breadcrumbs describe where the page sits in the site, which helps engines understand topical hierarchy.
Open Graph title, description and image●● weight 2 of 5Open Graph tags control how the page appears when shared in chat apps and assistants that render link previews.

Trust & Authority (15% of the score, 5 checks)

Trust & Authority checks
CheckWeightWhy it matters
Author shown or declared●●● weight 3 of 5A named author is a core E-E-A-T signal, and engines are more willing to cite content with accountable authorship.
Visible publish or update date●● weight 2 of 5A visible date tells readers and engines how current the information is.
Links to supporting sources●● weight 2 of 5Citing sources shows the claims are checkable, which is part of how engines judge trustworthiness.
About or contact page linked●● weight 2 of 5A reachable About or Contact page shows there is an accountable organisation behind the site.
No insecure (http) resources● weight 1 of 5Mixed content triggers browser warnings and weakens the page's security signals.

GEO audit vs SEO audit vs AI crawler check

QuestionGEO audit (this page)AI crawler checkTypical SEO audit
ScopeOne page, 42 checksOne domain, 257 botsWhole site crawl
AI search vs training botsSeparated by tierEvery bot, labelled by purposeRarely
Firewall and CDN blocksGPTBot and OAI-SearchBot probeUse the AI crawler diagnosticNo
Content structure for answersYesNoPartly
Structured dataParsed and typedDetectedYes
Best forMaking one page citableChecking bot access fastRankings and site health

The fixes that move a GEO score most

Access (fix first)

  • Allow OAI-SearchBot, Claude-SearchBot and PerplexityBot. Build a file with the robots.txt generator and its "Allow AI Search, Block Training" preset.
  • Check the CDN. Cloudflare began blocking AI training and agent traffic by default on new domains with ads from 15 September 2026 (Cloudflare); the diagnostic shows the layer that blocks.
  • Remove noindex and nosnippet from pages you want quoted.
  • Server-render the main content. See JavaScript rendering and AI crawlers.

Understanding and trust

Deeper reading: GEO ranking factors in 2026, GEO for beginners, GEO vs SEO and why you are not cited in AI answers.

GEO audit FAQ

What is a GEO audit?

A GEO (generative engine optimization) audit checks whether AI answer engines such as ChatGPT search, Perplexity, Claude and Google AI Overviews can reach, read and trust a page. This one runs 42 checks in five categories and scores the page from 0 to 100.

How is the GEO score calculated?

Each check has a weight from 1 to 5 based on how much it affects AI visibility. A pass earns full points, a warning earns partial points, and checks that do not apply to the page are left out. Category scores are combined with fixed weights: AI Crawler Access 30%, Technical SEO 20%, Content Structure 20%, Structured Data 15% and Trust 15%. Some findings cap the score: noindex (25), robots.txt blocking both search engines and AI search crawlers (25), robots.txt or a firewall blocking either group (40), and a client-rendered page with no text in the HTML (45).

Is a GEO audit different from an SEO audit?

They overlap on the basics, such as titles, canonicals and sitemaps. A GEO audit adds what answer engines need on top: access for AI search and assistant crawlers by name, content that is present without JavaScript, question-led headings, and structured data that identifies the publisher.

Does blocking GPTBot lower my GEO score?

No. GPTBot, ClaudeBot, Google-Extended and other training crawlers do not decide whether ChatGPT or Claude can cite you. The score only penalises blocks on AI search bots (OAI-SearchBot, Claude-SearchBot, PerplexityBot), AI assistants and search engines. Naming your training policy explicitly earns a small bonus.

Do I need an llms.txt file?

It helps a little at most. llms.txt is a proposed standard and no major AI engine has documented reading it, so it carries the lowest weight in this audit. robots.txt access, server-rendered content and structured data matter far more.

Why did the audit say my site blocked AI crawlers when robots.txt allows them?

The audit also requests the page with the GPTBot and OAI-SearchBot user agents. If those requests get a 403, 429 or a challenge page while a browser gets a 200, a CDN or firewall is blocking AI crawlers. This test runs from our server, not the crawler's own IP range, so confirm the result in your CDN's bot settings.

Which page should I audit?

Audit the pages you want cited: the homepage, your main service or product pages, and your best articles. Each URL is scored on its own, so run the audit on a few templates rather than only the homepage.

Is the GEO audit free?

Yes. There is no sign-up and no limit on the number of audits, and the PDF and Excel reports are free to download and share.

Want the fixes done for you?

Horatos.ai runs GEO and AI search optimization projects for brands and agencies, and teaches the method in its AI Search Optimization and GEO courses.

Talk to Horatos.ai GEO services