The score
AI readiness is one 0-100 agent-operability number, computed by deduction and renormalized over the signals that are applicable to the site and actually measured. There is no letter grade: Site health owns A-F in Crawle, and a second letter scale would collide with it.
- Six scored signals carry the weight. For an ecommerce site they sum to 100 points: agent accessibility 28, AI search access 22, server-side content 18, structured data and semantics 12, product data and checkout operability 12, layout stability 8.
- Each signal deducts whole points from its weight; the score is 100 minus the deducted share of the measured maximum.
- Signals that do not apply (Transact on a blog) or are not measured yet (CLS before any pages have rendered) drop out of the denominator. They never count as zero and never silently inflate the number.
- The page always shows how many applicable signals were measured — 'N of M' — so measurement coverage sits next to the score.
The four pillars
Each pillar answers one question about what an agent can do with the site. Every component row shows its mechanism, its evidence, and its deduction math.
- Reach — can an agent get the bytes. Per-bot robots.txt evaluation for 17 AI crawlers by class. Only search-index bots and assistant fetchers deduct points; training and opt-out rows are neutral evidence, because blocking training bots is a policy choice. A missing robots.txt (404) counts as full access; one Crawle could not fetch (5xx) makes the signal not measured — access is never awarded for a file Crawle never saw.
- Understand — can an agent parse the content. Raw-vs-rendered word share (most AI crawlers execute no JavaScript; Google's is the exception), JSON-LD presence and type coverage, and heading structure.
- Operate — can an agent act. A heuristic name/role/state census of interactive controls on the page as crawled — not an axe audit — plus lab CLS p75 on rendered pages, because a control that shifts between observing and clicking causes mis-clicks.
- Transact — can an agent buy (ecommerce only). Product and Offer JSON-LD completeness — price, availability, return policy, identifiers — plus the accessible-name and CLS checks scoped to cart and checkout URLs.
Site types
Site-type detection runs at site level, not per URL, so the Transact group switches on or off once and the score renormalizes cleanly.
- A site classifies as ecommerce when a shop platform is detected — Shopify, WooCommerce, Magento, BigCommerce, and others — or when product schema coverage and cart/checkout URL patterns both point that way.
- Classification is sticky: the thresholds for entering and leaving ecommerce differ, so a borderline site does not flip type — and jump score — from crawl to crawl.
- The page shows the detected type with its confidence next to the score. Detection can be overridden per site — currently via site settings or support.
- A site-type change never fires a false score-drop alert: alerting disarms until a snapshot with the new signal set exists.
Forward-looking signals
llms.txt, WebMCP, and the UCP/AP2 agentic-commerce manifests are collected and shown, but never scored: presence earns a future-ready marker, absence never deducts, and none of them can fire a score alert.
- llms.txt: Google Search does not use the file, and in Ahrefs' May 2026 study 97% of valid llms.txt files received zero AI crawler fetches. Crawle records presence as a badge only.
- WebMCP: a Chrome origin trial in 2026. Crawle reports it as not-checked unless site adoption can actually be verified, rather than misreporting browser capability as site support.
- UCP and AP2: nascent agentic-commerce standards with pilot deployments. Crawle probes the well-known endpoints and shows presence as early-adopter recognition.
- ACP (ChatGPT shopping) leaves no public trace a crawler can verify; Crawle shows a labeled proxy likelihood from platform and schema signals, never a confirmed enrollment.
- The reasoning: deducting points for standards with near-zero adoption would penalize the whole industry for specs nobody ships yet. When adoption becomes real, a signal can graduate to scored through a versioned change that cannot produce a false drop alert.
Alerts
One aggregate score-drop alert plus the existing per-bot robots.txt access alert, wired so the same root cause never notifies twice.
- Baseline: the highest score across the last seven daily snapshots that measured the same signal set. A slow decline cannot re-baseline itself downward.
- Arming: the alert only compares like with like. When measurement coverage or the site type changes the signal set, alerting disarms until a snapshot with the new set exists — about one night's grace instead of a false alarm.
- Threshold: a drop of 10 or more points below baseline by default, with per-site presets at 5, 10, and 20 points.
- Timing: robots.txt-driven changes are evaluated on the robots poll path and can fire within about a minute; everything else is evaluated when the next crawl data arrives.
- Robots relationship: the per-bot access change alert — 'robots.txt started blocking OAI-SearchBot' — stays the primary warning. A score drop fully attributed to that same robots.txt change is demoted to informational and cross-references it, so acknowledging the root cause does not leave a second warning open.
- Recovery: the incident resolves when the score climbs back within half the threshold of baseline. Forward-looking badges are structurally unscored, so they can never trigger a score alert.