Leaderboard/Shopify

Shopify

shopify.dev
Score: 74 out of 100, grade C74
Grade C
Last checked: April 6, 2026 · Rerun
Share on
Simulation: Fern // bud
Day 0
CategoryEcommerce
Checks passed13/22Warnings4Failed3

Shopify scores 74/100 (Grade C), passing 13 of 22 checks (59%). The documentation is broadly accessible to AI agents but has 7 areas that could be improved to better serve automated tooling.

# Agent Score Fix Report — Shopify
URL: https://shopify.dev
Score: 74/100 (Grade C)

I need help improving the AI-readiness of the documentation at https://shopify.dev.
Agent Score found 3 failing checks and 4 warnings.

## Failing Checks (3)
- [content-discoverability] Llms Txt Directive: No llms.txt directive found in any of 10 sampled pages
- [page-size] Page Size Html: 10 of 10 sampled pages convert to over 100K chars (max 308K, 38% boilerplate)
- [observability] Markdown Content Parity: 5 of 9 pages have substantive content differences between markdown and HTML (avg 19% missing)

## Warnings (4)
- [content-discoverability] Llms Txt Valid: llms.txt contains parseable links but doesn't fully follow the proposed structure: https://shopify.dev/llms.txt: No blockquote summary found
- [content-discoverability] Llms Txt Size: llms.txt is 96,118 characters (between 50,000 and 100,000; consider splitting)
- [content-discoverability] Llms Txt Links Markdown: Same-origin links point to HTML, but 6 have .md variants available (8 external links excluded)
- [markdown-availability] Content Negotiation: Content negotiation partially supported: 2 correct type, 0 wrong type, 8 HTML only

## Fix Instructions

For each issue above, please:
1. Analyze the documentation site at https://shopify.dev
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 https://shopify.dev --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

markdown-content-parity5 of 9 pages have substantive content differences between markdown and HTML (avg 19% missing)
cache-header-hygieneAll 11 endpoints have appropriate cache headers
llms-txt-freshnessNo sitemap found; cannot assess llms.txt freshness without a sitemap as ground truth
auth-gate-detectionAll 10 sampled pages are publicly accessible
auth-alternative-accessAll docs pages are publicly accessible; no alternative access paths needed
llms-txt-directiveNo llms.txt directive found in any of 10 sampled pages
llms-txt-validllms.txt contains parseable links but doesn't fully follow the proposed structure: https://shopify.dev/llms.txt: No blockquote summary found
llms-txt-sizellms.txt is 96,118 characters (between 50,000 and 100,000; consider splitting)
llms-txt-links-markdownSame-origin links point to HTML, but 6 have .md variants available (8 external links excluded)
llms-txt-existsllms.txt found at 1 location(s)
llms-txt-links-resolveAll 10 same-origin sampled links resolve (47 total links)
content-negotiationContent negotiation partially supported: 2 correct type, 0 wrong type, 8 HTML only
markdown-url-support9/10 sampled pages support .md URLs (90%)
page-size-html10 of 10 sampled pages convert to over 100K chars (max 308K, 38% boilerplate)
rendering-strategyAll 10 sampled pages contain server-rendered content
page-size-markdownAll 9 pages under 50K chars (median 12K, max 17K)
content-start-positionContent starts within first 10% on all 10 sampled pages (median 1%)
tabbed-content-serializationNo tabbed content detected across 10 sampled pages
section-header-qualityNo tabbed content found; header quality check not applicable
markdown-code-fence-validityAll 167 code fences properly closed across 10 pages
http-status-codesAll 10 sampled pages return proper error codes for bad URLs
redirect-behaviorAll 7 redirect(s) across 10 sampled pages are same-host HTTP redirects

Built by Fern

Fern-powered docs are agent-ready by default.

Trusted by