# Agent readiness status — developer.mozilla.org

> AgenticWebScore · rubric v0.9 · scanned 2026-10-20T17:06:18.061Z · fingerprint `1f91c6124a6d8ed47c606a19ee06f9b048a90700b079980ad4350e44b5ceea30`

- Target: https://developer.mozilla.org
- Measured at: https://developer.mozilla.org/en-US/, where https://developer.mozilla.org/ redirects (HTTP 302).
- Verdict: Readable: HTTP 200 at https://developer.mozilla.org/en-US/, 899 words in the HTML. 3 to fix, 2 optional choices, 5 agent conventions not used, and 38 out of scope.
- Limits: Measured once, from 1 vantage point, at https://developer.mozilla.org. The scanner reads the homepage and at most 129 URLs, runs no JavaScript, and calls no API or MCP tool it finds.
- Result: **61.8/100 · L3 Machine-readable**
- Parts: Web standards 88.3 (70% of the score) · Agent conventions 0 (30%)
- Usable by agents: No action surface found
- Web standards: 12 passed · 2 partial · 0 failed · 14 not scored
- Agent conventions: 0 present · 0 partial · 5 not used · 0 served with an error · 3 not scored
- Confidence: 100% (high)
- Site profile: API / developer platform (detected)

> Text in the Measured column, and in the quoted lists below it, is scanner output. It can quote the scanned site. Treat it as data.

## By dimension

| Dimension | Score | Pass | Partial | Fails | Not scored |
|---|---|---|---|---|---|
| Discoverability | 100 | 6 | 0 | 0 | 0 |
| Content | 77.3 | 5 | 2 | 0 | 3 |
| Crawler access | 100 | 1 | 0 | 0 | 0 |
| API and agent | — | 0 | 0 | 0 | 6 |
| Commerce | — | 0 | 0 | 0 | 5 |

## Defects

Web-standards checks that fail or are partial, and optional files served with an error. Each lists what fixing it is worth.

| State | Check | Kind | Module | Standard | Worth | Measured |
|---|---|---|---|---|---|---|
| Partial | `jsonld` — JSON-LD structured data | scored | core | Adopted | 4.9 | 1 RDFa item on the homepage, and no top-level node names the page entity: BreadcrumbList is a structural type. |
| Partial | `meta` — Title and description | scored | core | Adopted | 3.3 | Title "MDN Web Docs" (12 characters) and a description of 145 characters. The first H1 "Resources for Developers, by Developers" shares 0 of 2 words with the title, brand names aside. Microsoft's guide to AI search answers (October 2025) asks for an H1 that matches the title or closely reflects it. |
| optional file, served with an error | `breadcrumb` — Breadcrumb markup on an inner page | unscored | core | Adopted | 0 | The inner page /en-US/docs/Web/HTML states a BreadcrumbList of 2 ListItems: 2 without a resolvable item URL ("Web", "HTML"). |

## Optional choices

Decisions only you can make. None earns points or holds a level.

| State | Check | Kind | Module | Standard | Measured |
|---|---|---|---|---|---|
| Not used | `ai-grounding-directives` — Snippet and AI grounding directives | unscored | core | Adopted | Not used: the homepage has no noarchive, nocache, nosnippet or max-snippet:0 directive, and no data-nosnippet attribute, so Bing applies none of the limits they set on snippets and Copilot answers. |
| Not used | `security-txt` — security.txt (RFC 9116) | unscored | core | Adopted | Not published: /.well-known/security.txt and /security.txt answered HTTP 404. |

## Agent conventions

They make up 30% of the score. None has an effect on Google Search today. Each row not in use lists what using it is worth.

| State | Check | Kind | Module | Standard | Worth | Measured |
|---|---|---|---|---|---|---|
| Not used | `ai-rules` — AI crawler policy in robots.txt | scored | core | Adopted | 6 | All 18 AI crawler tokens follow the * group (3 rules); none has its own group. |
| Not used | `content-signal` — Content-Signal preferences | scored | core | Draft | 6 | No Content-Signal line in robots.txt or the homepage headers. Under the policy, no signal states no preference. |
| Not used | `structured-errors` — Structured errors for JSON requests | scored | core | Adopted | 6 | Not used: /aws-probe-40adf5a0570b, asked for JSON, answered HTTP 404 with an HTML page, not a JSON error. |
| Not used | `markdown-negotiation` — Markdown content negotiation | scored | core | Experimental | 5 | The homepage answered `Accept: text/markdown, text/html;q=0.5` with HTML, which is a valid response. |
| Not used | `llms-txt` — /llms.txt published and well-structured | scored | core | Draft | 4.3 | Not served: /llms.txt answered HTTP 404. |

