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.
Auditing the page. This usually takes 5 to 20 seconds.
- Fetching the page as a browser and as GPTBot and OAI-SearchBot
- Reading robots.txt, the sitemap and llms.txt
- Evaluating crawler access for this exact path
- Parsing structure, content and JSON-LD
- Scoring 42 checks and ranking the fixes
The audit could not finish
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
- Enter a URL and press Run GEO Audit. The audit takes 5 to 20 seconds.
- 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.
- 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)
| Check | Weight | Why it matters |
|---|---|---|
| AI search bots allowed in robots.txt | ●●●●● weight 5 of 5 | OAI-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 5 | ChatGPT-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 5 | Googlebot and Bingbot feed Google AI Overviews, AI Mode and Microsoft Copilot as well as classic search. |
| AI training policy is explicit | ● weight 1 of 5 | Blocking 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 5 | A 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 5 | noindex 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 5 | nosnippet 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 5 | Most 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 5 | Crawlers 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 5 | llms.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)
| Check | Weight | Why it matters |
|---|---|---|
| Served over HTTPS | ●●●● weight 4 of 5 | HTTPS is a baseline trust and ranking signal for every search engine. |
| HTTP redirects to HTTPS | ●● weight 2 of 5 | If 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 5 | The 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 5 | Search 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 5 | The 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 5 | Sitemaps help crawlers discover pages and notice updates. Bing states that it uses lastmod to prioritise recrawls for Copilot. |
| Language declared | ●● weight 2 of 5 | The html lang attribute tells engines which language the answer is in, which matters for multilingual AI answers. |
| hreflang for alternate languages | ● weight 1 of 5 | Only relevant for sites with several language or region versions. |
| Mobile viewport set | ●● weight 2 of 5 | Google indexes the mobile version first; a page without a viewport renders as a desktop page on phones. |
| Server responds quickly | ●● weight 2 of 5 | Crawlers have fetch timeouts and crawl budgets; slow responses mean fewer pages fetched and refreshed. |
| HTML size under 1 MB | ● weight 1 of 5 | Very large HTML documents can be truncated by crawlers before the main content. |
Content Structure (20% of the score, 10 checks)
| Check | Weight | Why it matters |
|---|---|---|
| Exactly one H1 | ●●● weight 3 of 5 | The H1 states what the page is about; engines use it to label the passage they extract. |
| Sections under descriptive H2s | ●●● weight 3 of 5 | AI engines extract passages section by section. Clear H2s let them find the part that answers a question. |
| Heading levels in order | ● weight 1 of 5 | Skipped levels (H2 to H4) make the outline harder for parsers and screen readers to follow. |
| Enough main content to cite | ●●●● weight 4 of 5 | Engines 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 5 | People 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 5 | Steps, comparisons and specs in lists and tables are easy for engines to lift into an answer. |
| Sentences and paragraphs are short | ●● weight 2 of 5 | Short, self-contained sentences are easier to quote accurately. |
| Main content marked with <main> or <article> | ●● weight 2 of 5 | Landmarks let parsers separate the content from navigation and footers, so the right text is extracted. |
| Images have alt attributes | ●● weight 2 of 5 | Alt text is the only description of an image a text crawler receives. |
| Internal links to related pages | ●● weight 2 of 5 | Internal links help crawlers discover related pages and understand topic clusters. |
Structured Data (15% of the score, 6 checks)
| Check | Weight | Why it matters |
|---|---|---|
| Valid JSON-LD structured data | ●●●● weight 4 of 5 | Structured 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 5 | An 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 5 | A 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 5 | AI engines favour fresh sources for time-sensitive questions and read dateModified to judge freshness. |
| BreadcrumbList schema | ● weight 1 of 5 | Breadcrumbs describe where the page sits in the site, which helps engines understand topical hierarchy. |
| Open Graph title, description and image | ●● weight 2 of 5 | Open 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)
| Check | Weight | Why it matters |
|---|---|---|
| Author shown or declared | ●●● weight 3 of 5 | A 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 5 | A visible date tells readers and engines how current the information is. |
| Links to supporting sources | ●● weight 2 of 5 | Citing sources shows the claims are checkable, which is part of how engines judge trustworthiness. |
| About or contact page linked | ●● weight 2 of 5 | A reachable About or Contact page shows there is an accountable organisation behind the site. |
| No insecure (http) resources | ● weight 1 of 5 | Mixed content triggers browser warnings and weakens the page's security signals. |
GEO audit vs SEO audit vs AI crawler check
| Question | GEO audit (this page) | AI crawler check | Typical SEO audit |
|---|---|---|---|
| Scope | One page, 42 checks | One domain, 257 bots | Whole site crawl |
| AI search vs training bots | Separated by tier | Every bot, labelled by purpose | Rarely |
| Firewall and CDN blocks | GPTBot and OAI-SearchBot probe | Use the AI crawler diagnostic | No |
| Content structure for answers | Yes | No | Partly |
| Structured data | Parsed and typed | Detected | Yes |
| Best for | Making one page citable | Checking bot access fast | Rankings 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
- Add Organization and Article JSON-LD with the schema markup generator. SE Ranking found about 71% of pages cited by ChatGPT use schema.
- Phrase headings as the questions people ask, then answer in the first sentence (answer-first structure).
- Show a named author and a date on articles (E-E-A-T signals for AI citations).
- Optionally publish an llms.txt file.
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