---
title: Scorecard v0.3.0-draft (draft) · a14y
description: Draft scorecard — subject to change before release. PRs adding or revising checks land here, then this manifest is frozen at cut time. See CONTRIBUTING.md.
doc_version: 0.2.0
last_updated: "2026-05-08T23:40:54.245Z"
---
Draft scorecard — subject to change before release. PRs adding or revising checks land here, then this manifest is frozen at cut time. See CONTRIBUTING.md.

## Site checks

### Discoverability

- [`llms-txt.exists`](/scorecards/0.3.0-draft/checks/llms-txt.exists.md) — llms.txt is published
- [`llms-txt.content-type`](/scorecards/0.3.0-draft/checks/llms-txt.content-type.md) — llms.txt served as text/plain
- [`llms-txt.non-empty`](/scorecards/0.3.0-draft/checks/llms-txt.non-empty.md) — llms.txt is not empty
- [`llms-txt.md-extensions`](/scorecards/0.3.0-draft/checks/llms-txt.md-extensions.md) — llms.txt links use .md or .mdx
- [`robots-txt.exists`](/scorecards/0.3.0-draft/checks/robots-txt.exists.md) — robots.txt is published
- [`robots-txt.allows-ai-bots`](/scorecards/0.3.0-draft/checks/robots-txt.allows-ai-bots.md) — robots.txt allows AI bots
- [`robots-txt.allows-llms-txt`](/scorecards/0.3.0-draft/checks/robots-txt.allows-llms-txt.md) — robots.txt does not disallow llms.txt
- [`sitemap-xml.exists`](/scorecards/0.3.0-draft/checks/sitemap-xml.exists.md) — sitemap.xml is published
- [`sitemap-xml.valid`](/scorecards/0.3.0-draft/checks/sitemap-xml.valid.md) — sitemap.xml parses as urlset or sitemapindex
- [`sitemap-xml.has-lastmod`](/scorecards/0.3.0-draft/checks/sitemap-xml.has-lastmod.md) — sitemap entries include <lastmod>
- [`sitemap-md.exists`](/scorecards/0.3.0-draft/checks/sitemap-md.exists.md) — sitemap.md is published
- [`sitemap-md.has-structure`](/scorecards/0.3.0-draft/checks/sitemap-md.has-structure.md) — sitemap.md has headings and links
- [`agents-md.exists`](/scorecards/0.3.0-draft/checks/agents-md.exists.md) — AGENTS.md (or equivalent) is published
- [`agents-md.has-min-sections`](/scorecards/0.3.0-draft/checks/agents-md.has-min-sections.md) — agent skill file documents at least 2 of install/config/usage

## Page checks

### HTTP

- [`http.status-200`](/scorecards/0.3.0-draft/checks/http.status-200.md) — Page returns HTTP 200
- [`http.redirect-chain`](/scorecards/0.3.0-draft/checks/http.redirect-chain.md) — Redirect chain is at most 1 hop
- [`http.content-type-html`](/scorecards/0.3.0-draft/checks/http.content-type-html.md) — Content-Type is text/html; charset=utf-8
- [`http.no-noindex-noai`](/scorecards/0.3.0-draft/checks/http.no-noindex-noai.md) — x-robots-tag does not block agents

### HTML metadata

- [`html.canonical-link`](/scorecards/0.3.0-draft/checks/html.canonical-link.md) — Has <link rel="canonical">
- [`html.meta-description`](/scorecards/0.3.0-draft/checks/html.meta-description.md) — Has meta description (>= 50 chars)
- [`html.og-title`](/scorecards/0.3.0-draft/checks/html.og-title.md) — Has og:title
- [`html.og-description`](/scorecards/0.3.0-draft/checks/html.og-description.md) — Has og:description
- [`html.lang-attribute`](/scorecards/0.3.0-draft/checks/html.lang-attribute.md) — Root <html> has lang attribute

### Structured data

- [`html.json-ld`](/scorecards/0.3.0-draft/checks/html.json-ld.md) — Has parseable JSON-LD block
- [`html.json-ld.date-modified`](/scorecards/0.3.0-draft/checks/html.json-ld.date-modified.md) — JSON-LD declares dateModified
- [`html.json-ld.breadcrumb`](/scorecards/0.3.0-draft/checks/html.json-ld.breadcrumb.md) — JSON-LD declares a BreadcrumbList

### Content structure

- [`html.headings`](/scorecards/0.3.0-draft/checks/html.headings.md) — Has at least 3 section headings
- [`html.text-ratio`](/scorecards/0.3.0-draft/checks/html.text-ratio.md) — Text-to-HTML ratio is above 15%
- [`html.glossary-link`](/scorecards/0.3.0-draft/checks/html.glossary-link.md) — Links to a glossary or terminology page

### Markdown mirror

- [`markdown.mirror-suffix`](/scorecards/0.3.0-draft/checks/markdown.mirror-suffix.md) — Has .md or .mdx mirror
- [`markdown.alternate-link`](/scorecards/0.3.0-draft/checks/markdown.alternate-link.md) — HTML declares <link rel="alternate" type="text/markdown">
- [`markdown.frontmatter`](/scorecards/0.3.0-draft/checks/markdown.frontmatter.md) — Markdown mirror has required frontmatter
- [`markdown.canonical-header`](/scorecards/0.3.0-draft/checks/markdown.canonical-header.md) — Markdown mirror sends canonical Link header
- [`markdown.content-negotiation`](/scorecards/0.3.0-draft/checks/markdown.content-negotiation.md) — Server returns markdown for Accept: text/markdown
- [`markdown.sitemap-section`](/scorecards/0.3.0-draft/checks/markdown.sitemap-section.md) — Markdown mirror includes a Sitemap section

### Code

- [`code.language-tags`](/scorecards/0.3.0-draft/checks/code.language-tags.md) — Code blocks declare a language

### API

- [`api.schema-link`](/scorecards/0.3.0-draft/checks/api.schema-link.md) — API pages link to a machine-readable schema

### Discoverability

- [`discovery.indexed`](/scorecards/0.3.0-draft/checks/discovery.indexed.md) — Page is indexed by sitemap, llms.txt, or sitemap.md

## Sitemap

Full docs site index: [/sitemap.md](/sitemap.md).
