Skip to main content
The GEO Audit evaluates each URL across four independent dimensions:
  • whether AI agents can reach the page,
  • whether they can parse its structure,
  • whether the content itself is easy to process,
  • and whether the page exposes the integration signals modern AI agents look for.
Each dimension produces a score from 0 to 100. Run the audit on a set of URLs, then filter by score to identify the pages that need attention first.
In the platform sidebar this feature is listed under Audits as AI Readiness Audit; the page itself is titled GEO Audit. Both names refer to the same thing.
GEO Audit

GEO Audit dashboard

The four scores

Crawlability

Whether AI agents are allowed to reach the page.

Semantic

Whether they can parse its structure.

Readability

Whether the content is easy to process and summarise.

Discovery

Whether the page exposes the integration signals agents look for.

Crawlability

Measures whether AI agents are technically allowed to access the page. The audit checks robots.txt for each major AI crawler (GPTBot, ClaudeBot, Gemini Agent, PerplexityBot and others), verifies your llm.txt configuration, validates your sitemap, and checks for Link headers and Content Signals. It also records page response time, since slow responses can cause crawlers to time out. AI bot rules support wildcard handling — a single restrictive rule can block multiple agents at once. A low score means some or all AI agents may be blocked from reading the page entirely — regardless of how well-structured the content is.

Semantic

Measures how well the page is structured for AI parsing. AI systems don’t read pages the way humans do. They rely on HTML structure — headings, paragraphs, lists, tables — to understand what a page is about and how to extract information. A page that looks well-designed in a browser may have very little structure in its underlying HTML. The Semantic score evaluates the presence and quality of these structural elements, adjusted for the type of page being audited. A product page is expected to have a clear title and feature lists; a FAQ page is expected to have a Q&A structure. The score reflects whether the page meets those expectations. The audit also checks Markdown negotiation — whether the server can return content in Markdown format when an AI agent requests it via the Accept header. Markdown is increasingly preferred by AI agents for cleaner text extraction. It also checks for Schema.org JSON-LD structured data. Richer schema types (FAQPage, Product, HowTo, Article) are strong signals; generic types (WebPage, WebSite) are weak signals; no schema is a fail. The detected page type is shown as a badge next to the score. If the detection is incorrect, you can override it manually.

Content Coverage

At the bottom of the Semantic score panel, three metrics are shown:
  • Number of Words (JS included) — total word count of the page as rendered with full JavaScript.
  • Number of Words (without JS) — word count visible to AI crawlers without JavaScript. Compare this to the JS figure to gauge how much content is hidden behind client-side rendering.
  • Raw HTML Coverage — the percentage of raw HTML content that is also visible to AI crawlers. A score of 100% means all content in the raw HTML is accessible without JavaScript — not that 100% of the full page is AI-visible. Content loaded exclusively via JavaScript falls outside this comparison entirely.
A large gap between the two word counts, or a low Raw HTML Coverage score, is a strong signal that your page relies heavily on client-side rendering, which directly reduces AI citability.

Readability

Measures whether the content is easy for an AI system to process and summarise. The score looks at the language itself: sentence length, vocabulary complexity, reading grade level, and sentence structure. It also checks whether images have descriptive alt text — AI agents cannot interpret images without it. Content that is dense, highly technical, or relies on complex sentence constructions may be hard to summarise or cite, even if it is perfectly accessible and well-structured.

Discovery

Measures whether the page or domain exposes the integration signals that AI agents and agentic frameworks look for. This score goes beyond content accessibility. It checks whether your site publishes the machine-readable endpoints, authentication protocols, and agent capability declarations that allow AI systems to interact with it programmatically — not just read it. Discovery data is sourced from Is It Agent Ready?, a free tool by Cloudflare that scans your site against multiple emerging agentic standards to measure AI agent readiness. The audit checks two groups of signals: Bot Access Control
  • Web Bot Auth signing — whether the domain supports authenticated bot access using the Web Bot Auth protocol
API, Auth, MCP & Skills
  • API catalog (RFC 9727)
  • OAuth/OIDC discovery
  • OAuth Protected Resource metadata
  • MCP Server Card
  • Agent Skills index
  • WebMCP
Each check returns pass, fail, or neutral. Neutral checks (where the standard is not applicable to the page type) contribute a partial score rather than counting as failures.

AI Recommendations

