Agent Ready HTML

Ora's Access layer: 42 checks and the pass rates Ora publishes

In short

Ora's catalogue lists 42 Access-layer checks worth 30 of its 100 points. Content without JavaScript reads 49.9 percent on Ora's passRate field across 141,709 results, llms.txt exists 92.9 percent and markdown agent docs 95.8 percent. Ora also publishes a stricter rate, lower for most checks.

The check we recommend

Ora's scan. Its Access layer runs 42 checks worth 30 of its 100 points, from content without JavaScript to markdown on request. Every check is listed at ora.ai/api/checks with its tier, and 25 of the 132 with a spec link. Reads need no key and no sign-up (Ora's pricing page, read 5 November 2026).

Ora reads public URLs only, says two runs of one scan land within a couple of points without publishing repeat-scan data, and keeps the product that fixes what it finds behind a waitlist.

Ora scores a site in four layers. This page covers the second, Access, which holds the behaviours the Plain Fetch viewer shows: whether content arrives without JavaScript, whether bot protection lets agents in, and whether llms.txt, markdown, JSON-LD and the sitemap are there. The catalogue below is a saved GET of Ora's public check list, contract 1.38.0, read on 5 November 2026.

The four layers

Ora's layers and check counts, 5 November 2026
LayerPoints of 100Checks
Discovery2016
Access3042
Usability4068
Payments106

The Access layer holds 42 of the 132 checks: 15 required tier, 14 recommended and 13 emerging. Ora's llms.txt says each check carries a tier that never changes the score, and that verified checks count toward it while emerging checks are shown but excluded.

The read-layer checks and their pass rates

These 19 checks are the ones a plain-fetch client can feel. The two rate columns are the passRate and passRateStrict fields of Ora's GET /api/stats for each check. The pages read do not say what the second counts, so both are shown, and the gap is not explained here: passRateStrict is lower than passRate for 44 of the 46 Access-layer rows.

Ora's published pass rate for ten read-layer checksContent without JavaScript49.9%Not blocked by bot detection87.8%Agent crawler reachability87.9%llms.txt exists92.9%llms.txt formatting90.0%JSON-LD structured data62.8%Markdown agent docs95.8%Sitemap exists99.7%Redirect hygiene91.1%Page token budget91.5%0%25%50%75%100%Ora's published pass rate for ten read-layer checksContent without JavaScript49.9%Not blocked by bot detection87.8%Agent crawler reachability87.9%llms.txt exists92.9%llms.txt formatting90.0%JSON-LD structured data62.8%Markdown agent docs95.8%Sitemap exists99.7%Redirect hygiene91.1%Page token budget91.5%0%25%50%75%100%
The passRate field of Ora's GET /api/stats for ten Access-layer checks, read 5 November 2026. Found is the passing share of the results Ora counts for that check. Solid is passing, pale with an outline is not passing.
Text equivalent of this chart
Ora checkPassingOfPassing shareNot passing
Content without JavaScript70,781141,70949.9%70,928
Not blocked by bot detection124,406141,70987.8%17,303
Agent crawler reachability124,534141,70987.9%17,175
llms.txt exists131,583141,70992.9%10,126
llms.txt formatting127,505141,70990.0%14,204
JSON-LD structured data88,987141,70962.8%52,722
Markdown agent docs135,775141,70995.8%5,934
Sitemap exists141,281141,70999.7%428
Redirect hygiene127,209139,68591.1%12,476
Page token budget127,852139,68591.5%11,833
Ora's published pass rates for the read-layer checks, 5 November 2026
CheckPointsTierpassRate %passRateStrict %Results counted
Content without JavaScript3required49.941.3141,709
Not blocked by bot detection2required87.884.7141,709
Agent crawler reachability2recommended87.982.4141,709
llms.txt exists1required92.942.8141,709
llms.txt formatting2recommended90.032.9141,709
llms.txt links resolve2recommended32.429.1139,685
Markdown agent docs1emerging95.832.2141,709
Markdown content negotiation (acceptmarkdown.com)1recommended, bonus99.326.9141,709
Markdown URL fallback2emerging, bonus97.95.8141,709
Markdown alternate link1emerging, bonus91.07.3139,685
Bot-UA markdown serving1emerging, bonus96.11.0139,685
JSON-LD structured data4required62.833.5141,709
Sitemap exists2required99.777.3141,709
Redirect hygiene1recommended91.190.8139,685
Page token budget1recommended91.591.5139,685
Code fence validity1emerging42.842.8139,685
Content behind auth2recommended69.769.6139,685
OpenAPI spec published7required63.77.5141,709
Metadata completeness2required56.455.0141,709

Content without JavaScript, the check closest to the viewer's H1 and 200-word flags, reads 49.9 percent on passRate (70,781 of 141,709 results). llms.txt exists reads 92.9 percent on passRate and 42.8 on the stricter rate, and markdown agent docs read 95.8 and 32.2. This site's own crawl measured 27.4 percent of home pages serving a plain-text llms.txt, which sits near the stricter figure; the two measures are different samples and different tests.

