Skip to content

What does a GEO audit check on a B2B website?

Ronan Liedmeier

Published , updated

On this page
  1. What does a GEO audit check, and in what order?
  2. How do I test whether AI crawlers can read my site without JavaScript?
  3. Which bots do I need to allow in robots.txt, and which can I block?
  4. How do I check index and snippet settings on Google and Bing?
  5. What do the six content checks look for on a page?
  6. How do I measure whether any of it worked?
  7. How long does a GEO audit take, and what do you get?
  8. FAQ
  9. Sources

Short answer

A GEO audit checks 12 points in three blocks: five access blockers (no-JavaScript fetch, robots.txt and CDN rules, crawler logs, Google index and snippet settings, Bing Webmaster Tools), six content checks (question headings, answer-first sections, stated facts, consistent names, sources and dates, tables and FAQ) and one measurement check. You can run the first pass yourself in an afternoon with curl, a browser and two free webmaster tools. This is how I ran it on my own site on 15 and 16 October 2026, with the thresholds my free checker uses for each point.

A GEO audit checks whether AI engines can read your site at all, then whether your pages hold anything worth quoting, then whether you can tell when a citation happens. Twelve points in three blocks: five access blockers, six content checks, one measurement check, in that order. What follows rests on running every point against my own site on 15 and 16 October 2026, the thresholds in the free checker I built for Growth Marketing Solutions (GMS), and the crawler documentation from OpenAI, Anthropic, Perplexity, Google and Microsoft.

The hub article on getting cited by ChatGPT, Perplexity and AI Overviews says why each point matters; this piece is how to run each check with free tools, and what a pass and a fail look like.

What does a GEO audit check, and in what order?

It checks five access blockers first, six content checks second, and one measurement check last. A site that fails any one of the first five is invisible to at least one engine, whatever the content says, so no content work starts until they pass.

# Check How I run it Pass looks like Fail looks like 209-vendor test (within-answer r)
1 No-JavaScript fetch curl, search for a visible sentence Sentence found, 150+ words Head, script tag, empty div 0.10 (weak)
2 robots.txt and CDN rules Read robots.txt; curl as a bot Search bots allowed at / Disallow: / on a search bot; 403 robots: all passed; CDN -0.09
3 Crawler log check Filter log by user agent, 30 days Visits from OAI-SearchBot None not tested
4 Google index and snippets view-source, curl -I, URL inspection Indexed, no snippet limits noindex, nosnippet, max-snippet:0 not tested
5 Bing Webmaster Tools and IndexNow Verify, open AI Performance, fetch key file Report has data, key file 200 Not verified not tested
6 Question-shaped headings Count H2 and H3 that are questions 30% or more Under 10% not reported
7 Answer-first sections Read the paragraph under each H2 60% are 15 to 90 words and answer it Intro padding 0.05 (none)
8 Facts stated directly Count numbers, prices, dates 8 or more per 1,000 words Under 3 not reported
9 Consistent entity names Compare og:site_name, schema, title One spelling Two or more not reported
10 Sources and dates Count body links; find the date 3 links, a date, updated in 90 days No links, no date links 0.12, dates 0.16
11 Table, FAQ and depth Search for <th> and FAQ; word count A table, an FAQ, 800+ words None, under 300 words tables 0.19, FAQ 0.22, depth 0.21
12 Measurement running Bing AI Performance, Search Console, panel Three sources, a baseline Nothing logged not tested

The last column comes from my test of 16 October 2026: 40 buyer prompts through Perplexity, 224 vendor mentions, 209 vendors, 183 sites scored. The figure is the within-answer correlation between passing that check and being cited. Method and statistics are in the 209-vendor write-up. The free checker does the fetches in 45 seconds, capped at 8 pages.

How do I test whether AI crawlers can read my site without JavaScript?

Fetch a page with no JavaScript, save the response, and search it for a sentence you can see on the page in a browser. If the sentence is in the file, crawlers can read it. If it's missing, they can't.

The reason is in Vercel's crawler data from 17 December 2024: "none of the major AI crawlers currently render JavaScript". Vercel counted 569 million GPTBot requests and 370 million from Anthropic's crawler across its network in one month, and 34.82% of ChatGPT's fetches landed on 404 pages. Google is the exception: Gemini runs on Googlebot, which renders JavaScript, so a React site can rank in Google and still be blank to ChatGPT.

Three ways to run it, cheapest first.

  1. In a terminal: curl -sL https://yourdomain.com/ > home.html, then search home.html for a sentence from the hero. Repeat for a service page and your best article.
  2. In a browser: turn JavaScript off, reload, and look at what is left.
  3. The free readiness check, which fetches up to 8 pages with a plain user agent and reports the word count on each.