Each audit includes an AI Recommendations panel that synthesises the four scores into a plain-English summary and a prioritised action list. The summary tells you how the page performs overall and where the most impactful opportunity lies. The recommendations below it are specific and ordered by impact — so if you can only fix one thing, you fix the right one first.

Reading the results

Each URL shows all four scores side by side. You can sort and filter by any score to prioritise fixes. The panel below each score lists the specific issues found and what to do about them — most actionable first.
A page can score well on Crawlability but poorly on Semantic, Readability or Discovery. All four matter for AI citation: the agent needs to be able to reach the page, understand its structure, and process its content, and ideally interact with your site through standard protocols.

Common patterns

The page is accessible but poorly structured. Common on pages built with heavy client-side rendering, where visible content is generated by JavaScript and absent from the raw HTML. Improving server-side rendering or adding structured HTML markup typically resolves this.
The page has good structure but the content is difficult to process — common on legal, medical or highly technical pages. Add a plain-language summary or break long sentences into shorter ones.
Usually caused by an overly restrictive robots.txt that blocks AI crawlers as a group. Review your bot access policy and explicitly permit the agents you want to allow.
Note that wildcard rules can unintentionally block multiple crawlers at once.
If the block is at the network level rather than in robots.txt — an error or a score of 0 on every URL — see Access, firewalls and whitelisting.
The site has not yet published agent integration standards. Start with the MCP Server Card and OAuth/OIDC discovery endpoints — these unlock the highest point value in the Discovery scoring matrix.

Access, firewalls and whitelisting

Two parts of the audit reach your site with automated requests: the Discovery score, which probes your agent-integration endpoints, and the AI View screenshot capture. If your firewall, CDN or bot-management layer blocks that traffic before it reaches the page, Discovery shows N/A (or a score of 0) and the AI View screenshot fails. A common reaction is to ask your security team to whitelist the audit — by IP address or by user-agent. Neither approach solves the problem the score is measuring, and both distort the results.

Why IP whitelisting doesn’t help

Whitelisting the audit’s IP addresses only proves that you have opened a door for one specific source. It does not prove your site is reachable by AI models in general — GPTBot, ClaudeBot, PerplexityBot, Gemini Agent and the rest each connect from their own, frequently changing IP ranges under their own user agents, none of which are covered by an exception made for the audit.
Whitelisting the audit also invalidates the results. “Agent-ready” means your site accepts AI bots as a matter of policy — not through a hardcoded exception for a single scanner. A green score obtained this way gives you false confidence while real AI agents remain blocked.

Why user-agent whitelisting isn’t a security measure

Authorising bots by user-agent is not a security control. User-agent strings are trivial to spoof: any client can claim to be ClaudeBot, GPTBot, the audit, or anything else. Allowing traffic on that basis creates a false sense of security while letting any actor impersonate the identity you whitelisted — and it still tells you nothing about whether AI agents can reach your site by policy. It also won’t unblock the full audit anyway. The audit probes your site from several angles — checking different standards and endpoints, and testing how your site responds to the crawlers AI models actually use. Whitelisting one user-agent won’t let all of those checks through, so your scores will stay incomplete even after the exception is in place.

What to do instead

The real question is a policy decision for your team: do you want to broadly allow AI access, or maintain your current blocking posture deliberately? Broadly allowing AI access requires different firewall and bot-management rules — permitting AI crawlers as a class — rather than per-source exceptions. Broad authorisation is the only approach that reliably works today. Most AI agents don’t announce themselves as AI, and neither user-agent nor IP can prove a request comes from a genuine AI model — both are trivially forged. The one mechanism that does provide verifiable bot identity is cryptographic signing (Web Bot Auth), which the Discovery score already checks — but adoption is still emerging, so gating access on it today would block most legitimate agents. Until signed-bot support is widespread, any allow rule that depends on proving a caller’s identity will either block real agents or be trivially bypassed. If you want AI models to reach your content, allow the traffic broadly rather than trying to admit “only real AI”.

If you whitelist anyway

Whitelisting is a temporary testing measure — pair it with a broad bot-access policy, not an IP exception, and don’t mistake it for your actual agent-access policy. If you still want to whitelist each part of the audit, allow the following.

Discovery score

Allow this user agent:

AI View screenshot capture

Allow this user agent:
…and requests from the following IP addresses, grouped by region.

What’s next

Asset Evaluation

Score creative assets against brand attributes.

Search Visibility

Track domain and brand presence across engines.