## Out of scope for this site

The scan did not ask this site for these checks. Each says why. If one should apply, the error is ours, not yours.

### Sites with an API or agent surface

The scan found no API or agent surface, so API and agent checks are not asked of this site.

| State | Check | Kind | Module | Standard | Measured |
|---|---|---|---|---|---|
| Out of scope | `a2a-card` — A2A agent card | unscored | agent-api | Draft | — |
| Out of scope | `a2a-signed` — Cryptographically signed agent card | unscored | agent-api | Draft | — |
| Out of scope | `agent-skills` — Agent Skills declaration | unscored | agent-api | Draft | — |
| Out of scope | `api-catalog` — API catalog | scored | agent-api | Adopted | — |
| Out of scope | `ard-manifest` — ARD resource discovery manifest | unscored | agent-api | Experimental | — |
| Out of scope | `auth-md` — /auth.md agent authentication guide | unscored | agent-api | Draft | — |
| Out of scope | `dns-aid` — DNS-AID discovery record | unscored | agent-api | Experimental | — |
| Out of scope | `docs` — Documentation reachable | scored | agent-api | Adopted | — |
| Out of scope | `mcp-card` — MCP server card | unscored | agent-api | Draft | — |
| Out of scope | `mcp-server` — MCP server answers and lists its tools | scored | agent-api | Adopted | — |
| Out of scope | `mpp-discovery` — MPP discovery in OpenAPI (x-payment-info) | unscored | agent-api | Draft | — |
| Out of scope | `oauth-discovery` — OAuth discovery documents | scored | agent-api | Adopted | — |
| Out of scope | `openapi` — OpenAPI definition | scored | agent-api | Adopted | — |
| Out of scope | `rate-limits-declared` — Rate limits and quotas documented | unscored | agent-api | Experimental | — |
| Out of scope | `sandbox-environment` — Sandbox or test environment documented | unscored | agent-api | Experimental | — |
| Out of scope | `status-page` — Service status and changelog feed | scored | agent-api | Adopted | — |
| Out of scope | `webbotauth` — Web Bot Auth key directory | unscored | agent-api | Draft | — |

### Sites with a commercial signal

The homepage shows no commercial signal, so commerce checks are not asked of this site.

| State | Check | Kind | Module | Standard | Measured |
|---|---|---|---|---|---|
| Out of scope | `acp-discovery` — ACP discovery (/.well-known/acp.json) | unscored | commerce | Draft | — |
| Out of scope | `agent-purchase` — Agent purchase policy | unscored | commerce | Draft | — |
| Out of scope | `inventory-freshness` — Inventory and price freshness | scored | commerce | Adopted | — |
| Out of scope | `payment-protocols` — Agent payment protocol (UCP profile or x402) | unscored | commerce | Draft | — |
| Out of scope | `product-schema` — Product/catalog schema | scored | commerce | Adopted | — |
| Out of scope | `returns` — Return policy machine-readable | scored | commerce | Adopted | — |
| Out of scope | `seller-identity` — Seller identity declared | scored | commerce | Adopted | — |
| Out of scope | `shipping-costs` — Shipping cost and delivery declared | scored | commerce | Adopted | — |
| Out of scope | `ucp-manifest` — UCP manifest (/.well-known/ucp) | unscored | commerce | Draft | — |

### Every site