A pass is the sentence in the file plus 150 words of main text in the raw HTML on the homepage and a median of 150 across the sampled pages; one of the two is a partial.

On 15 October 2026 I fetched the GMS homepage with curl. The response was the head, one script tag and an empty root div. Every word of the services and the author bio lived in the JavaScript bundle. Google had indexed the page. ChatGPT could not read any of it.

The same day I moved the article pages to a static build step, so they ship as finished HTML. The /insights/crawl-test page and the author page at /about/ronan-liedmeier returned full text to the same curl command the same day. The homepage still failed. On 16 October I prerendered the 11 marketing pages and the homepage passed.

The fixes in order of cost: a static build for content pages, server-side rendering, or a prerendering service. On a Lovable project the first is a prompt and an afternoon.

Which bots do I need to allow in robots.txt, and which can I block?

Allow OAI-SearchBot, PerplexityBot, Bingbot and Googlebot. Those four fetch pages to cite them. GPTBot, ClaudeBot and Google-Extended collect training data, and blocking them does not change whether you get cited, by each vendor's own documentation, quoted in the table (Anthropic's dated 7 April 2026, Google's updated 15 October 2026).

Bot Owner What it is for Block it and you lose Allow
OAI-SearchBot OpenAI "used to surface websites in search results in ChatGPT's search features" ChatGPT search citations Yes
GPTBot OpenAI Training data Nothing in search Your choice
ChatGPT-User OpenAI User-initiated fetch; "robots.txt rules may not apply" Live reads of your page Cannot block reliably
ClaudeBot Anthropic Training data Nothing in search Your choice
Claude-SearchBot Anthropic "navigates the web to improve search result quality for users" Claude search results Yes
Claude-User Anthropic Fetch when a person asks Claude Visibility in user-directed search Yes
PerplexityBot Perplexity Search; "not used to crawl content for AI foundation models" Perplexity citations Yes
Perplexity-User Perplexity User actions; "generally ignores robots.txt rules" Live reads of your page Cannot block reliably
Googlebot Google Search, AI Overviews, AI Mode All of Google Yes
Google-Extended Google Gemini training and grounding; "does not impact a site's inclusion in Google Search" Gemini app grounding Your choice
Bingbot Microsoft Bing and Copilot Bing and Copilot citations Yes

Google-Extended has no user agent string of its own; it is a token in robots.txt.

How to run it: open yourdomain.com/robots.txt and read every User-agent block. A Disallow: / under any of the four search bots is a fail; the checker marks a 5xx on robots.txt as a partial. OpenAI says a change takes about 24 hours to be picked up, and that the OAI-SearchBot and GPTBot settings are independent.

The CDN check catches what robots.txt does not show. Since 1 July 2025 Cloudflare asks every new domain at sign-up whether to allow AI crawlers, and the default blocks them. To test it, fetch the homepage as a bot and compare to a browser fetch: curl -sL -A "OAI-SearchBot/1.0" https://yourdomain.com/. The checker probes with OAI-SearchBot, PerplexityBot, GPTBot and ClaudeBot and flags possible blocking on a 401, 403, 429 or 503, a challenge page the browser did not get, or body text under 30% of what the browser got.

It says possible on purpose. The probe runs from my servers, and real bots are often allowed by IP verification at the CDN, so a bot-only refusal costs at most half the points. A refusal to the browser too is the full fail. On any CDN, look in the bot rules for OAI-SearchBot and PerplexityBot by name.

Point 3 is the log. Filter it for those user agents over the last 30 days. Zero visits from OAI-SearchBot means ChatGPT has not read the site.

How do I check index and snippet settings on Google and Bing?

Look for noindex, nosnippet and max-snippet:0 in the meta robots tag and the X-Robots-Tag header on the homepage and your content pages. Google's documentation says the same controls govern AI features: "There are no additional requirements to appear in AI Overviews or AI Mode", and "To limit the information shown from your pages in Search, use nosnippet, data-nosnippet, max-snippet, or noindex controls."

So a nosnippet tag on a pricing page removes it from AI answers as well. The checker fails the audit if the homepage carries any of the three directives and marks a partial if any sampled page does.

How to run it: view-source on each page and search for "robots", then curl -I https://yourdomain.com/page and read the X-Robots-Tag line if there is one. URL inspection in Search Console confirms the page is indexed. AI Overview and AI Mode traffic is reported in the Performance report under the "Web" search type, with no separate filter.

