Skip to content

The GEO audit: every check explained

View as Markdown

The GEO audit checks how ready a site is to be read, understood and quoted by AI engines. It reads your site the way most AI crawlers do, without running JavaScript, runs 26 checks in five groups, and gives every failed check a concrete fix.

What does the audit read?

  • Your home page, as your server sends it, with no JavaScript run.
  • /robots.txt, your XML sitemap (from robots.txt or /sitemap.xml) and /llms.txt.
  • Up to eight more pages, picked from your links and sitemap: your pricing page, your about page, comparison pages and articles.
  • Your home page again, requested with the user agents of AI crawlers, to see whether your firewall treats them differently.

That's about 20 requests, made to public addresses only. The audit reads nothing behind a login.

How is the score calculated?

Each check has a weight. A pass earns its full weight, a warning half, a failure nothing. Checks marked "Info" and checks that didn't apply (for example, author names on a site with no articles) aren't scored. The score is the share of available weight your site earned, from 0 to 100, and each group gets its own score the same way.

The score always counts every check, whichever plan you're on, so it's the same number for everyone. What a plan adds is the detail and the fix.

Which checks can I see?

Free check Free account Paid plans
Checks with results and fixes 11 22 26

Results above your level are reduced to counts on our server ("6 more recommendations with a free account"), so the details never reach the browser.

What does each check look at?

Access: can AI engines reach your site?

If a crawler is blocked by robots.txt, a firewall or a noindex tag, nothing else matters: the engine can't read the page, so it can't quote or cite it.

Check What it looks at Weight Shown on
AI search crawlers allowed in robots.txt robots.txt lets the crawlers behind AI answers read your pages: Googlebot, Bingbot, OAI-SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User, Claude-SearchBot, Claude-User, Applebot and DuckAssistBot. A blocked crawler means that engine cannot read or cite you. 10 Free check
No noindex or nosnippet on key pages No noindex, nosnippet, max-snippet:0 or none in the robots meta tag or X-Robots-Tag header. Google uses nosnippet to keep a page out of AI Overviews and AI Mode. 10 Free check
Firewall lets AI crawlers through We request your home page with the AI crawlers' user agents and compare the result with a browser's. A refusal or a bot challenge means some engines get a wall instead of your page. 8 Free check
XML sitemap with dates An XML sitemap, listed in robots.txt or at /sitemap.xml, where at least half the URLs have a lastmod date. Engines use the dates to decide what to read again. 4 Free check
Valid robots.txt robots.txt answers with plain text, not an HTML page or a server error. Google treats a server error there as "crawl nothing". 2 Free check
HTTPS everywhere Pages are served over HTTPS and http:// redirects to https://. 2 Free account
llms.txt A Markdown summary of the site at /llms.txt. Cheap to add, but no major engine has confirmed reading it, so it carries little weight. 1 Free check
AI training crawlers Whether GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, meta-externalagent and Bytespider may read the site. Information only: blocking training is a legitimate choice and does not affect AI search answers. Info Free check

Readability: can they read it without JavaScript?

Most AI crawlers fetch the HTML and don't run JavaScript. A page built in the browser is close to empty for them.

Check What it looks at Weight Shown on
Content readable without JavaScript The words in the HTML your server sends, before any JavaScript runs. A home page with under 80 words and several scripts fails; under 200 words is a warning. 10 Free check
Fast HTML response How long the home page HTML takes to arrive, and how big it is. Over one second is a warning, over 2.5 seconds fails. Crawlers fetching for a waiting user give up on slow pages. 3 Free account
Language declared The page declares its language in , and hreflang links if there are several languages, so engines answer in the right market with the right page. 2 Free account

Identity: do they know who you are?

Engines connect a brand name to a website through structured data, profiles elsewhere and an about page. Without them, they guess.

Check What it looks at Weight Shown on
Organization structured data Organization JSON-LD with your name, URL and logo. It is how engines tie your brand name to your site. 6 Free check
Clear title and description The home page has a title of 10 to 70 characters and a meta description of 50 to 170 that say what you are and who it is for. 3 Free check
Profiles linked with sameAs The Organization data lists at least three profiles elsewhere (LinkedIn, GitHub, X, review sites, Wikipedia) in sameAs, so engines can confirm that what they read about you elsewhere is you. 3 Free account
About page with company facts The home page links to an about or company page with the facts engines repeat: what you do, for whom, where, who is behind it. 3 Free account
Open Graph tags og:title, og:description and og:image are set. Assistants and link previews use them when they show your page. 1 Free account

Content: is it easy to quote?

Engines lift short, self-contained passages: direct answers, lists, tables, dated facts. Pages written that way get quoted.

Check What it looks at Weight Shown on
Crawlable pricing page A pricing page linked from the home page or the sitemap, with prices in its HTML. Engines get "X pricing" questions all the time; without your page they quote old reviews. 6 Free check
Product, FAQ and article markup At least two kinds of useful structured data across the pages we read: Product or SoftwareApplication with offers, FAQPage, Article, BreadcrumbList and similar. 4 Free account
Pages open with a direct answer The first paragraph after the H1 is 8 to 60 words: an answer that could stand alone. At least 60% of the pages we read should open that way. 4 Free account
Pages show recent dates Pages carry publish or update dates in structured data, 4 Free account
Comparison and alternatives pages At least two "you vs competitor" or "alternatives" pages. They answer some of the most asked buyer questions. 4 Free account
Question headings and FAQ At least three H2 or H3 headings phrased as questions, and an FAQ section, so each question has its answer right underneath. 3 Free account
Lists and tables At least half of the content pages use lists, and there are tables. Engines reuse structured content almost verbatim. 2 Paid plans
One H1, clear sections The home page has exactly one H1 and at least two H2 sections. 2 Paid plans
Articles name their author Every article names its author in its Article structured data. 2 Paid plans

Presence: are you known elsewhere?

Knowledge graphs such as Wikidata help engines identify a brand and its official website.

Check What it looks at Weight Shown on
Brand on Wikidata A Wikidata item for your brand that lists your domain as its official website (property P856). 3 Paid plans

What if my site blocks the audit?

If your home page answers with a bot challenge or a refusal (Cloudflare's managed challenge is common), the audit can't read your pages. It reports a partial result: the page-level checks are skipped, and the firewall check fails with what we got back instead of your page. For many sites that's the most important finding: AI fetchers that your firewall doesn't recognise get the same wall.

How do I run it?

  • On this site with the free check, no account needed.
  • In the dashboard, on each project's audit page, at your plan's level. You can re-run it once an hour per project.

For the reasoning behind the checks, read What is GEO, and how do you check your site for AI engines?