Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 69 out of 100
- Agent Ease of Use 55 out of 100
- Security & Trust 82 out of 100
- GEO, AIO and AEO 61 out of 100
- SEO 100 out of 100
- Performance 89 out of 100
- Accessibility 71 out of 100
What AI sees of your website
Guest WiFi Platform for Hospitality | CaptiveWiFi
CaptiveWiFi turns guest WiFi into guest intelligence. Capture every walk-in, sync your CRM, and enrol loyalty members in 15 seconds. Trusted by 1,847 hospitality venues worldwide.
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 | 69 | Needs work | 39 | 0 | 0 | |
| Discoverability | 35 | Priority fix | 3 | 0 | 0 | |
| Content Readiness | 94 | Strong | 31 | 0 | 0 | |
| Bot Access Control | 75 | Mostly ready | 5 | 0 | 0 | |
| Agent Ease of Use | 55 | Needs work | 16 | 4 | 5 | View details |
| API | 70 | Needs work | 6 | 1 | 2 | View details |
| Auth | 45 | Priority fix | 4 | 0 | 0 | |
| MCP | 47 | Priority fix | 2 | 0 | 0 | |
| Skill Discovery | 51 | Needs work | 2 | 2 | 3 | View details |
| Google Agentic Browsing | 66 | Needs work | 2 | 1 | 0 | View details |
| GEO, AIO and AEO | 61 | Needs work | 7 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| AEO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| Security & Trust | 82 | Mostly ready | 19 | 0 | 0 | |
| Security & Trust | 82 | Mostly ready | 19 | 0 | 0 | |
| Performance | 89 | Mostly ready | 15 | 0 | 0 | |
| Performance | 89 | Mostly ready | 15 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
Agent Ease of UseSkill DiscoveryEmerging recommendation
Agent Skills index
Agent Skills index failed at "Validate discovery index schema".
60 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
Agent Skills index
Agent Skills index failed at "Validate discovery index schema".
Needs attention
Agent Skills index
Issue
Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.
Details
Why it matters
An Agent Skills index lets agents discover task-specific instructions through a small trusted index, then verify and load only the skill artifacts they need.
Check name
Agent Skills index
Score
40/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish an Agent Skills discovery index that advertises digest-pinned SKILL.md or archive artifacts.
Result
Agent Skills index failed at "Validate discovery index schema".
Validation steps
Validate discovery index schema
Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.
Agent Skills discovery index schema is invalid
Top-level issues
- $schema must be https://schemas.agentskills.io/discovery/0.2.0/schema.json
Invalid skills
[ { "index": 0, "valid": false, "name": "Guest Data Access", "type": "", "description": "Query and manage guest profiles, visit history, and opt-in status for WiFi guests across all venues", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [] }, { "index": 1, "valid": false, "name": "Venue Analytics", "type": "", "description": "Access footfall counts, dwell times, visit frequency, opt-in rates, and peak time analysis by venue", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [ "description should explain when to use the skill" ] }, { "index": 2, "valid": false, "name": "Feedback & Review Management", "type": "", "description": "Retrieve guest feedback submissions with sentiment scores and reply to feedback on behalf of operators", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [] }, { "index": 3, "valid": false, "name": "Venue Management", "type": "", "description": "List and manage venue locations, metadata, and WiFi configuration", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [ "description should explain when to use the skill" ] } ]Validate skill entries
One or more Agent Skills entries have invalid required fields.
One or more skill entries are invalid
Skill entry findings
[ { "index": 0, "valid": false, "name": "Guest Data Access", "type": "", "description": "Query and manage guest profiles, visit history, and opt-in status for WiFi guests across all venues", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [] }, { "index": 1, "valid": false, "name": "Venue Analytics", "type": "", "description": "Access footfall counts, dwell times, visit frequency, opt-in rates, and peak time analysis by venue", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [ "description should explain when to use the skill" ] }, { "index": 2, "valid": false, "name": "Feedback & Review Management", "type": "", "description": "Retrieve guest feedback submissions with sentiment scores and reply to feedback on behalf of operators", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [] }, { "index": 3, "valid": false, "name": "Venue Management", "type": "", "description": "List and manage venue locations, metadata, and WiFi configuration", "url": "", "digest": "", "resolvedUrl": "https://www.captivewifi.com/.well-known/agent-skills/index.json", "originClass": "same-origin", "missing": [ "type", "url", "digest" ], "invalid": [ "name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen" ], "warnings": [ "description should explain when to use the skill" ] } ]Verify advertised artifacts
No valid skill artifacts were available to verify.
Validate skill content
For skill-md artifacts, include valid YAML frontmatter with name and description followed by Markdown. For archives, include a safe root SKILL.md and no unsafe paths.
Review skill artifact security
Do not publish secrets or prompt-injection instructions in skill artifacts. Treat scripts, archives, and cross-origin artifacts as software supply-chain surfaces.
Evidence log5 steps · 22 lines
Validate discovery index schema [fail]! Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.INFOValidate discovery index schemaINFOParse Agent Skills index JSON validJson=true contentTypeCompatible=trueFAILCompare $schema URI expected="https://schemas.agentskills.io/discovery/0.2.0/schema.json"FAILCompare top-level schema issue count actual=1 expected=0WARNCompare unknown top-level field count actual=4 expected=0FAILAgent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.Validate skill entries [fail]! One or more Agent Skills entries have invalid required fields.INFOValidate skill entriesFAILCompare advertised skill count actual=4 expected="> 0"FAILCompare valid skill entry count actual=0 expected="same as advertised skill count"FAILInvalid skill entry skill={"index":0,"valid":false,"name":"Guest Data Access","type":"","description":"Query and manage guest profiles, visit history, and opt-in status for WiFi guests across all venues","url":"","digest":"","resolvedUrl":"https://www.captivewifi.com/.well-known/agent-skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":["name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen"],"warnings":[]}FAILInvalid skill entry skill={"index":1,"valid":false,"name":"Venue Analytics","type":"","description":"Access footfall counts, dwell times, visit frequency, opt-in rates, and peak time analysis by venue","url":"","digest":"","resolvedUrl":"https://www.captivewifi.com/.well-known/agent-skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":["name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen"],"warnings":["description should explain when to use the skill"]}FAILInvalid skill entry skill={"index":2,"valid":false,"name":"Feedback & Review Management","type":"","description":"Retrieve guest feedback submissions with sentiment scores and reply to feedback on behalf of operators","url":"","digest":"","resolvedUrl":"https://www.captivewifi.com/.well-known/agent-skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":["name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen"],"warnings":[]}FAILInvalid skill entry skill={"index":3,"valid":false,"name":"Venue Management","type":"","description":"List and manage venue locations, metadata, and WiFi configuration","url":"","digest":"","resolvedUrl":"https://www.captivewifi.com/.well-known/agent-skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":["name must be lowercase alphanumeric plus hyphens, max 64 characters, with no leading/trailing or consecutive hyphen"],"warnings":["description should explain when to use the skill"]}FAILOne or more Agent Skills entries have invalid required fields.Verify advertised artifacts [warning]! No valid skill artifacts were available to verify.INFOVerify advertised artifactsWARNCompare artifact fetch count actual=0 expected="> 0"WARNNo valid skill artifacts were available to verify.Validate skill content [warning]INFOValidate skill contentWARNAgent Skills step completed with warningsReview skill artifact security [warning]INFOReview skill artifact securityWARNCompare security finding count actual=0 expected=0WARNAgent Skills step completed with warnings
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Validate API catalog targets".
27 Fail
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Validate API catalog targets".
Needs attention
API Catalog
Issue
API catalog target https://www.captivewifi.com/api (service-meta) returned HTTP 403 instead of a 2xx/3xx response.
Details
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
73/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 targets".
Validation steps
Check API catalog HEAD Link header
HEAD /.well-known/api-catalog did not expose a Link header with rel="api-catalog".
API catalog HEAD Link discovery is incomplete
Validate API catalog media type
The API catalog uses application/linkset+json but does not include the recommended RFC 9727 profile parameter.
API catalog media type is not application/linkset+json
Validate API catalog targets
API catalog target https://www.captivewifi.com/api (service-meta) returned HTTP 403 instead of a 2xx/3xx response.
API catalog targets are unreachable or media types mismatch
Evidence log3 steps · 15 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/linkset+json"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 [warning]! The API catalog uses application/linkset+json but does not include the recommended RFC 9727 profile parameter.INFOValidate API catalog media typeWARNCompare API catalog media type actual="application/linkset+json" expected="application/linkset+json"WARNCompare RFC 9727 profile parameter actual=false expected=trueWARNThe API catalog uses application/linkset+json but does not include the recommended RFC 9727 profile parameter. status="warning"Validate API catalog targets [fail]! API catalog target https://www.captivewifi.com/api (service-meta) returned HTTP 403 instead of a 2xx/3xx response.INFOValidate API catalog targetsINFOFetch same-origin API catalog targets and record same-site/external skipsSKIPSkipped API catalog target fetch rel="service-desc" href="https://dashboard.captivewifi.io/api/documentation" resolvedUrl="https://dashboard.captivewifi.io/api/documentation" reason="External target was recorded but not fetched."FAILAPI catalog target failed validation rel="service-meta" href="https://www.captivewifi.com/api" statusCode=403 contentType="text/html; charset=UTF-8" advertisedType="text/html" typeMatches=trueSKIPSkipped API catalog target fetch rel="describedby" href="https://dashboard.captivewifi.io/api/documentation" resolvedUrl="https://dashboard.captivewifi.io/api/documentation" reason="External target was recorded but not fetched."FAILCompare API catalog target failure count actual=1 expected=0FAILAPI catalog target https://www.captivewifi.com/api (service-meta) returned HTTP 403 instead of a 2xx/3xx response.
Agent Ease of UseGoogle Agentic BrowsingBrowser audit
Accessibility tree is not well-formed
100 Fail
Agent Ease of UseGoogle Agentic BrowsingBrowser audit
Accessibility tree is not well-formed
Check name
Accessibility tree is not well-formed
Score
0/100
Status
fail
Device
desktop
Category
Google Agentic Browsing
Fix guidance
A well-formed [accessibility tree](http://goo.gle/lighthouse-agentic-a11y) helps AI agents to navigate and interact with the page.
Evidence
{
"description": "A well-formed [accessibility tree](http://goo.gle/lighthouse-agentic-a11y) helps AI agents to navigate and interact with the page."
}Sign in to see 37 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