Score 0 to 100: Every AEO Signal We Measure and Why

Score 0 to 100: Every AEO Signal We Measure and Why
DIRECT ANSWER

The Website AI Score is a composite measure of how reliably an AI system can crawl, parse, chunk, embed, and retrieve the content on a URL. It's calculated from six independent signal categories, each targeting a distinct layer of a page's machine-readable infrastructure. This is the complete reference: what each signal measures, how it's weighted, what failure looks like at the page level, and what a validated fix produces. For the architecture behind it, see the audit engine breakdown.

1. Rendering (weight: high)

Rendering measures the difference in readable text between a standard HTTP GET and a simulated no-JavaScript crawl: does the page deliver its core semantic payload (headings, body, prices, product descriptions) in the raw server response, or only after client-side JavaScript executes? The engine makes two requests and calculates a content delta. Pages delivering 90% or more of readable content in the initial response score in the Optimized range; a delta above 40% (less than 60% present pre-hydration) fails, and core entity information missing pre-hydration is weighted more severely than supplementary content. Failure looks like a Next.js app in default CSR mode, an Angular SPA delivering only a root <app-root>, or a React site where all text is injected by useEffect() hooks post-mount. The fix is SSR or SSG (Next.js getServerSideProps/getStaticProps, Nuxt universal mode); after deployment the re-audit should show the delta collapsing to near zero, the mechanism in the empty shell audit.

2. Schema Validity (weight: high)

Schema validity runs three nested checks: presence of any structured-data markup, type specificity, and nesting integrity. Pages with zero schema score at the floor regardless of content quality; pages with generic schema (Organization with only name and url) score low-Readable; pages with specific types (TechArticle, Product, Service) and populated high-signal properties (knowsAbout, sameAs, mentions) score Optimized. Nesting integrity is a pass/fail gate: whether child objects like Offers and MerchantReturnPolicy are correctly attached to their parent Product, and it can cap the schema score even when type specificity is high. Failure looks like a SaaS homepage with no JSON-LD, a product page with a Product schema that has a name and image but no Offers object (price machine-unreadable), or an Article where author is a plain string rather than a Person entity with a URL. The fix is a type-specific JSON-LD block validated with Google's Rich Results Test before re-auditing.

3. Token Efficiency (weight: high)

Token efficiency is the ratio of semantically valuable tokens to structural noise (navigation, footer, un-stripped inline JS, decorative CSS class strings, tracking init code, repeated boilerplate). The engine strips defined noise categories and computes the ratio: above 0.65 scores Optimized, below 0.30 fails. It also checks first-content position, applying a 100-Token Rule penalty if the brand name, primary category, and primary value proposition don't appear within the first 100 readable tokens, regardless of overall ratio. Failure looks like a marketing site serving 180KB of Tailwind class strings and animation code before a 400-word body, or a page where the first text an AI encounters is the nav: "Home / Products / Blog / Contact / Login." The fix for the ratio is serving stripped HTML to bot user-agents via middleware (the approach in the token tax); the fix for the 100-Token Rule is opening <main> with a definition-style lede naming the entity, its category, and its function before anything else.

The relative weighting of the six AEO signals in the composite score: schema validity, token efficiency, and rendering carry the highest weights because they have the highest variance and the most direct impact on retrieval, entity clarity carries medium-high weight, crawl access carries medium weight, and semantic structure carries the lowest individual weight but acts as a multiplier that can cap the composite below the optimized threshold even when the other five score wellSignal Weighting in the CompositeSchema ValidityhighToken EfficiencyhighRenderinghighEntity Claritymed-highCrawl AccessmediumSemantic Structurelow + multiplier capa broken heading hierarchy caps the composite below Optimized regardless of the rest

4. Entity Clarity (weight: medium-high)

Entity clarity measures how well the brand on the page resolves as a distinct, unambiguous node in a knowledge graph: presence of sameAs properties linking to canonical authority nodes, author disambiguation on content pages, and name consistency between the page and external reference databases. Pages with no sameAs links score at the floor; each verified reference (Wikidata, LinkedIn, Crunchbase, Wikipedia) adds to the score, and three or more reach Optimized, with verified Person author links a secondary bonus. Failure looks like an Organization block listing only name and URL with no external corroboration, a multi-author blog where everything is attributed to "Admin," or a brand whose name is a common word with no disambiguation (an "Apex" with no sameAs links is indistinguishable from hundreds of others). The fix is claiming LinkedIn, Crunchbase, and Wikidata profiles and adding their URLs to your sameAs array, the entity home pattern.

5. Crawl Access (weight: medium)

Crawl access measures whether the page is reachable by AI crawlers per robots.txt and whether the site has an llms.txt, distinguishing intentional from unintentional blocking. A valid robots.txt explicitly permitting GPTBot, PerplexityBot, and ClaudeBot scores at the top; no robots.txt scores mid-Readable (accessible but without the explicit permission some crawlers treat as positive); blocking any major AI user-agent fails; a valid llms.txt at the root applies a bonus. Failure looks like a User-agent: * / Disallow: / rule pushed from staging, a security plugin's blanket deny, or a 2021 robots.txt with no rules for crawlers that didn't exist yet. The fix is explicit Allow: / rules per AI user-agent above any blanket disallow, plus deploying an llms.txt.

6. Semantic Structure (weight: medium, acts as a multiplier)

Semantic structure measures heading-hierarchy integrity and correct use of the semantic HTML elements chunking systems use as boundary signals: a clean H1 → H2 → H3 sequence with no skipped levels, use of <article>/<section>/<main> containers, and <details>/<summary> for Q&A patterns. A page with an unbroken hierarchy and at least one Q&A pattern scores Optimized; a jump from H1 to H4 fails, each break a discrete penalty. Failure looks like an H1 followed by H4 subheadings chosen for their small font size, or a long article with a single H1 and no sub-structure, making it one undifferentiated chunk, the boundary problem in sliding window chunking. The fix is replacing heading tags used for styling with CSS classes for font size and adding <details>/<summary> to Q&A content.

7. How the Signals Combine

The six signals are not weighted equally and the composite is not a simple average. Schema Validity, Token Efficiency, and Rendering carry the highest weights because they have the highest variance in the dataset and the most direct impact on whether a retrieval pipeline can produce a usable representation of the page. Entity Clarity and Crawl Access carry medium weights. Semantic Structure carries the lowest individual weight but acts as a multiplier: a page excellent across the other five but with a broken heading hierarchy sees its composite capped below the Optimized threshold. A score of 71 or above clears the structural barriers to citation; 85 or above indicates a page reliable enough to use as a primary source; 95 and above is rare and typically requires deliberate optimization of every category plus a GIST-compliant content strategy outside the scope of structural auditing, the discipline covered in the GIST explainer. Confirming each fix moved its own signal is the job of the validation loop.

See your score across all six signals

Free audit. One scan returns a per-signal breakdown with weights, current scores, and the exact remediation path for each failing category.

Get your signal breakdown →

The contrarian point hidden in the weighting: the signal most teams obsess over, semantic HTML hygiene, carries the lowest weight, yet it's the one that can silently cap an otherwise perfect page, while the signals that actually move the score, schema and token efficiency, are the ones developers treat as optional polish. The scoring is deliberately inverted from intuition because intuition was trained on a decade of SEO where headings and keywords were king. In the retrieval economy the machine doesn't reward tidiness, it rewards being parseable and cheap to read, and the page that wins is often uglier by human standards than the one that loses.


Reference Sources

GEO Protocol: Verified for LLM Optimization
Hristo Stanchev

Audited by Hristo Stanchev

Founder & GEO Specialist

Published on March 25, 2026