Being indexed matters more than ranking here. Ahrefs' study of 2 March 2026 covered 863,000 keyword SERPs and 4 million AI Overview citation URLs: 37.9% of cited URLs were in the top 10, 31.2% ranked between 11 and 100, and 31.0% beyond 100. So the page needs to be indexed and free of snippet limits.

Bing is point 5, and the only engine I know of that reports citations to you for free. Verify the site in Bing Webmaster Tools and open the AI Performance report, in public preview since 10 February 2026. It shows total citations, "the total number of citations that are displayed as sources in AI-generated answers during the selected time frame", plus the grounding queries, "the key phrases the AI used when retrieving content that was referenced in AI-generated answers".

Add IndexNow while you are there. It needs a UTF-8 text file named {your-key}.txt at the site root containing the key, 8 to 128 characters, and a GET to https://<searchengine>/indexnow?url=url-changed&key=your-key for each updated URL. A pass is the key file returning 200 and the report showing data. A fail is an unverified site and a "no data" screen.

What do the six content checks look for on a page?

They look for what an editor checks before quoting a source: a question in the heading, an answer under it, a number, a consistent name, a source and a date, and enough text to be worth lifting. Pick five pages (three articles, a service page, pricing) and count.

Point 6, question-shaped headings. Open view-source, search for <h2 and <h3, and count how many end in a question mark or start with a question word (how, what, why, which, can, should, does, is). The checker passes at 30% and gives a partial at 10%. A heading that reads "Our approach" matches no buyer's sub-query.

Point 7, answer-first sections. Read the first paragraph under each H2. The checker passes when 60% of H2s are followed by a paragraph of 15 to 90 words, partial at 30%. If that paragraph opens with background, the engine quotes the background instead of the answer.

Point 8, facts stated directly. Count percentages, prices, dates and numbers with units in the main text, then divide by the word count. The checker wants 8 per 1,000 words for a pass and 3 for a partial. "Plans start at a level that works for most teams" counts zero.

Point 9, consistent entity names. Compare og:site_name, the name in your Organization JSON-LD, and the title tag suffix. The checker takes the most common spelling as the reference and passes only when every page matches it, partial at 60%.

Point 10, sources and dates. Count links to other domains inside the article body only. The checker wants a median of 3 for a pass and 1 for a partial. For dates it looks for a visible date near the top or a machine-readable one in JSON-LD or a <time> element on 60% of articles, and for something updated within 90 days (365 is a partial). A named author on 60% of articles plus an about page completes the set.

Point 11, table, FAQ and depth. Search the source for <th>; a table without a header row does not count. Search for FAQPage JSON-LD or a heading containing "FAQ". Then word-count the main text: the checker passes at a median of 800 words per article, partial at 400, and counts pages under 300 as thin.

What the 209-vendor test said about these six: inside the same answer, FAQ (r 0.22), a named author with an about page (0.22), depth (0.21), tables (0.19) and visible dates (0.16) separated cited from uncited vendors. Organization schema (0.02) and the bot-versus-browser comparison (-0.09) did not. Answer-first paragraphs (0.05) did not either, which I put down to my check being too crude. Cited vendors scored 4.1 points higher than the uncited vendors in the same answer.

Semrush's study of 14 January 2026 points the same way. Across 11,882 prompts on ChatGPT Search, Google AI Mode and Perplexity, the parameters with the largest impact were clarity and summarization at +32.83%, EEAT at +30.64% and Q&A format at +25.45%, with non-promotional tone at -26.19%. Their impact figure is the percentage difference between their positive and negative scores, so read it as direction rather than a citation lift.

Bing wrote GEO into its webmaster guidelines in February 2026. As Search Engine Journal reported on 27 February, the guidelines describe GEO as "focused on content eligibility for grounding and reference in AI responses" and add that "GEO doesn't guarantee citations". I could not open the Bing page itself this week.

How do I measure whether any of it worked?

Three free sources, each seeing a different engine. Bing's AI Performance report gives you citation counts across Copilot and Bing. Google Search Console folds AI Overview impressions into the Web report, so you watch the impressions-to-clicks ratio on a fixed query set. A panel of buyer prompts, run by hand and logged in a sheet, covers ChatGPT, Perplexity and Gemini, which neither vendor reports. The method is in how to measure AI search visibility without a paid tool.

The audit sets the baseline on day one, so that in 90 days there is a number to compare. Mine: on 16 October 2026 the GMS panel ran 48 buyer prompts through Perplexity and Gemini, and got through 35 of the 60 Google AI Overview prompts before a captcha stopped the run. ChatGPT was not run that day. growthmarketing.solutions was cited in none of them. The domains cited most were reddit.com in 37 prompt-engine pairs, linkedin.com in 31 and youtube.com in 12. Zero is the baseline, and the day-90 target I set is 8 of the 48 prompts.