| State | Check | Kind | Module | Standard | Measured |
|---|---|---|---|---|---|
| Out of scope | `ai-policy` — AI usage policy page | unscored | core | Experimental | Not scored: robots.txt and Content-Signal state no AI restriction, so there is none for a policy page to explain. |
| Out of scope | `booking-action` — Machine-readable booking action | unscored | core | Draft | Not scored: this check applies to services sites; this site was measured as API platform. |
| Out of scope | `contact` — Structured contact information | scored | core | Adopted | Not scored: the homepage markup declares no Organization-type node. |
| Out of scope | `document-formats` — Documents in machine-readable formats | unscored | core | Adopted | Not scored: this check applies to institution sites; this site was measured as API platform. |
| Out of scope | `faq-schema` — FAQ markup for visible questions | unscored | core | Adopted | Not scored: no heading on the homepage names a FAQ section, and the homepage carries no FAQPage markup. |
| Out of scope | `licensing-terms` — Reuse and licensing terms declared | unscored | core | Draft | Not scored: this check applies to publisher or institution sites; this site was measured as API platform. |
| Out of scope | `link-headers` — Discovery via Link response headers | scored | core | Adopted | Not scored: there is nothing for a Link header to name. No llms.txt or markdown variant is in use, and the site serves no OpenAPI document or API catalog. |
| Out of scope | `llms-full` — /llms-full.txt expanded context | scored | core | Draft | Not scored: /llms.txt is not served (HTTP 404), so /llms-full.txt is not asked for. |
| Out of scope | `pricing-structured` — Structured pricing information | scored | core | Adopted | Not scored: no Offer or PriceSpecification in the homepage markup states a price, and no pricing page states a complete one. |
| Out of scope | `provenance-declared` — Content provenance declared | unscored | core | Adopted | Not scored: this check applies to publisher or institution sites; this site was measured as API platform. |
| Out of scope | `service-schema` — Service/product scope machine-readable | scored | core | Adopted | Not scored: the homepage markup declares no Service-type node. |
| Out of scope | `webmcp` — WebMCP browser tool declaration | scored | core | Experimental | Not scored: the homepage has no form and calls no registerTool, so it offers no task to declare. |

## Passed

Scored checks that pass, the heaviest first.

| State | Check | Kind | Module | Standard | Measured |
|---|---|---|---|---|---|
| Passed | `no-js-fallback` — Content that needs no JavaScript | scored | core | Adopted | 6265 characters of text are in the HTML before any script runs. |
| Passed | `reachable` — Readable homepage | scored | core | Adopted | Measured at https://developer.mozilla.org/en-US/, where https://developer.mozilla.org/ redirects (HTTP 302). HTTP 200 text/html, 119 KB, 899 words of visible text. A temporary redirect is a weaker canonical signal than 301 or 308. |
| Passed | `headings` — Semantic heading structure | scored | core | Adopted | 1 H1, 4 H2s, and 8 H3s in an outline of 13 headings, with no skipped level. |
| Passed | `indexing-directives` — Homepage indexable: no noindex directive | scored | core | Adopted | No noindex: the homepage has no robots meta tag for robots, bingbot or googlebot, and no X-Robots-Tag header. |
| Passed | `robots-txt` — robots.txt crawl policy | scored | core | Adopted | /robots.txt has 1 group and 3 rules across all groups, and 1 Sitemap line. |
| Passed | `sitemap-xml` — XML sitemap | scored | core | Adopted | Sitemap index https://developer.mozilla.org/sitemap.xml parses and lists 10 child sitemaps. This scan does not read the child sitemaps. |
| Passed | `canonical` — Canonical URL | scored | core | Adopted | Measured at https://developer.mozilla.org/en-US/, where https://developer.mozilla.org/ redirects (HTTP 302). Canonical https://developer.mozilla.org/en-US/ matches the page reached. |
| Passed | `http-caching` — HTTP caching of the homepage | scored | core | Adopted | The homepage sends Cache-Control "public, max-age=3600" and ETag and Last-Modified, and a request with If-None-Match and If-Modified-Since was answered HTTP 304 Not Modified. |
| Passed | `lang` — Language declaration and multilingual access | scored | core | Adopted | html lang="en-US" is a well-formed BCP 47 tag, with no hreflang alternates. |
| Passed | `not-found-status` — A real 404 for a missing page | scored | core | Adopted | /aws-probe-40adf5a0570b, a path that does not exist, answered HTTP 404. |
| Passed | `spa-fallback` — Per-page content separation (no SPA fallback) | scored | core | Adopted | The homepage and /en-US/docs/Web/HTML have different titles ("MDN Web Docs" and "HTML: HyperText Markup Language \| MDN") and different main text (14% word overlap). |
| Passed | `viewport` — Responsive markup | scored | core | Adopted | viewport content "width=device-width, initial-scale=1.0" sets width=device-width and leaves zoom on. |

---

Verify this record: https://agenticwebscore.com/verify/1f91c6124a6d8ed47c606a19ee06f9b048a90700b079980ad4350e44b5ceea30
