Leaderboard/Cloudflare

Cloudflare

developers.cloudflare.com
Score: 92 out of 100, grade A92
Grade A
Last checked: May 2, 2026 · afdocs v0.17.1 · Rerun
Share on
Simulation: Fern // bud
Day 0
CategoryCloud Infra
Checks passed13/23Warnings3Failed5

Cloudflare scores 92/100 (Grade A), placing it among the most AI-agent-ready documentation sites evaluated. It passes 13 of 23 checks (57%), demonstrating strong support for AI coding agents. 8 items require attention to reach a perfect score.

# Agent Score Fix Report — Cloudflare
URL: https://developers.cloudflare.com
Score: 92/100 (Grade A)

I need help improving the AI-readiness of the documentation at https://developers.cloudflare.com.
Agent Score found 5 failing checks and 3 warnings.

## Failing Checks (5)
- [page-size] Page Size Html: 2 of 10 sampled pages convert to over 100K chars (max 2280K HTML → 417K markdown (87% boilerplate))
- [page-size] Content Start Position: 2 of 10 sampled pages have content starting past 50% (worst 100%)
- [observability] Llms Txt Coverage: llms.txt covers 18/1082 sitemap doc pages (2%); 1064 missing; 217 nested indexes omitted (6554 sitemap pages excluded); 18271 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)
- [observability] Markdown Content Parity: 2 of 9 pages have substantive content differences between markdown and HTML (avg 9% missing); 1 failed to fetch
- [observability] Cache Header Hygiene: 1 of 11 endpoints have aggressive caching or missing cache headers

## Warnings (3)
- [content-discoverability] Llms Txt Directive Html: llms.txt directive found in HTML of 8 of 9 sampled pages (1 missing); 1 failed to fetch
- [content-discoverability] Llms Txt Directive Md: llms.txt directive found in markdown of 8 of 10 sampled pages (2 missing)
- [markdown-availability] Content Negotiation: Content negotiation partially supported: 8 correct type, 1 wrong type, 1 HTML only

## Fix Instructions

For each issue above, please:
1. Analyze the documentation site at https://developers.cloudflare.com
2. Implement the specific fix
3. Verify the fix would cause the check to pass

### Common fixes:
- **No llms.txt**: Create /llms.txt following https://llmstxt.org — list all doc pages in markdown format
- **No .md URL support**: Configure your docs platform to serve pages at equivalent .md URLs (e.g. /docs/quickstart.md)
- **No content negotiation**: Return markdown when request includes Accept: text/markdown header
- **Large page size**: Reduce nav boilerplate, inline scripts, and repetitive markup
- **No sitemap**: Generate /sitemap.xml listing all documentation URLs
- **Auth walls**: Ensure docs pages return 200 without requiring login cookies or tokens
- **No Last-Modified header**: Configure your server/CDN to include Last-Modified response headers
- **Tab content hidden**: Ensure tabbed content is rendered in the HTML (not JS-only) so agents can read all variants

## Run afdocs Locally for More Detail

To get deeper visibility into what's failing, run afdocs against your docs:

  npx afdocs check https://developers.cloudflare.com --fixes --verbose

- **--fixes**: Adds "Fix:" lines to the output for each warn/fail check with actionable remediation steps
- **-v, --verbose**: Shows per-page details (specific URLs, character counts, error codes) for checks with issues — useful for per-URL visibility into what's failing
CHECK RESULTS

How your docs scored

llms-txt-coveragellms.txt covers 18/1082 sitemap doc pages (2%); 1064 missing; 217 nested indexes omitted (6554 sitemap pages excluded); 18271 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)Learn more
markdown-content-parity2 of 9 pages have substantive content differences between markdown and HTML (avg 9% missing); 1 failed to fetchLearn more
cache-header-hygiene1 of 11 endpoints have aggressive caching or missing cache headersLearn more
page-size-html2 of 10 sampled pages convert to over 100K chars (max 2280K HTML → 417K markdown (87% boilerplate))Learn more
content-start-position2 of 10 sampled pages have content starting past 50% (worst 100%)Learn more
rendering-strategyAll 10 sampled pages contain server-rendered contentLearn more
page-size-markdownAll 10 pages under 50K chars (median 6K, max 11K)Learn more
auth-gate-detectionAll 10 sampled pages are publicly accessibleLearn more
auth-alternative-accessAll docs pages are publicly accessible; no alternative access paths neededLearn more
tabbed-content-serialization6 tab group(s) across 3 of 10 sampled pages; all serialize under 50K charsLearn more
markdown-code-fence-validityAll 24 code fences properly closed across 11 pagesLearn more
section-header-quality3 page(s) with tabs found, but no section headers inside tab panels to evaluateLearn more
content-negotiationContent negotiation partially supported: 8 correct type, 1 wrong type, 1 HTML onlyLearn more
markdown-url-support10/10 sampled pages support .md URLs (100%)Learn more
llms-txt-directive-htmlllms.txt directive found in HTML of 8 of 9 sampled pages (1 missing); 1 failed to fetchLearn more
llms-txt-directive-mdllms.txt directive found in markdown of 8 of 10 sampled pages (2 missing)Learn more
llms-txt-existsllms.txt found at https://developers.cloudflare.com/llms.txtLearn more
llms-txt-validllms.txt follows the proposed structure (H1, blockquote, heading-delimited link sections)Learn more
llms-txt-sizellms.txt is 15,634 characters (under 50,000 threshold)Learn more
llms-txt-links-resolveAll 10 same-origin sampled links resolve (104 total links)Learn more
llms-txt-links-markdown10/10 same-origin sampled links point to markdown content (100%)Learn more
http-status-codesAll 10 sampled pages return proper error codes for bad URLsLearn more
redirect-behaviorNo redirects detected across 10 sampled pagesLearn more

Built by Fern

Fern-powered docs are agent-ready by default.

Trusted by