Agent readiness report
example.com
Agent Readability vercel
28/100Needs Improvement
Better than 43% of 7 sites scanned · 10 of 36 checks passed
llms.txt llmstxt.org
0/100Needs Improvement
0 of 10 lint rules
Accessibility A1–A23
89/100Good
8 of 9 rules · homepage static DOM · does not affect main score
Markdown readiness accept-md
0/100No Markdown
Accept: text/markdown → HTTP 200 text/html
L0 Not Agent Ready
Not yet discoverable by agents. Next: Publish robots.txt.
Next level Level 1 · Basic Crawlability
3 changes unlock Level 1.
- Publish robots.txtAdd /robots.txt with a User-agent: * group and a Sitemap: line (any 2 of 3 missing basics) S7
- Publish a valid sitemap.xmlServe /sitemap.xml as a valid urlset with <loc> and <lastmod> per page (any 2 of 3 missing basics) S8
- Send Link headers on the homepageSend an HTTP Link header on / advertising the markdown alternate and llms.txt (rel=alternate/describedby) (any 2 of 3 missing basics) B3
Site-wide
3 passed · 11 failed · 1 n/allms.txt
/llms.txt4 failed
Failed llms.txt exists S1 No llms.txt found at /llms.txt, /.well-known/llms.txt, /docs/llms.txt or /llms-full.txt
How to fix
# example.com > One-paragraph summary of what the site offers. ## Docs - [About](https://example.com/about.md): What we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude No llms.txt found at /llms.txt, /.well-known/llms.txt, /docs/llms.txt or /llms-full.txt
Required · siteSpec: llmstxt.org
Failed llms.txt served as text/plain S2 llms.txt not found
How to fix
# example.com > One-paragraph summary of what the site offers. ## Docs - [About](https://example.com/about.md): What we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Required · siteSpec: llmstxt.org
Failed llms.txt is non-empty S3 llms.txt not found
How to fix
# example.com > One-paragraph summary of what the site offers. ## Docs - [About](https://example.com/about.md): What we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Required · siteSpec: llmstxt.org
Failed llms.txt links do not point at .html files S4 llms.txt not found
How to fix
# example.com > One-paragraph summary of what the site offers. ## Docs - [About](https://example.com/about.md): What we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Recommended · siteSpec: llmstxt.org
robots.txt
/robots.txt2 passed1 failed
Passed robots.txt allows AI crawlers S5 No robots.txt — all crawlers allowed by default
Evidence
- fetch GEThttps://example.com/robots.txt → 404 · Content-Type: text/html · 11 ms — GET /robots.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse robots.txt not available (HTTP 404); nothing restricts AI crawlers
- conclude No robots.txt — all crawlers allowed by default
Required · site
Passed /llms.txt is not blocked by robots.txt S6 No robots.txt — /llms.txt is reachable
Evidence
- fetch GEThttps://example.com/robots.txt → 404 · Content-Type: text/html · 11 ms — GET /robots.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse robots.txt not available (HTTP 404); nothing can block /llms.txt
- conclude No robots.txt — /llms.txt is reachable
Required · site
Failed robots.txt exists S7 robots.txt returned HTTP 404
How to fix
User-agent: * Allow: / Sitemap: https://example.com/sitemap.xml
Evidence
- fetch GEThttps://example.com/robots.txt → 404 · Content-Type: text/html · 11 ms — GET /robots.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse robots.txt not available (HTTP 404) · https://example.com/robots.txt
- conclude robots.txt returned HTTP 404
Required · siteSpec: rfc-editor.org/rfc/rfc9309
Sitemap
/sitemap.xml · /sitemap.md4 failed
Failed sitemap.xml is valid S8 sitemap.xml returned HTTP 404
How to fix
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url><loc>https://example.com/</loc><lastmod>2026-01-01</lastmod></url> </urlset>
Evidence
- fetch GEThttps://example.com/sitemap.xml → 404 · Content-Type: text/html · 19 ms — GET /sitemap.xml<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/sitemap_index.xml → 404 · Content-Type: text/html · 16 ms — GET /sitemap_index.xml<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse No sitemap candidate returned 2xx (last status HTTP 404) · https://example.com/sitemap.xml
- conclude sitemap.xml returned HTTP 404
Required · siteSpec: sitemaps.org/protocol.html
Failed sitemap entries have lastmod S9 No sitemap entries to evaluate
How to fix
<lastmod>2026-01-15</lastmod>
Evidence
- fetch GEThttps://example.com/sitemap.xml → 404 · Content-Type: text/html · 19 ms — GET /sitemap.xml<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/sitemap_index.xml → 404 · Content-Type: text/html · 16 ms — GET /sitemap_index.xml<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse No sitemap candidate returned 2xx (last status HTTP 404) · https://example.com/sitemap.xml
- conclude No sitemap entries to evaluate
Recommended · siteSpec: sitemaps.org/protocol.html
Failed sitemap.md exists S10 No sitemap.md at /sitemap.md, /docs/sitemap.md or /.well-known/sitemap.md
How to fix
# Sitemap ## Pages - [Home](https://example.com/) - [About](https://example.com/about)
Evidence
- fetch GEThttps://example.com/sitemap.md → 404 · Content-Type: text/html · 33 ms — Probe /sitemap.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/sitemap.md → 404 · Content-Type: text/html · 9 ms — Probe /docs/sitemap.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/sitemap.md → 404 · Content-Type: text/html · 11 ms — Probe /.well-known/sitemap.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 3 candidate locations returned a 2xx text/markdown document
- conclude No sitemap.md at /sitemap.md, /docs/sitemap.md or /.well-known/sitemap.md
Recommended · siteSpec: vercel.com/kb/guide/agent-readability-spec
Failed sitemap.md has headings and links S11 sitemap.md not found
How to fix
## Pages - [Home](https://example.com/)
Evidence
- fetch GEThttps://example.com/sitemap.md → 404 · Content-Type: text/html · 33 ms — Probe /sitemap.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/sitemap.md → 404 · Content-Type: text/html · 9 ms — Probe /docs/sitemap.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/sitemap.md → 404 · Content-Type: text/html · 11 ms — Probe /.well-known/sitemap.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse No sitemap.md to inspect (see S10)
- conclude sitemap.md not found
Recommended · siteSpec: vercel.com/kb/guide/agent-readability-spec
AGENTS.md
/AGENTS.md2 failed
Failed AGENTS.md exists S12 No AGENTS.md at /AGENTS.md, /agents.md, /.well-known/agents.md, /docs/AGENTS.md, /CLAUDE.md or /.cursorrules
How to fix
# AGENTS.md ## Getting started … ## Configuration … ## Usage …
Evidence
- fetch GEThttps://example.com/AGENTS.md → 404 · Content-Type: text/html · 27 ms — Probe /AGENTS.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/agents.md → 404 · Content-Type: text/html · 8 ms — Probe /agents.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/agents.md → 404 · Content-Type: text/html · 9 ms — Probe /.well-known/agents.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/AGENTS.md → 404 · Content-Type: text/html · 8 ms — Probe /docs/AGENTS.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/CLAUDE.md → 404 · Content-Type: text/html · 8 ms — Probe /CLAUDE.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.cursorrules → 404 · Content-Type: text/html · 9 ms — Probe /.cursorrules<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 6 candidate locations returned a 2xx text document
- conclude No AGENTS.md at /AGENTS.md, /agents.md, /.well-known/agents.md, /docs/AGENTS.md, /CLAUDE.md or /.cursorrules
Recommended · siteSpec: agents.md
Failed AGENTS.md has required sections S13 AGENTS.md not found
How to fix
## Getting started ## Configuration ## Usage
Evidence
- fetch GEThttps://example.com/AGENTS.md → 404 · Content-Type: text/html · 27 ms — Probe /AGENTS.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/agents.md → 404 · Content-Type: text/html · 8 ms — Probe /agents.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/agents.md → 404 · Content-Type: text/html · 9 ms — Probe /.well-known/agents.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/AGENTS.md → 404 · Content-Type: text/html · 8 ms — Probe /docs/AGENTS.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/CLAUDE.md → 404 · Content-Type: text/html · 8 ms — Probe /CLAUDE.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.cursorrules → 404 · Content-Type: text/html · 9 ms — Probe /.cursorrules<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse No AGENTS.md to inspect (see S12)
- conclude AGENTS.md not found
Recommended · siteSpec: agents.md
Transport
1 passed
Passed Site is served over HTTPS S14 Root URL is HTTPS
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Root scheme: https; homepage final URL: https://example.com/ · https://example.com/
- conclude Root URL is HTTPS
Required · site
API
/openapi.json1 n/a
Not applicable Root OpenAPI document (API-first sites) S15 Site does not look API-first (no OpenAPI/Swagger links or /api paths found)
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse API-first heuristic: inspected 0 sitemap URL(s) and the homepage links for /api, openapi or swagger — no match · https://example.com/
- conclude Site does not look API-first (no OpenAPI/Swagger links or /api paths found)
Optional · site
Pages
1 checked · avg 7/22 · P1–P24 per pageFailed example.com/ 7/22
Passed
P1 Returns HTTP 200
HTTP 200
Passed
P2 At most one redirect
No redirects
Passed
P3 Content-Type is text/html
Content-Type: text/html
Passed
P4 No noindex / noai X-Robots-Tag
No restrictive X-Robots-Tag
Failed
P5 Canonical link
No <link rel="canonical">
Failed
P6 Meta description (≥ 50 chars)
No <meta name="description">
Failed
P7 og:title
No og:title
Failed
P8 og:description
No og:description
Passed
P9 html lang attribute
lang="en"
Failed
P10 JSON-LD structured data present
No <script type="application/ld+json"> blocks
Failed
P11 JSON-LD has required fields
No JSON-LD to validate
Failed
P12 At least 3 headings (h1–h3)
Only 1 h1–h3 heading(s)
Passed
P13 Text-to-HTML ratio
Text-to-HTML ratio 22.4% (125 text chars / 559 HTML chars)
Failed
P14 Links to a glossary
No link to /glossary, /terminology or /definitions
Failed
P15 Markdown mirror ({path}.md)
https://example.com/index.md → HTTP 404 text/html
Failed
P16 Markdown frontmatter (title, description, last_updated)
No markdown version available to inspect
Failed
P17 link rel=alternate type=text/markdown
No alternate markdown link in <head> or Link header
Failed
P18 Markdown endpoint sends Link rel=canonical
No markdown version available
Failed
P19 Accept: text/markdown negotiation
Accept: text/markdown → HTTP 200 text/html
Failed
P20 Markdown has a ## Sitemap section
No markdown version available
Not applicable
P21 Code blocks declare a language
No code blocks on the page
Not applicable
P22 API pages link an API schema
Not an API documentation page
Passed
P23 Content does not depend on JavaScript rendering
125 chars of server-rendered text
Failed
P24 llms.txt describedby link
No rel="describedby" link to llms.txt
llms.txt lint
0 passed · 10 failed · does not affect the main scorellms.txt
/llms.txt10 failed
Failed llms.txt returns HTTP 200 L1 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned HTTP 200 with a text body
- conclude llms.txt not found
Required · llmstxtSpec: llmstxt.org
Failed First line is an H1 title L2 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Required · llmstxtSpec: llmstxt.org
Failed Content is parseable markdown (not an HTML shell) L3 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Required · llmstxtSpec: llmstxt.org
Failed Blockquote summary follows the H1 L4 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Recommended · llmstxtSpec: llmstxt.org
Failed At least one H2 section with a link list L5 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Recommended · llmstxtSpec: llmstxt.org
Failed Link lines use - [name](url): notes format L6 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Recommended · llmstxtSpec: llmstxt.org
Failed Sampled links resolve (2xx) L7 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Recommended · llmstxtSpec: llmstxt.org
Failed ## Optional section used correctly L8 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Optional · llmstxtSpec: llmstxt.org
Failed Served as text/plain L9 llms.txt not found
How to fix
# example.com > Summary of the site. ## Docs - [About](https://example.com/about.md): what we do
Evidence
- fetch GEThttps://example.com/llms.txt → 404 · Content-Type: text/html · 34 ms — Probe /llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/llms.txt → 404 · Content-Type: text/html · 10 ms — Probe /.well-known/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/docs/llms.txt → 404 · Content-Type: text/html · 11 ms — Probe /docs/llms.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 9 ms — Probe /llms-full.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse None of the 4 candidate locations returned a 2xx llms.txt
- conclude llms.txt not found
Recommended · llmstxtSpec: llmstxt.org
Failed llms-full.txt exists L10 No /llms-full.txt or /llms-ctx-full.txt
How to fix
https://example.com/llms-full.txt
Evidence
- fetch HEADhttps://example.com/llms-full.txt → 404 · Content-Type: text/html · 6 ms — Probe /llms-full.txt
- fetch HEADhttps://example.com/llms-ctx-full.txt → 404 · Content-Type: text/html · 7 ms — Probe /llms-ctx-full.txt
- parse Neither /llms-full.txt nor /llms-ctx-full.txt answered 2xx with a text body
- conclude No /llms-full.txt or /llms-ctx-full.txt
Optional · llmstxtSpec: llmstxt.org
Markdown negotiation
0 passed · 3 failed · 1 n/a · does not affect the main scoreAccept: text/markdown
1 page(s) sampled3 failed1 n/a
Failed Serves markdown for Accept: text/markdown M1 Accept: text/markdown → HTTP 200 text/html
How to fix
GET / HTTP/1.1 Accept: text/markdown -> HTTP/1.1 200 OK Content-Type: text/markdown; charset=utf-8 Vary: Accept
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 9 ms — GET / with Accept: text/markdown<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Response to Accept: text/markdown: HTTP 200, Content-Type text/html, Vary (none) → not a text/markdown 2xx · https://example.com/
- conclude Accept: text/markdown → HTTP 200 text/html
Required · markdownSpec: acceptmarkdown.com
Failed Responds with Vary: Accept M2 No Vary header
How to fix
Vary: Accept
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 9 ms — GET / with Accept: text/markdown<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Vary header on the negotiated response: (none) → does not list Accept or * · https://example.com/
- conclude No Vary header
Required · markdownSpec: rfc-editor.org/rfc/rfc9110
Not applicable Returns 406 for an unsatisfiable Accept M3 Skipped — the site does not negotiate markdown (M1 failed)
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 9 ms — GET / with Accept: text/markdown<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Accept: text/markdown → HTTP 200, Content-Type text/html, Vary (none); a 406 test only makes sense once markdown negotiation works · https://example.com/
- conclude Skipped — the site does not negotiate markdown (M1 failed)
Recommended · markdown
Failed Honours Accept q-values M4 q-values ignored (markdown-preferred → text/html, html-preferred → text/html)
How to fix
Accept: text/html;q=0.5, text/markdown;q=1.0 -> text/markdown Accept: text/markdown;q=0.1, text/html;q=1.0 -> text/html
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 9 ms — GET / Accept: text/html;q=0.5, text/markdown;q=1.0<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 11 ms — GET / Accept: text/markdown;q=0.1, text/html;q=1.0<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse markdown-preferred → text/html (expected text/markdown); html-preferred → text/html (ok) · https://example.com/
- conclude q-values ignored (markdown-preferred → text/html, html-preferred → text/html)
Recommended · markdownSpec: rfc-editor.org/rfc/rfc9110
Bot access
0 passed · 3 failed · 2 n/a · does not affect the main scoreSignals
/robots.txt · headers · DNS3 failed2 n/a
Failed robots.txt has explicit AI-bot rules B1 No robots.txt
How to fix
User-agent: GPTBot Allow: / User-agent: ClaudeBot Allow: / User-agent: Google-Extended Allow: /
Evidence
- fetch GEThttps://example.com/robots.txt → 404 · Content-Type: text/html · 11 ms — GET /robots.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse robots.txt not available (HTTP 404) · https://example.com/robots.txt
- conclude No robots.txt
Required · botsSpec: rfc-editor.org/rfc/rfc9309
Failed robots.txt declares Content-Signal B2 No robots.txt
How to fix
Content-Signal: search=yes, ai-input=yes, ai-train=no
Evidence
- fetch GEThttps://example.com/robots.txt → 404 · Content-Type: text/html · 11 ms — GET /robots.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse robots.txt not available (HTTP 404) · https://example.com/robots.txt
- conclude No robots.txt
Required · botsSpec: contentsignals.org
Failed Homepage sends Link headers B3 No Link header on the homepage
How to fix
Link: <https://example.com/index.md>; rel="alternate"; type="text/markdown", <https://example.com/llms.txt>; rel="describedby"
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Link response header on the homepage: (none) · https://example.com/
- conclude No Link header on the homepage
Recommended · botsSpec: rfc-editor.org/rfc/rfc8288
Not applicable DNS-AID agent discovery records B4 DNS-AID lookups disabled for this scan
Evidence
- parse Scan options exclude DNS lookups; no queries issued
- conclude DNS-AID lookups disabled for this scan
Optional · bots
Informational Web Bot Auth signature directory B5 No Web Bot Auth directory (optional; only needed if you operate signed bots)
Evidence
- fetch GEThttps://example.com/.well-known/http-message-signatures-directory → 404 · Content-Type: text/html · 7 ms — GET /.well-known/http-message-signatures-directory<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse HTTP 404; no directory published · https://example.com/.well-known/http-message-signatures-directory
- conclude No Web Bot Auth directory (optional; only needed if you operate signed bots)
Optional · bots
Protocol discovery
1 of 16 found · informational.well-known
graded only when present1 found · 0 issues · 15 not found
Informational MCP server card C1 No MCP server card (/.well-known/mcp.json or /.well-known/mcp/server-card.json)
Evidence
- fetch GEThttps://example.com/.well-known/mcp.json → 404 · Content-Type: text/html · 9 ms — GET /.well-known/mcp.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/mcp/server-card.json → 404 · Content-Type: text/html · 17 ms — GET /.well-known/mcp/server-card.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 2 location(s); none served a MCP server card/.well-known/mcp.json: HTTP 404 /.well-known/mcp/server-card.json: HTTP 404
- conclude No MCP server card (/.well-known/mcp.json or /.well-known/mcp/server-card.json)
Optional · protocolsSpec: modelcontextprotocol.io
Not applicable MCP server card is well-formed C2 No MCP server card to validate
Evidence
- fetch GEThttps://example.com/.well-known/mcp.json → 404 · Content-Type: text/html · 9 ms — GET /.well-known/mcp.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/mcp/server-card.json → 404 · Content-Type: text/html · 17 ms — GET /.well-known/mcp/server-card.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse No MCP server card JSON was found at either location (see C1); nothing to validate
- conclude No MCP server card to validate
Optional · protocols
Informational OAuth protected resource metadata C3 No OAuth protected resource metadata (/.well-known/oauth-protected-resource)
Evidence
- fetch GEThttps://example.com/.well-known/oauth-protected-resource → 404 · Content-Type: text/html · 11 ms — GET /.well-known/oauth-protected-resource<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 1 location(s); none served a OAuth protected resource metadata/.well-known/oauth-protected-resource: HTTP 404
- conclude No OAuth protected resource metadata (/.well-known/oauth-protected-resource)
Optional · protocolsSpec: rfc-editor.org/rfc/rfc9728
Informational A2A agent card C4 No A2A agent card (/.well-known/agent-card.json or /.well-known/agent.json)
Evidence
- fetch GEThttps://example.com/.well-known/agent-card.json → 404 · Content-Type: text/html · 11 ms — GET /.well-known/agent-card.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/agent.json → 404 · Content-Type: text/html · 15 ms — GET /.well-known/agent.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 2 location(s); none served a A2A agent card/.well-known/agent-card.json: HTTP 404 /.well-known/agent.json: HTTP 404
- conclude No A2A agent card (/.well-known/agent-card.json or /.well-known/agent.json)
Optional · protocolsSpec: a2a-protocol.org/latest/specification
Not applicable A2A agent card is well-formed C5 No A2A agent card to validate
Evidence
- fetch GEThttps://example.com/.well-known/agent-card.json → 404 · Content-Type: text/html · 11 ms — GET /.well-known/agent-card.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/agent.json → 404 · Content-Type: text/html · 15 ms — GET /.well-known/agent.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse No A2A agent card JSON was found at either location (see C4); nothing to validate
- conclude No A2A agent card to validate
Optional · protocols
Informational Agent Skills index C6 No Agent Skills index (/.well-known/agent-skills/index.json)
Evidence
- fetch GEThttps://example.com/.well-known/agent-skills/index.json → 404 · Content-Type: text/html · 11 ms — GET /.well-known/agent-skills/index.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 1 location(s); none served a Agent Skills index/.well-known/agent-skills/index.json: HTTP 404
- conclude No Agent Skills index (/.well-known/agent-skills/index.json)
Optional · protocolsSpec: agentskills.io
Informational API catalog (/.well-known/api-catalog) C7 No API catalog (/.well-known/api-catalog)
Evidence
- fetch GEThttps://example.com/.well-known/api-catalog → 404 · Content-Type: text/html · 9 ms — GET /.well-known/api-catalog<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 1 location(s); none served a API catalog/.well-known/api-catalog: HTTP 404
- conclude No API catalog (/.well-known/api-catalog)
Optional · protocolsSpec: rfc-editor.org/rfc/rfc9727
Informational OAuth / OpenID server metadata C8 No OAuth/OpenID server metadata (/.well-known/oauth-authorization-server or /.well-known/openid-configuration)
Evidence
- fetch GEThttps://example.com/.well-known/oauth-authorization-server → 404 · Content-Type: text/html · 15 ms — GET /.well-known/oauth-authorization-server<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/openid-configuration → 404 · Content-Type: text/html · 16 ms — GET /.well-known/openid-configuration<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 2 location(s); none served a OAuth/OpenID server metadata/.well-known/oauth-authorization-server: HTTP 404 /.well-known/openid-configuration: HTTP 404
- conclude No OAuth/OpenID server metadata (/.well-known/oauth-authorization-server or /.well-known/openid-configuration)
Optional · protocolsSpec: rfc-editor.org/rfc/rfc8414
Informational security.txt C9 No security.txt (RFC 9116) — optional but recommended
Evidence
- fetch GEThttps://example.com/.well-known/security.txt → 404 · Content-Type: text/html · 17 ms — GET /.well-known/security.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/security.txt → 404 · Content-Type: text/html · 14 ms — GET /security.txt<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse /.well-known/security.txt → HTTP 404; /security.txt → HTTP 404
- conclude No security.txt (RFC 9116) — optional but recommended
Optional · protocolsSpec: rfc-editor.org/rfc/rfc9116
Informational OpenAPI document C10 No OpenAPI document (/openapi.json or /openapi.yaml or /.well-known/openapi.json)
Evidence
- fetch GEThttps://example.com/openapi.json → 404 · Content-Type: text/html · 21 ms — GET /openapi.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/openapi.yaml → 404 · Content-Type: text/html · 11 ms — GET /openapi.yaml<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/.well-known/openapi.json → 404 · Content-Type: text/html · 9 ms — GET /.well-known/openapi.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 3 location(s); none served a OpenAPI document/openapi.json: HTTP 404 /openapi.yaml: HTTP 404 /.well-known/openapi.json: HTTP 404
- conclude No OpenAPI document (/openapi.json or /openapi.yaml or /.well-known/openapi.json)
Optional · protocolsSpec: spec.openapis.org/oas/latest.html
Informational /auth.md agent auth instructions C11 No /auth.md (optional: markdown instructions telling agents how to authenticate)
Evidence
- fetch GEThttps://example.com/auth.md → 404 · Content-Type: text/html · 17 ms — GET /auth.md<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse /auth.md → HTTP 404 · https://example.com/auth.md
- conclude No /auth.md (optional: markdown instructions telling agents how to authenticate)
Optional · protocolsSpec: isitagentready.com
Informational UCP manifest C12 No UCP manifest (/.well-known/ucp)
Evidence
- fetch GEThttps://example.com/.well-known/ucp → 404 · Content-Type: text/html · 23 ms — GET /.well-known/ucp<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 1 location(s); none served a UCP manifest/.well-known/ucp: HTTP 404
- conclude No UCP manifest (/.well-known/ucp)
Optional · protocolsSpec: ucp.dev
Informational ACP manifest C13 No ACP manifest (/.well-known/acp.json)
Evidence
- fetch GEThttps://example.com/.well-known/acp.json → 404 · Content-Type: text/html · 23 ms — GET /.well-known/acp.json<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Probed 1 location(s); none served a ACP manifest/.well-known/acp.json: HTTP 404
- conclude No ACP manifest (/.well-known/acp.json)
Optional · protocolsSpec: agentcommerceprotocol.com
Informational x402 payment-required endpoints C14 No x402 (HTTP 402 + accepts[]) endpoints observed among probed URLs
Evidence
- parse Inspected 24 response(s) recorded so far in this scan: 0 returned HTTP 402, none with an accepts[] body
- conclude No x402 (HTTP 402 + accepts[]) endpoints observed among probed URLs
Optional · protocolsSpec: x402.org
Not applicable Advertised endpoints not blocked by robots.txt C15 No same-host endpoints advertised in llms.txt / AGENTS.md
Evidence
- parse Collected same-host links from llms.txt (absent) and AGENTS.md (absent): 0 endpoints to evaluate
- conclude No same-host endpoints advertised in llms.txt / AGENTS.md
Optional · protocols
Passed Content parity for AI crawlers (GPTBot vs browser UA) C16 Baseline text 125 chars vs GPTBot 125 chars (0% difference)
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET / (baseline UA)<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 23 ms — GET / (GPTBot UA)<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Extracted visible text from both responses: baseline 125 chars vs GPTBot 125 chars → 0% difference (allowed ≤ 15%, or ≤ 25% when both exceed 500 chars) · https://example.com/
- conclude Baseline text 125 chars vs GPTBot 125 chars (0% difference)
Required · protocols
Accessibility
8 passed · 1 failed · 14 n/a · does not affect the main scoreA1–A23
homepage · static DOM8 passed1 failed14 n/a
Not applicable Images have alt text A1 No <img> elements
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for image(s): none found, nothing to audit · https://example.com/
- conclude No <img> elements
Required · accessibility
Not applicable Form controls have labels A2 No form controls
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for form control(s): none found, nothing to audit · https://example.com/
- conclude No form controls
Required · accessibility
Passed Links and buttons have accessible names A3 All 1 link(s)/button(s) pass
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Inspected 1 link(s)/button(s): 0 violation(s) · https://example.com/
- conclude All 1 link(s)/button(s) pass
Required · accessibility
Not applicable Media elements declare width and height A4 No img/video/iframe elements
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for media element(s): none found, nothing to audit · https://example.com/
- conclude No img/video/iframe elements
Recommended · accessibility
Not applicable ARIA/label id references resolve and ids are unique A5 No ids or id references
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for id(s)/reference(s): none found, nothing to audit · https://example.com/
- conclude No ids or id references
Required · accessibility
Not applicable iframes have a title A6 No iframes
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for iframe(s): none found, nothing to audit · https://example.com/
- conclude No iframes
Required · accessibility
Passed One h1 and no skipped heading levels A7 All 1 heading(s) pass
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Inspected 1 heading(s): 0 violation(s) · https://example.com/
- conclude All 1 heading(s) pass
Recommended · accessibility
Not applicable No positive tabindex A8 No tabindex attributes
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for tabindex attribute(s): none found, nothing to audit · https://example.com/
- conclude No tabindex attributes
Recommended · accessibility
Passed Viewport allows zoom A9 Viewport allows zoom: width=device-width, initial-scale=1
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Parsed <meta name="viewport">: user-scalable=no absent, maximum-scale < 2 absent · https://example.com/width=device-width, initial-scale=1
- conclude Viewport allows zoom: width=device-width, initial-scale=1
Required · accessibility
Passed Document has a non-empty title A10 <title>Example Domain</title>
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Read <title>: 14 chars · https://example.com/Example Domain
- conclude <title>Example Domain</title>
Required · accessibility
Not applicable aria-label includes the visible text A11 No controls with both aria-label and visible text
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for labelled control(s): none found, nothing to audit · https://example.com/
- conclude No controls with both aria-label and visible text
Recommended · accessibility
Failed Landmark main or skip link A12 No <main> landmark, role="main" or skip link
How to fix
<a href="#content" class="skip-link">Skip to content</a> <main id="content">…</main>
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Looked for <main>/role="main": none; in-page 'skip' link: none · https://example.com/
- conclude No <main> landmark, role="main" or skip link
Recommended · accessibilitySpec: w3.org/WAI/WCAG22/quickref
Passed Valid BCP-47 lang A13 lang="en" is valid
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Read the lang attribute on <html>: "en" (valid BCP-47) · https://example.com/
- conclude lang="en" is valid
Required · accessibility
Not applicable No focusable content inside aria-hidden A14 No aria-hidden regions
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for aria-hidden region(s): none found, nothing to audit · https://example.com/
- conclude No aria-hidden regions
Required · accessibility
Passed No nested interactive controls A15 All 1 interactive control(s) pass
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Inspected 1 interactive control(s): 0 violation(s) · https://example.com/
- conclude All 1 interactive control(s) pass
Required · accessibility
Passed No empty headings A16 All 1 heading(s) pass
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Inspected 1 heading(s): 0 violation(s) · https://example.com/
- conclude All 1 heading(s) pass
Recommended · accessibility
Passed No timed meta refresh A17 No meta refresh
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Looked for <meta http-equiv="refresh">: none · https://example.com/
- conclude No meta refresh
Required · accessibility
Not applicable Valid autocomplete tokens A18 No autocomplete attributes
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for autocomplete attribute(s): none found, nothing to audit · https://example.com/
- conclude No autocomplete attributes
Recommended · accessibility
Not applicable Data tables have headers A19 No tables
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for table(s): none found, nothing to audit · https://example.com/
- conclude No tables
Recommended · accessibility
Not applicable SVG role=img has an accessible name A20 No svg role=img elements
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for svg(s): none found, nothing to audit · https://example.com/
- conclude No svg role=img elements
Recommended · accessibility
Not applicable Audio/video have captions track A21 No audio/video elements
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for media element(s): none found, nothing to audit · https://example.com/
- conclude No audio/video elements
Recommended · accessibility
Not applicable Lists contain only list items A22 No lists
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for list(s): none found, nothing to audit · https://example.com/
- conclude No lists
Recommended · accessibility
Not applicable ARIA roles and attributes are valid A23 No ARIA roles or attributes
Evidence
- fetch GEThttps://example.com/ → 200 · Content-Type: text/html · 45 ms — GET /<!doctype html><html lang="en"><head><title>Example Domain</title><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:vi…
- parse Searched the homepage DOM for ARIA role(s)/attribute(s): none found, nothing to audit · https://example.com/
- conclude No ARIA roles or attributes
Required · accessibility
Compare
Top public scans · full leaderboardwww.whosbest.org
94#1
L4 · Agent Integrationwww.herringbickers.com
56#2
L1 · Basic Crawlabilitywww.browarddefender.org
45#3
L1 · Basic Crawlabilityexample.com
28#4
L0 · Not Agent Ready · youwww.wte.net
21#5
L1 · Basic Crawlabilityjobsaicopilot.com
17#6
L0 · Not Agent Ready
Privacy
Public scans list the domain, score and level on the leaderboards and feed the percentile corpus. Only public URLs were fetched; nothing was stored from the site beyond this report.