All 42 Access-layer checks

5 of the 42 name a spec. Bonus checks add points when earned and are left out of the denominator when not.

Every Access-layer check in Ora's catalogue, contract 1.38.0
CheckPointsTierMaturityBonusSpec
Sitemap exists2requiredverified
Content without JavaScript3requiredverified
Not blocked by bot detection2requiredverified
Agent discovery file2requiredverified
Agent Skills index conformance (v0.2.0)2emergingemergingbonus
A2A / agent-card2recommendedverifiedbonus
Listed on skills.sh1emergingemerging
pricing.md exists2emergingemerging
NLWeb Schema Feeds1emergingemerging
MCP well-known discovery2recommendedverifiedbonus
Agent mode view2emergingemergingbonus
HTTP Link headers (RFC 8288)1requiredverifiedbonus
Markdown URL fallback2emergingemergingbonus
Modular llms.txt per product area1emergingemergingbonus
Sitemap freshness (lastmod)1recommendedverifiedbonussitemaps.org
robots.txt agent-user policy2requiredverified
llms.txt exists1requiredverified
llms.txt formatting2recommendedverified
JSON-LD structured data4requiredverified
Pricing info accessible3requiredverified
Public API/docs linked from homepage3requiredverified
Agent instruction / when-to-use3requiredverified
Skills.sh skill quality2emergingemerging
JSON-LD entity linking (sameAs)2recommendedverified
Metadata completeness2requiredverified
Organization schema completeness2recommendedverified
Schema type breadth2recommendedverified
Trust anchor pages2requiredverified
llms.txt links resolve2recommendedverifiedllmstxt.org
Markdown alternate link1emergingemergingbonusrfc-editor.org
Markdown frontmatter metadata1emergingemerging
Redirect hygiene1recommendedverifiedrfc-editor.org
Page token budget1recommendedverified
Code fence validity1emergingemergingspec.commonmark.org
Content behind auth2recommendedverified
OpenAPI spec published7requiredverified
Developer portal6recommendedverified
API catalog (RFC 9727)2requiredverifiedbonus
Markdown agent docs1emergingemerging
Markdown content negotiation (acceptmarkdown.com)1recommendedverifiedbonus
Bot-UA markdown serving1emergingemergingbonus
Agent crawler reachability2recommendedverified

What Ora scored in the llms.txt Index

248 of the 400 domains in the llms.txt Index have a cached Ora score, with scan dates from 19 April 2026 to 5 November 2026. The domains were chosen because they publish an llms.txt, so they are not a sample of the web. Their statuses on the seven checks below come from the cached reports, and each scored index entry shows the score and links Ora's report for the domain. Each row adds up to the Domains column: pass, partial, fail, not applicable and error are every status Ora returned for the check.

Statuses of seven Access-layer checks across the scored index domains, cached reports read 5 November 2026
CheckPassPartialFailNot applicableErrorDomains
Content without JavaScript561671008241
Not blocked by bot detection205191034241
llms.txt exists21732100241
llms.txt formatting132852400241
Markdown agent docs73016116241
JSON-LD structured data81985705241
Sitemap exists20813200241

Why this site recommends Ora's scan for the layer

The viewer reads one page. For a whole site the check we recommend is Ora's scan, for reasons that can be read on Ora's own pages. Every check is listed with its tier, maturity and, for 25 of the 132, a spec link (/api/checks). Reads need no key and no sign-up, and scans are limited to ten a minute (Ora's pricing page). A cached score can be read before anything is scanned, with GET /api/score/{domain}, and npx ax@0.10 audit <url> --min-score <n> fails a build below a chosen score (Ora's llms.txt).

The scores on this page are Ora's readings on the dates shown, and this site has not re-run them. Ora's limits are printed beside the recommendation. Cloudflare's scanner at isitagentready.com and Mintlify's score for documentation are the other whole-site checks this site's pages point to.

Cite this: Agent Ready HTML. Ora Access layer: check by check. Edition 2026-11-04. https://agentreadyhtml.com/ora-access-layer/

Sources

  1. Ora check catalogue, contract 1.38.0 https://ora.ai/api/checks, read 5 November 2026
  2. Ora statistics (pass rates per check) https://ora.ai/api/stats, read 5 November 2026
  3. Ora pricing (reads need no key) https://ora.ai/pricing, read 5 November 2026
  4. Ora llms.txt (CLI, cached score lookup, public URLs only) https://ora.ai/llms.txt, read 5 November 2026
  5. Ora home page (the fixing product is behind a waitlist) https://ora.ai/, read 5 November 2026
  6. Ora: Introducing Deep Scan (repeat scans) https://ora.ai/blog/introducing-deep-scan, read 5 November 2026
  7. The crawl dataset (this site) https://agentreadyhtml.com/data/, read 4 November 2026

Last reviewed 5 November 2026