How long does a GEO audit take, and what do you get?

An afternoon for the first pass, a week for the paid version. This is the order I ran it on my own site.

  1. Fetch test on three URLs with curl: homepage, one service page, your best article. If any fail, stop and fix that first.
  2. Open robots.txt and check the four search bots. Then fetch the homepage as OAI-SearchBot and PerplexityBot and compare the body to a browser fetch.
  3. Search the homepage and five content pages for noindex, nosnippet and max-snippet. Run URL inspection on the same six.
  4. Verify in Bing Webmaster Tools, open AI Performance, drop the IndexNow key file at the root and submit your sitemap URLs once.
  5. Score five pages against the six content checks with the thresholds above. Write the count next to each.
  6. Run the baseline panel: a fixed list of buyer prompts, logged with the cited domain per answer. Keep the list unchanged for a quarter.
  7. Write the fix list in audit order: blockers first, then the content check with the lowest count on the page with the most traffic.

The paid version adds what an afternoon cannot: the 22-check crawl on up to 8 pages with bot probes from a server, a prompt panel built for your category and run before the audit, a fix list ordered by points lost, and the measurement handed over so the day-90 comparison is yours to run.

I do this as the AI Search Audit, from $2,000, 1 week, for B2B SaaS and professional services companies whose Google traffic has fallen since AI Overviews rolled out. The first step costs nothing: run the free readiness check, and I run a prompt panel in your category before any quote. Pricing is at /pricing.

Is your site readable by AI search?

Run the free readiness check, or book a call if you want me to look at your category.

FAQ

Can I run a GEO audit myself for free?

Yes, the first pass takes an afternoon. The five access checks need curl or a browser with JavaScript off, your robots.txt, view-source and the free Google Search Console and Bing Webmaster Tools accounts. The six content checks are counts you can do by hand on five pages. My free readiness check at growthmarketing.solutions/ai-search-readiness-check runs 22 checks covering these points on up to 8 pages in 45 seconds if you'd rather not count.

Does blocking GPTBot stop ChatGPT from citing my site?

No. OpenAI runs two separate crawlers. GPTBot collects training data, and OAI-SearchBot is the one that surfaces sites in ChatGPT's search features. OpenAI's documentation says the two settings are independent, so you can disallow GPTBot and still be cited as long as OAI-SearchBot is allowed. Robots.txt changes take about 24 hours to be picked up.

Does my Lovable, Webflow or React site pass the crawl test?

Only if the page text is in the HTML the server sends. A client-rendered React or Lovable app sends a head, a script tag and an empty root div, which is what my own homepage returned on 15 October 2026. Vercel's crawler data shows none of the major AI crawlers render JavaScript. Fetch a page with curl and search the result for a sentence from the visible page; if it is missing, you fail. A static build step for content pages fixed it on my site in one working day.

What does an AI readiness score of 80 mean?

It means the site clears the readiness checks: engines can read it and there is something on the pages worth quoting. It does not mean you will be cited. In my 209-vendor test the overall score had no relationship with being cited when all vendors were pooled, because the prompt category and brand size decide most of it. Treat 80 as the floor to clear before content work, and measure citations separately.

How much does a GEO audit cost?

My AI Search Audit is from $2,000 and takes 1 week. It covers the 12 points in this article on your site, a prompt panel in your category run before the audit, and a fix list ordered by what blocks citation before what improves it. The first pass, the free readiness check and the crawl test, costs nothing and tells you whether the paid version is worth it.

Sources

  1. OpenAI, Overview of OpenAI crawlers developers.openai.com
  2. OpenAI, GPTBot developers.openai.com
  3. Anthropic, Does Anthropic crawl data from the web, and how can site owners block the crawler? support.claude.com
  4. Perplexity, Perplexity crawlers docs.perplexity.ai
  5. Google Search Central, Google's common crawlers developers.google.com
  6. Google Search Central, AI features and your website developers.google.com
  7. Vercel, The rise of the AI crawler vercel.com
  8. Bing Webmaster Blog, Introducing AI Performance in Bing Webmaster Tools (Public Preview) blogs.bing.com
  9. IndexNow, Documentation indexnow.org
  10. Cloudflare, Cloudflare just changed how AI crawlers scrape the internet at large cloudflare.com
  11. Ahrefs, 38% of AI Overview citations pull from the top 10 ahrefs.com
  12. Semrush, How We Built a Content Optimization Tool for AI Search [Study] semrush.com
  13. Search Engine Journal, Bing adds GEO to official guidelines, expands AI abuse definitions searchenginejournal.com

Re-check by 2027-01-23