Access
19/10087.9% coverage
Content site · Static audit
The static audit found gaps. Start with the fixes below.
Pass starts at 80 / 100. This scan does not prove that an agent can complete a purchase. Method and limits
21/ 100
NEEDS WORK
Readiness score
Scanned 2026-09-30 19:06:47 UTC
Start with these changes. Open a fix for the finding, example, and supporting evidence.
Describe the organization with valid JSON-LD. Use the real name and URL.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your product",
"url": "https://example.com/"
}
Suggested location: /
Finding: The page has no valid JSON-LD block.
Change: Publish valid JSON-LD that describes the site and its main products.
Open this check and its evidenceFinding: JSON-LD has no sameAs link.
Change: Add stable sameAs links for the organization or product entity.
Open this check and its evidenceFinding: No Organization JSON-LD entity was found.
Change: Add an Organization entity with stable identity and contact fields.
Open this check and its evidenceFinding: The page declares no valid JSON-LD type.
Change: Describe the organization, site, and main product with JSON-LD.
Open this check and its evidence{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your product",
"url": "https://example.com/"
}
Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.
Review the recorded robots rule and access response. Permit public content for the clients you support.
User-agent: AgentReadiness
Allow: /
Sitemap: https://example.com/sitemap.xml
Suggested location: /robots.txt
Finding: robots.txt has no explicit policy for known AI crawler tokens.
Change: Publish explicit retrieval and training crawler groups in robots.txt.
Open this check and its evidenceFinding: robots.txt has no explicit policy for user-directed agent tokens.
Change: Add explicit groups for user-directed agent fetchers.
Open this check and its evidenceUser-agent: AgentReadiness
Allow: /
Sitemap: https://example.com/sitemap.xml
Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.
Put the main text and navigation in the initial HTML response.
<main><h1>Your product</h1><p>Explain its purpose.</p></main>
Suggested location: /
Finding: The source HTML has only 0 visible text characters.
Change: Return useful server-rendered content without a JavaScript requirement.
Open this check and its evidenceFinding: The estimated visible-text size is 0 tokens.
Change: Keep the main page between 100 and 15,000 estimated visible-text tokens.
Open this check and its evidence<main><h1>Your product</h1><p>Explain its purpose.</p></main>
Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.
Publish a short site description and working links to key public pages.
# Your product
> Explain what the product does.
## Resources
- [Documentation](https://example.com/docs): Public instructions
Suggested location: /llms.txt
Finding: The scan did not find /llms.txt.
Change: Publish a concise llms.txt file at the site root.
Open this check and its evidenceFinding: The checked llms.txt and dedicated instruction paths do not explain when an agent should use the product.
Change: Add a specific when-to-use section to llms.txt or a dedicated agent instruction document.
Open this check and its evidence# Your product
> Explain what the product does.
## Resources
- [Documentation](https://example.com/docs): Public instructions
Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.
Link only resources that the service provides. Use a Link header to identify the API description.
Link: </openapi.json>; rel="service-desc"; type="application/json"
Suggested location: Main page response headers
Finding: The final response has no HTTP Link header.
Change: Add HTTP Link relations for important machine-readable discovery resources.
Open this check and its evidenceLink: </openapi.json>; rel="service-desc"; type="application/json"
Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.
Estimated gains use this report's model. All checks listed in a fix must pass to earn its full estimated gain.
5 checks passed. 34 need attention. 3 could not be verified. Checks that do not apply stay out of the score.
Results that need attention are listed first. Open a row for its reason and recommended change.
The source does not provide enough document landmarks and headings for structured navigation.
Add an HTML document root, one main region, navigation, and ordered headings.
The product page does not advertise a public GitHub source repository.
Link the canonical public GitHub repository from the product page.
No Agent Skills index was found at the v0.2.0 discovery path.
Publish /.well-known/agent-skills/index.json with the v0.2.0 schema.
No Agent Skills index was found at /.well-known/agent-skills/index.json.
Publish an index with a non-empty skills array and a name and description for every skill.
The agent-mode query returned a normal HTML view or another unsuitable representation.
Return a dedicated JSON, Markdown, or plain-text agent view.
The product page does not advertise a public GitHub source repository.
Link the canonical public GitHub repository from the product page.
The checked llms.txt and dedicated instruction paths do not explain when an agent should use the product.
Add a specific when-to-use section to llms.txt or a dedicated agent instruction document.
No usable resource catalog was found at either bounded well-known path.
Publish /.well-known/ard.json or /.well-known/ai-catalog.json.
The page did not expose enough category metadata to create the versioned category query.
Add a specific application category, keywords, or description that states the product category and use case.
The source HTML has only 0 visible text characters.
Return useful server-rendered content without a JavaScript requirement.
The final response has no HTTP Link header.
Add HTTP Link relations for important machine-readable discovery resources.
The identified bot request received text/html, not Markdown.
Optionally serve a Markdown representation to the truthful AgentReadinessBot identity.
JSON-LD has no sameAs link.
Add stable sameAs links for the organization or product entity.
The page has no valid JSON-LD block.
Publish valid JSON-LD that describes the site and its main products.
The scan did not find a Markdown homepage at /index.md.
Publish a text/markdown homepage at /index.md.
The canonical root did not return Markdown for a Markdown-preferred request.
Implement Accept: text/markdown negotiation or publish a stable Markdown route.
The page does not declare a Markdown alternate.
Add a link rel=alternate with type=text/markdown and a stable URL.
Only 3 of 9 metadata fields are present.
Add title, description, language, canonical, charset, and Open Graph metadata.
No scoped llms.txt file was found at the bounded docs, API, or developers paths.
Publish /docs/llms.txt, /api/llms.txt, or /developers/llms.txt with a focused resource index.
OPTIONS did not advertise POST for /ask.
Publish POST /ask and advertise POST in the Allow or Access-Control-Allow-Methods header.
robots.txt does not publish a Schema Map directive.
Add schemamap: followed by the absolute URL of the structured feed map.
OPTIONS did not advertise the POST route required for NLWeb streaming.
Publish POST /ask before you enable the NLWeb event stream.
No Organization JSON-LD entity was found.
Add an Organization entity with stable identity and contact fields.
The estimated visible-text size is 0 tokens.
Keep the main page between 100 and 15,000 estimated visible-text tokens.
The scan did not find /pricing.md.
Publish stable machine-readable pricing details at /pricing.md.
The page declares no valid JSON-LD type.
Describe the organization, site, and main product with JSON-LD.
No trust anchor page was found.
Link to public about, contact, privacy, terms, and security pages.
The bounded Wikidata search found no entity with verified ownership of this domain.
Add the official website to the correct Wikidata entity, or link the correct Wikidata or Wikipedia page from structured data.
The product page exposes no direct skills.sh link or verifiable GitHub-owner association for a catalog lookup.
Link the official GitHub organization or exact skills.sh page from the product page or structured sameAs data.
No Web Bot Auth key directory was found at the well-known path.
Publish an Ed25519 JWK keys array with kid, x, nbf, and exp fields.
No server-rendered or inline-script WebMCP declaration was found.
Add declarative form tools or register tools through document.modelContext.
The scan did not find /llms.txt.
Publish a concise llms.txt file at the site root.
robots.txt has no explicit policy for known AI crawler tokens.
Publish explicit retrieval and training crawler groups in robots.txt.
robots.txt has no explicit policy for user-directed agent tokens.
Add explicit groups for user-directed agent fetchers.
The scan did not collect valid ranked web-search evidence for this query.
Configure the ranked search provider and run capture profile version 26 to collect new evidence.
The scan could not collect the required discovery evidence.
Run capture profile version 3 and confirm that robots and network access permit this request.
The scan could not collect the required discovery evidence.
Run capture profile version 3 and confirm that robots and network access permit this request.
No configured instruction-risk pattern was found in the evaluated hidden accessibility text.
robots policy permits all 3 evaluated retrieval crawlers at the root path.
The probe returns 404 or 410 with concise discovery guidance.
The scanner received the target content without a bot block.
The target uses 0 same-origin redirect(s) with no downgrade or redirect error.
This check is outside the selected site type.
No inspectable public MCP HTTP endpoint was found.
This check is outside the selected site type.
This check is outside the selected site type.
The optional AI Catalog alias is not published. Its absence does not reduce the score.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
The page has no controls that require an accessible name.
This check is outside the selected site type.
This check is outside the selected site type.
No identity, claim, or events endpoint was advertised.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
The page has no source form fields, so field labeling does not apply.
This check is outside the selected site type.
This check is outside the selected site type.
No public GraphQL POST route was found at the bounded standard paths.
This check is outside the selected site type.
No public GraphQL POST route was found at the bounded standard paths.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
No llms.txt content links were available for a bounded public-access sample.
This check is outside the selected site type.
This check is outside the selected site type.
No inspectable public MCP HTTP endpoint was found.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
No MCP server card is published, so registry branding does not apply.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
No served Markdown document was confirmed at the bounded paths.
No served Markdown document was confirmed at the bounded document paths.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
The page has no interactive controls in the source HTML.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
No public streamable HTTP MCP endpoint was discovered.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
No catalog exists, so catalog-entry quality does not apply.
No catalog exists, so optional trust metadata does not apply.
No public OpenAPI document was found for environment analysis.
This check is outside the selected site type.
Quality is not evaluated because the scan found no verified skills.sh listing.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
This check is outside the selected site type.
llms.txt was not available, so its format cannot be checked.
No links were found in a published llms.txt document.
This check is outside the selected site type.
Hexdocs · HTTP 200
0 of 0 links have names. 0 form controls have no name.
These initial HTML counts are separate from the final accessibility checks.
First result: 24.65 s · Queue: 23.57 s · Total: 30.49 s
0 of 0 selected pages were read. Maximum: five pages.
These pages add evidence. Model 27 uses main-page and protocol facts for its score.
87.9% coverage
100.0% coverage
87.5% coverage
100.0% coverage
Open a rule to inspect its HTTP and extracted evidence.
robots.analysis
100.0% confidencerobots.policy
100.0% confidencehttps://hexdocs.pm/robots.txt
transport.fetch
100.0% confidencehttps://hexdocs.pm/
html.accessibility
90.0% confidenceStructured evidence was stored. This view has no safe summary for it yet.
html.content
100.0% confidencehtml.discovery
100.0% confidenceStructured evidence was stored. This view has no safe summary for it yet.
html.forms
100.0% confidencehtml.images
100.0% confidencehtml.links
100.0% confidencehtml.metadata
100.0% confidencehtml.structure
100.0% confidencehtml.structured_data
100.0% confidencehtml.web_mcp
90.0% confidencehttp.semantics
100.0% confidenceresponse.semantics
100.0% confidencescan.core_preview
100.0% confidencelinked_pages.summary
100.0% confidencediscovery.a2a_agent_card
100.0% confidencediscovery.acp_checkout_options
100.0% confidencediscovery.acp_delegate_payment_options
100.0% confidencediscovery.agent_friendly_404
100.0% confidencediscovery.agent_instructions
100.0% confidencediscovery.agent_mode_view
100.0% confidencediscovery.agent_skills_index
100.0% confidencediscovery.ai_catalog
100.0% confidencediscovery.api_catalog
100.0% confidencediscovery.api_catalog_head
100.0% confidencediscovery.ard_catalog
100.0% confidencediscovery.auth_md
100.0% confidencediscovery.llms_txt
100.0% confidencediscovery.markdown_negotiation
100.0% confidencediscovery.markdown_url_fallback
100.0% confidencediscovery.mcp_endpoint
100.0% confidencediscovery.mcp_manifest
100.0% confidencediscovery.mcp_server_card
100.0% confidencediscovery.modular_llms_txt
100.0% confidencediscovery.oauth_authorization_server
100.0% confidencediscovery.oauth_protected_resource
100.0% confidencediscovery.openapi
100.0% confidencediscovery.pricing_markdown
100.0% confidencediscovery.sitemap
100.0% confidencediscovery.ucp
100.0% confidencediscovery.web_bot_auth_directory
100.0% confidencediscovery.x402
100.0% confidencehttps://hexdocs.pm/sitemap.xml
https://hexdocs.pm/llms.txt
https://hexdocs.pm/pricing.md
https://hexdocs.pm/.well-known/agent-card.json
https://hexdocs.pm/.well-known/api-catalog
https://hexdocs.pm/.well-known/api-catalog
https://hexdocs.pm/.well-known/oauth-protected-resource
https://hexdocs.pm/.well-known/ucp
https://hexdocs.pm/openapi.json
https://hexdocs.pm/openapi.yaml
https://hexdocs.pm/openapi.yml
https://hexdocs.pm/auth.md
https://hexdocs.pm/.well-known/oauth-authorization-server
https://hexdocs.pm/index.md
https://hexdocs.pm/
https://hexdocs.pm/.well-known/agent-readiness-probe/not-found-7b91e8d4
https://hexdocs.pm/.well-known/agent-skills/index.json
https://hexdocs.pm/docs/llms.txt
https://hexdocs.pm/api/llms.txt
https://hexdocs.pm/developers/llms.txt
https://hexdocs.pm/.well-known/agent-instructions.md
https://hexdocs.pm/agent-instructions.md
https://hexdocs.pm/.well-known/ard.json
https://hexdocs.pm/.well-known/ai-catalog.json
https://hexdocs.pm/.well-known/mcp
https://hexdocs.pm/.well-known/mcp/server-card.json
https://hexdocs.pm/.well-known/mcp/manifest.json
https://hexdocs.pm/.well-known/http-message-signatures-directory
https://hexdocs.pm/
https://hexdocs.pm/checkout_sessions
https://hexdocs.pm/agentic_commerce/delegate_payment
https://hexdocs.pm/discovery/resources
links.agent_auth
100.0% confidencelinks.docs_access
100.0% confidencelinks.llms
100.0% confidencelinks.public_api
100.0% confidencemcp.inspection
100.0% confidencenlweb.inspection
100.0% confidencehttps://hexdocs.pm/ask
graphql.inspection
100.0% confidencehttps://hexdocs.pm/graphql
https://hexdocs.pm/api/graphql
https://hexdocs.pm/v1/graphql
mcp_apps.inspection
100.0% confidencedeveloper_tooling.inspection
100.0% confidencerepository.inspection
100.0% confidencemcp_registry.inspection
100.0% confidencehttps://registry.modelcontextprotocol.io/robots.txt
https://registry.modelcontextprotocol.io/v0.1/servers
wikimedia.inspection
100.0% confidencehttps://api.wikimedia.org/robots.txt
https://api.wikimedia.org/core/v1/wikidata/search/page
skills_sh.inspection
100.0% confidenceranked_search.inspection
100.0% confidenceImmutable scan identity
Versioned evidence first
A later criteria version can evaluate this same stored scan without changing what the scanner observed.
Open this exact snapshotShare this report, apply the relevant changes, then scan again to check the result.
Connection lost
Reconnecting
Server error
Reconnecting