Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 39 out of 100
- Agent Ease of Use 42 out of 100
- Security & Trust 74 out of 100
- GEO, AIO and AEO 33 out of 100
- SEO 92 out of 100
- Performance 79 out of 100
- Accessibility 58 out of 100
What AI sees of your website
No page metadata or readable excerpt was captured.
Next step
Turn this report into a fix workflow
3 failed checks are ready to move into MCP or CLI remediation. Generate a repair prompt, connect the scanner to your coding agent, or open the integration docs before your next rescan.
| Metric | Score | Status | Passed | Failed | Warning | Evidence |
|---|---|---|---|---|---|---|
| AI Discoverability | 39 | Priority fix | 15 | 3 | 0 | View details |
| Discoverability | 48 | Priority fix | 5 | 0 | 0 | |
| Content Readiness | 12 | Priority fix | 6 | 0 | 0 | |
| Bot Access Control | 54 | Needs work | 4 | 3 | 0 | View details |
| Agent Ease of Use | 42 | Priority fix | 13 | 5 | 5 | View details |
| API | 50 | Needs work | 4 | 0 | 0 | |
| Auth | 40 | Priority fix | 4 | 0 | 0 | |
| MCP | 37 | Priority fix | 3 | 0 | 0 | |
| Skill Discovery | 41 | Priority fix | 2 | 5 | 5 | View details |
| GEO, AIO and AEO | 33 | Priority fix | 2 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| SEO | 92 | Strong | 9 | 0 | 0 | |
| SEO | 92 | Strong | 9 | 0 | 0 | |
| Security & Trust | 74 | Needs work | 18 | 0 | 0 | |
| Security & Trust | 74 | Needs work | 18 | 0 | 0 | |
| Performance | 79 | Mostly ready | 16 | 0 | 0 | |
| Performance | 79 | Mostly ready | 16 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Validate transport".
80 Fail
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Validate transport".
Needs attention
ai.txt policy
Issue
ai.txt appears to be an HTML page or error document rather than a plain-text policy.
Why it matters
ai.txt is a fragmented emerging convention. It can communicate human-readable AI crawling, training, attribution, restriction, and contact guidance, but it is not a standard access-control mechanism and absence should not be penalized.
Check name
ai.txt policy
Score
20/100
Status
fail
Category
Bot Access Control
Maturity
Emerging recommendation
Goal
Publish an advisory human-readable AI usage policy only when the site intentionally needs one.
Result
ai.txt policy failed at "Validate transport".
Validation steps
Validate transport
ai.txt appears to be an HTML page or error document rather than a plain-text policy.
Parse ai.txt policy
Transport validation failed before policy parsing could be trusted.
Validate policy content
ai.txt appears to expose secrets, tokens, or credentials.
Evidence log3 steps · 14 lines
Validate transport [fail]! ai.txt appears to be an HTML page or error document rather than a plain-text policy.INFOValidate transportINFOChecking ai.txt media type, size, line count, and whether the response looks like plain text contentType="text/html; charset=\"utf-8\"" length=432518 lineCount=140FAILCompare media type to preferred text/plain transport actual="text/html" expected="text/plain preferred; readable text required"FAILai.txt appears to be an HTML page or error document rather than a plain-text policy.Parse ai.txt policy [fail]! Transport validation failed before policy parsing could be trusted.INFOParse ai.txt policyINFODetecting ai.txt convention from bracket sections, frontmatter, headings, and ai.txt context linksINFODetected policy structure convention="unknown-text" sections=[] markdownHeadings=[]WARNCheck AI Visibility required sections actual="missing identity, permissions, restrictions" expected="identity, permissions, and restrictions" missingRecommended=["attribution","contact","content-types"]WARNTransport validation failed before policy parsing could be trusted.Validate policy content [fail]! ai.txt appears to expose secrets, tokens, or credentials.INFOValidate policy contentINFOChecking required section content, permission/restriction language, attribution, contact details, and safety risks convention="unknown-text"INFODetected policy signals hasPermissionLanguage=true hasRestrictionLanguage=true hasTrainingLanguage=true hasAttributionLanguage=true hasContact=falseFAILCheck required and recommended section coverage actual={"missingRequired":["identity","permissions","restrictions"],"missingRecommended":["attribution","contact","content-types"]} expected={"missingRequired":[],"recommendedPresentWhenPossible":true}FAILai.txt appears to expose secrets, tokens, or credentials. possibleSecrets=["/ai.txt: Public metadata appears to expose a secret detected by Betterleaks. match=\"generic-api-key\" snippet=\"AUd6...s7O0\"","/ai.txt: Public metadata appears to expose a secret detected by Betterleaks. match=\"generic-api-key\" snippet=\"AdQI...EwYM\""]
Agent Ease of UseSkill DiscoveryEmerging recommendation
agents.json
agents.json failed at "Validate Wildcard schema shape".
38 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
agents.json
agents.json failed at "Validate Wildcard schema shape".
Needs attention
agents.json
Issue
agents.json response is not valid JSON.
Why it matters
Wildcard agents.json gives agents workflow-level context beyond plain OpenAPI, including flows, links, examples, and API action structure. It is an emerging OpenAPI-adjacent proposal, so scanners should validate the contract shape without treating it as an A2A or IETF standard.
Check name
agents.json
Score
25/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish a Wildcard-style agents.json file so agents can discover OpenAPI-backed workflows, links, examples, and authentication requirements.
Result
agents.json failed at "Validate Wildcard schema shape".
Validation steps
Discover agents.json
agents.json was found only at the fallback /agents.json path.
Validate Wildcard schema shape
agents.json response is not valid JSON.
Validate API actions
Wildcard agents.json must include valid OpenAPI-derived action or operation definitions.
Validate flows and links
No executable flows were found.
Review examples and LLM usability
Examples or descriptions are too thin for reliable agent argument generation.
Evidence log5 steps · 23 lines
Discover agents.json [warning]! agents.json was found only at the fallback /agents.json path.INFODiscover agents.jsonINFOTry agents.json discovery paths in priority order paths=["/.well-known/agents.json","/agents.json"]WARNagents.json candidate path did not return a usable contract path="/.well-known/agents.json" statusCode=404 contentType="text/html; charset=\"utf-8\""PASSFound an agents.json candidate path="/agents.json" statusCode=200 contentType="text/html; charset=\"utf-8\"" bytes=430093WARNSelected fallback agents.json location path="/agents.json" requestedUrl="https://www.facebook.com/agents.json"WARNagents.json was found only at the fallback /agents.json path.Validate Wildcard schema shape [fail]! agents.json response is not valid JSON.INFOValidate Wildcard schema shapeINFOParse agents.json and classify contract shape shape="unknown"FAILCompare contract shape actual="unknown" expected="wildcard"FAILCompare missing required schema fields actual="none" expected="none"FAILCompare Content-Type with JSON expectation actual=false expected=trueFAILagents.json response is not valid JSON.Validate API actions [fail]! Wildcard agents.json must include valid OpenAPI-derived action or operation definitions.INFOValidate API actionsFAILCompare API action count actual=0 expected="> 0"FAILCompare invalid action definitions actual=0 expected=0FAILWildcard agents.json must include valid OpenAPI-derived action or operation definitions.Validate flows and links [fail]! No executable flows were found.INFOValidate flows and linksFAILCompare workflow flow count actual=0 expected="> 0"FAILCompare operation link issues actual=0 expected=0FAILNo executable flows were found.Review examples and LLM usability [warning]! Examples or descriptions are too thin for reliable agent argument generation.INFOReview examples and LLM usabilityWARNCompare usable example count actual=0 expected="> 0 when actions are present"WARNExamples or descriptions are too thin for reliable agent argument generation.
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Detect A2A card version".
31 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Detect A2A card version".
Needs attention
A2A Agent Card
Issue
The discovered JSON document does not match a supported A2A Agent Card version family.
Why it matters
A2A Agent Cards provide protocol-specific discovery for agent identity, skills, input and output modes, transport bindings, capabilities, and security requirements. Legacy A2A also used /.well-known/agent.json, so scanners must classify the card shape before reporting readiness.
Check name
A2A Agent Card
Score
39/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish a version-appropriate A2A Agent Card so A2A-compatible clients can discover agent skills and invoke the declared endpoint safely.
Result
A2A Agent Card failed at "Detect A2A card version".
Validation steps
Discover A2A Agent Card
The A2A Agent Card was found at a legacy or fallback path.
Detect A2A card version
The discovered JSON document does not match a supported A2A Agent Card version family.
Validate version-specific card shape
A2A Agent Card response is not valid JSON.
Validate HTTP delivery
The card was parseable JSON but was not served with a JSON-compatible content type.
Probe same-origin A2A endpoint
A2A endpoint probing was skipped because the endpoint was cross-origin, unavailable from the card, or uses an unsupported binding.
Evidence log5 steps · 26 lines
Discover A2A Agent Card [warning]! The A2A Agent Card was found at a legacy or fallback path.INFODiscover A2A Agent CardINFOTry A2A discovery paths in priority order paths=["/.well-known/agent-card.json","/.well-known/agent.json","/agent-card.json","/.well-known/a2a/agent-card.json"]WARNA2A candidate path did not return a usable card path="/.well-known/agent-card.json" statusCode=404 contentType="text/html; charset=\"utf-8\""WARNA2A candidate path did not return a usable card path="/.well-known/agent.json" statusCode=404 contentType="text/html; charset=\"utf-8\""PASSFound an A2A candidate path="/agent-card.json" statusCode=200 contentType="text/html; charset=\"utf-8\"" bytes=430150WARNA2A candidate path did not return a usable card path="/.well-known/a2a/agent-card.json" statusCode=404 contentType="text/html; charset=\"utf-8\""WARNSelected non-canonical A2A Agent Card path="/agent-card.json" pathClass="fallback" requestedUrl="https://www.facebook.com/agent-card.json"WARNThe A2A Agent Card was found at a legacy or fallback path.Detect A2A card version [fail]! The discovered JSON document does not match a supported A2A Agent Card version family.INFODetect A2A card versionINFORead version indicators from the card detectionEvidence=[]FAILCompare detected A2A version family actual="unknown" expected="v0.1, v0.2, v0.3, or v1"FAILThe discovered JSON document does not match a supported A2A Agent Card version family.Validate version-specific card shape [fail]! A2A Agent Card response is not valid JSON.INFOValidate version-specific card shapeFAILCompare missing required card fields actual="none" expected="none"FAILCheck every declared A2A skill has required name, description, and endpoint fields actual=0 expected=0 invalidSkills=[]INFOReview declared endpoint interfaces interfaces=[]FAILA2A Agent Card response is not valid JSON.Validate HTTP delivery [warning]! The card was parseable JSON but was not served with a JSON-compatible content type.INFOValidate HTTP deliveryWARNCompare card Content-Type with JSON expectation actual="text/html; charset=\"utf-8\"" expected="application/json or +json"INFOReview selected discovery path path="/agent-card.json" pathClass="fallback"WARNHTTP delivery/path warning warning="card was found only at a non-standard fallback path"WARNThe card was parseable JSON but was not served with a JSON-compatible content type.Probe same-origin A2A endpoint [warning]! A2A endpoint probing was skipped because the endpoint was cross-origin, unavailable from the card, or uses an unsupported binding.INFOProbe same-origin A2A endpointINFOProbe same-origin A2A endpoint when scanner policy allows itSKIPSkipped endpoint probe reason="No valid A2A card was available to probe."WARNA2A endpoint probing was skipped because the endpoint was cross-origin, unavailable from the card, or uses an unsupported binding.
Sign in to see 38 other issues and the full report
Create a free account to unlock every issue, evidence details, exports, and higher free limits.
Development Note:
Please configure GOOGLE_CLIENT_ID in .env to activate live login.
Fix with MCP or CLI
Use this report as the handoff into remediation. Generate a coding-agent prompt with the failing checks attached, or jump to the MCP and CLI setup docs before your next rescan.
Score history
Public scan score over time
Public reports for this website origin. Select any point or report link to open that canonical report.
| Scan date | Score | Readiness | Report |
|---|---|---|---|
| 50/100 | Level 3, Bot-Aware | Current report | |
| 49/100 | Level 2, Agent-Limited | View report | |
| 49/100 | Level 2, Agent-Limited | View report | |
| 49/100 | Level 2, Agent-Limited | View report | |
| 43/100 | Level 2, Agent-Limited | View report |