Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 67 out of 100
- Agent Ease of Use 56 out of 100
- Security & Trust 46 out of 100
- GEO, AIO and AEO 57 out of 100
- SEO 100 out of 100
- Performance 95 out of 100
- Accessibility 97 out of 100
What AI sees of your website
Tavily
Tavily is the real‑time search engine for AI agents and RAG workflows — Fast and secure APIs for web search and content extraction.
Next step
Turn this report into a fix workflow
2 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 | 67 | Needs work | 35 | 0 | 0 | |
| Discoverability | 63 | Needs work | 7 | 0 | 0 | |
| Content Readiness | 76 | Mostly ready | 25 | 0 | 0 | |
| Bot Access Control | 63 | Needs work | 3 | 0 | 0 | |
| Agent Ease of Use | 56 | Needs work | 11 | 2 | 3 | View details |
| API | 71 | Needs work | 6 | 1 | 2 | View details |
| MCP | 48 | Priority fix | 1 | 0 | 0 | |
| Skill Discovery | 54 | Needs work | 4 | 1 | 1 | View details |
| GEO, AIO and AEO | 57 | Needs work | 7 | 2 | 2 | View details |
| GEO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| AEO Readiness | 43 | Priority fix | 2 | 2 | 2 | View details |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| Security & Trust | 46 | Priority fix | 8 | 0 | 0 | |
| Security & Trust | 46 | Priority fix | 8 | 0 | 0 | |
| Performance | 95 | Strong | 15 | 0 | 0 | |
| Performance | 95 | Strong | 15 | 0 | 0 | |
| Accessibility | 97 | Strong | 5 | 0 | 0 | |
| Accessibility | 97 | Strong | 5 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
6 items need attention
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Validate version-specific card shape".
33 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Validate version-specific card shape".
Needs attention
A2A Agent Card
Issue
A2A Agent Card is missing required fields, contains invalid URLs, or exposes unsafe public metadata.
Details
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
67/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 "Validate version-specific card shape".
Validation steps
Validate version-specific card shape
A2A Agent Card is missing required fields, contains invalid URLs, or exposes unsafe public metadata.
Missing required fields
- supportedInterfaces[]
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 log2 steps · 9 lines
Validate version-specific card shape [fail]! A2A Agent Card is missing required fields, contains invalid URLs, or exposes unsafe public metadata.INFOValidate version-specific card shapeFAILCompare missing required card fields actual=["supportedInterfaces[]"] expected="none"FAILCheck every declared A2A skill has required name, description, and endpoint fields actual=0 expected=0 invalidSkills=[]INFOReview declared endpoint interfaces interfaces=[{"url":"https://api.tavily.com","protocolBinding":"JSONRPC","issues":[]}]FAILA2A Agent Card is missing required fields, contains invalid URLs, or exposes unsafe public metadata.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 url="https://api.tavily.com/" reason="Endpoint is cross-origin; default scanner policy does not probe it."WARNA2A endpoint probing was skipped because the endpoint was cross-origin, unavailable from the card, or uses an unsupported binding.
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Validate API catalog media type".
25 Fail
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Validate API catalog media type".
Needs attention
API Catalog
Issue
Content-Type "application/octet-stream" is not valid for an RFC 9727 API catalog.
Why it matters
API catalogs help agents find API endpoints, service descriptions, documentation, status resources, auth metadata, and related machine-readable contracts without guessing entry points.
Check name
API Catalog
Score
75/100
Status
fail
Category
API
Maturity
Established
Goal
Publish an API catalog for automated public API discovery using RFC 9727 when this origin exposes public APIs.
Result
API Catalog failed at "Validate API catalog media type".
Validation steps
Check API catalog HEAD Link header
HEAD /.well-known/api-catalog did not expose a Link header with rel="api-catalog".
Validate API catalog media type
Content-Type "application/octet-stream" is not valid for an RFC 9727 API catalog.
Validate API catalog targets
API catalog targets are external or same-site only; they were recorded but not fetched by this origin-scoped check.
Evidence log3 steps · 33 lines
Check API catalog HEAD Link header [warning]! HEAD /.well-known/api-catalog did not expose a Link header with rel="api-catalog".INFOCheck API catalog HEAD Link headerINFOSend HEAD request to API catalog path attempted=true statusCode=200 contentType="application/octet-stream"WARNCompare HEAD Link rel=api-catalog count actual=0 expected="> 0"WARNHEAD /.well-known/api-catalog did not expose a Link header with rel="api-catalog". status="warning"Validate API catalog media type [fail]! Content-Type "application/octet-stream" is not valid for an RFC 9727 API catalog.INFOValidate API catalog media typeFAILCompare API catalog media type actual="application/octet-stream" expected="application/linkset+json"FAILCompare JSON compatibility fallback actual=false expected=trueFAILContent-Type "application/octet-stream" is not valid for an RFC 9727 API catalog.Validate API catalog targets [warning]! API catalog targets are external or same-site only; they were recorded but not fetched by this origin-scoped check.INFOValidate API catalog targetsINFOFetch same-origin API catalog targets and record same-site/external skipsSKIPSkipped API catalog target fetch rel="item" href="https://api.tavily.com/" resolvedUrl="https://api.tavily.com/" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="item" href="https://mcp.tavily.com/mcp/" resolvedUrl="https://mcp.tavily.com/mcp/" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-desc" href="https://tavily.com/.well-known/openapi.json" resolvedUrl="https://tavily.com/.well-known/openapi.json" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-doc" href="https://docs.tavily.com/documentation/api-reference/introduction" resolvedUrl="https://docs.tavily.com/documentation/api-reference/introduction" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="item" href="https://api.tavily.com/search" resolvedUrl="https://api.tavily.com/search" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="item" href="https://api.tavily.com/extract" resolvedUrl="https://api.tavily.com/extract" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="item" href="https://api.tavily.com/crawl" resolvedUrl="https://api.tavily.com/crawl" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="item" href="https://api.tavily.com/map" resolvedUrl="https://api.tavily.com/map" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="item" href="https://api.tavily.com/research" resolvedUrl="https://api.tavily.com/research" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-desc" href="https://tavily.com/.well-known/openapi.json" resolvedUrl="https://tavily.com/.well-known/openapi.json" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-doc" href="https://docs.tavily.com/documentation/api-reference/endpoint/search" resolvedUrl="https://docs.tavily.com/documentation/api-reference/endpoint/search" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-desc" href="https://tavily.com/.well-known/openapi.json" resolvedUrl="https://tavily.com/.well-known/openapi.json" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-doc" href="https://docs.tavily.com/documentation/api-reference/endpoint/extract" resolvedUrl="https://docs.tavily.com/documentation/api-reference/endpoint/extract" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-desc" href="https://tavily.com/.well-known/openapi.json" resolvedUrl="https://tavily.com/.well-known/openapi.json" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-doc" href="https://docs.tavily.com/documentation/api-reference/endpoint/crawl" resolvedUrl="https://docs.tavily.com/documentation/api-reference/endpoint/crawl" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-desc" href="https://tavily.com/.well-known/openapi.json" resolvedUrl="https://tavily.com/.well-known/openapi.json" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-doc" href="https://docs.tavily.com/documentation/api-reference/endpoint/map" resolvedUrl="https://docs.tavily.com/documentation/api-reference/endpoint/map" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-desc" href="https://tavily.com/.well-known/openapi.json" resolvedUrl="https://tavily.com/.well-known/openapi.json" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-doc" href="https://docs.tavily.com/documentation/api-reference/endpoint/research" resolvedUrl="https://docs.tavily.com/documentation/api-reference/endpoint/research" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-desc" href="https://tavily.com/.well-known/mcp.json" resolvedUrl="https://tavily.com/.well-known/mcp.json" reason="Same-site target was recorded but not fetched."SKIPSkipped API catalog target fetch rel="service-doc" href="https://docs.tavily.com/documentation/mcp" resolvedUrl="https://docs.tavily.com/documentation/mcp" reason="Same-site target was recorded but not fetched."WARNCompare API catalog target failure count actual=0 expected=0WARNAPI catalog targets are external or same-site only; they were recorded but not fetched by this origin-scoped check. status="warning"
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Answer-first passages
AEO: Answer-first passages scored 0/100 and needs a fix.
9 Fail
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Answer-first passages
AEO: Answer-first passages scored 0/100 and needs a fix.
Needs attention
AEO: Answer-first passages
Issue
13 section(s) bury or omit a concise opening answer. No direct definition pattern was detected.
Details
Why it matters
Answer engines need visible answer passages, clear question and heading structure, entity definitions, evidence, and trust signals. These signals improve extraction and attribution, but they do not guarantee answer-engine citations or search features.
Check name
AEO: Answer-first passages
Score
0/100
Status
fail
Category
GEO, AIO & AEO
Maturity
Emerging recommendation
Goal
Make page content easy for answer engines and assistants to extract, answer from, and attribute without promising inclusion in any proprietary answer surface.
Result
AEO: Answer-first passages scored 0/100 and needs a fix.
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Question and answer structure
AEO: Question and answer structure scored 48/100 and needs a fix.
5 Fail
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Question and answer structure
AEO: Question and answer structure scored 48/100 and needs a fix.
Needs attention
AEO: Question and answer structure
Issue
No natural question headings were detected. No visible FAQ or Q&A pattern was detected. No list or table answer format was detected.
Details
Why it matters
Answer engines need visible answer passages, clear question and heading structure, entity definitions, evidence, and trust signals. These signals improve extraction and attribution, but they do not guarantee answer-engine citations or search features.
Check name
AEO: Question and answer structure
Score
48/100
Status
fail
Category
GEO, AIO & AEO
Maturity
Emerging recommendation
Goal
Make page content easy for answer engines and assistants to extract, answer from, and attribute without promising inclusion in any proprietary answer surface.
Result
AEO: Question and answer structure scored 48/100 and needs a fix.
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Evidence and trust
AEO: Evidence and trust scored 57/100 and needs improvement.
4 Warning
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Evidence and trust
AEO: Evidence and trust scored 57/100 and needs improvement.
Needs attention
AEO: Evidence and trust
Issue
Missing answer evidence or trust signals: author, publisher, freshnessDate.
Details
Why it matters
Answer engines need visible answer passages, clear question and heading structure, entity definitions, evidence, and trust signals. These signals improve extraction and attribution, but they do not guarantee answer-engine citations or search features.
Check name
AEO: Evidence and trust
Score
57/100
Status
warning
Category
GEO, AIO & AEO
Maturity
Emerging recommendation
Goal
Make page content easy for answer engines and assistants to extract, answer from, and attribute without promising inclusion in any proprietary answer surface.
Result
AEO: Evidence and trust scored 57/100 and needs improvement.
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Entity and definition clarity
AEO: Entity and definition clarity scored 74/100 and needs improvement.
2 Warning
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Entity and definition clarity
AEO: Entity and definition clarity scored 74/100 and needs improvement.
Needs attention
AEO: Entity and definition clarity
Issue
No direct definition sentence was detected.
Details
Why it matters
Answer engines need visible answer passages, clear question and heading structure, entity definitions, evidence, and trust signals. These signals improve extraction and attribution, but they do not guarantee answer-engine citations or search features.
Check name
AEO: Entity and definition clarity
Score
74/100
Status
warning
Category
GEO, AIO & AEO
Maturity
Emerging recommendation
Goal
Make page content easy for answer engines and assistants to extract, answer from, and attribute without promising inclusion in any proprietary answer surface.
Result
AEO: Entity and definition clarity scored 74/100 and needs improvement.
Sign in to see 30 other issues and the full report
Create a free account to unlock every issue, evidence details, exports, and higher free limits.
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