Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 63 out of 100
- Agent Ease of Use 48 out of 100
- Security & Trust 46 out of 100
- GEO, AIO and AEO 66 out of 100
- SEO 92 out of 100
- Performance 92 out of 100
- Accessibility 89 out of 100
What AI sees of your website
Filess.io | The Complete Developer Platform — Hosting, Databases & Tunnels
Ship your full stack apps in seconds. Web Hosting, Managed Databases (MySQL, PostgreSQL, MongoDB, MariaDB & SQL Server) and Secure Tunnels. Everything you need to build, deploy, and scale. No credit card required.
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 | 63 | Needs work | 37 | 3 | 0 | View details |
| Discoverability | 67 | Needs work | 8 | 0 | 0 | |
| Content Readiness | 73 | Needs work | 23 | 0 | 0 | |
| Bot Access Control | 52 | Needs work | 6 | 3 | 0 | View details |
| Agent Ease of Use | 48 | Priority fix | 22 | 7 | 1 | View details |
| API | 44 | Priority fix | 7 | 4 | 1 | View details |
| Auth | 41 | Priority fix | 6 | 3 | 0 | View details |
| MCP | 45 | Priority fix | 2 | 0 | 0 | |
| Agent Commerce | 58 | Needs work | 7 | 0 | 0 | |
| GEO, AIO and AEO | 66 | Needs work | 9 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AEO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| SEO | 92 | Strong | 9 | 0 | 0 | |
| SEO | 92 | Strong | 9 | 0 | 0 | |
| Security & Trust | 46 | Priority fix | 8 | 0 | 0 | |
| Security & Trust | 46 | Priority fix | 8 | 0 | 0 | |
| Performance | 92 | Strong | 15 | 0 | 0 | |
| Performance | 92 | Strong | 15 | 0 | 0 | |
| Accessibility | 89 | Mostly ready | 5 | 0 | 0 | |
| Accessibility | 89 | Mostly ready | 5 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
Agent Ease of UseAuthEmerging recommendation
Auth.md Agent Registration
Auth.md Agent Registration failed at "Fetch and validate /auth.md".
90 Fail
Agent Ease of UseAuthEmerging recommendation
Auth.md Agent Registration
Auth.md Agent Registration failed at "Fetch and validate /auth.md".
Needs attention
Auth.md Agent Registration
Issue
auth.md response did not match Auth.md v1 agent registration guidance. Content-Type "text/html" is not Markdown or text/plain; missing OAuth Protected Resource Metadata discovery guidance; missing OAuth authorization-server metadata guidance; missing Auth.md credential type guidance; missing agent_verified/user_claimed or claim ceremony guidance; missing credential usage, expiry, error, or revocation guidance.
Why it matters
Human login and signup flows are often opaque to agents. Auth.md gives automated clients a stable registration contract instead of forcing them to scrape docs, automate browser forms, or guess credential flows.
Check name
Auth.md Agent Registration
Score
10/100
Status
fail
Category
Auth
Maturity
Emerging recommendation
Goal
Publish Auth.md v1 metadata so agents can discover how to register, claim a user, and obtain credentials.
Result
Auth.md Agent Registration failed at "Fetch and validate /auth.md".
Validation steps
Fetch and validate /auth.md
auth.md response did not match Auth.md v1 agent registration guidance. Content-Type "text/html" is not Markdown or text/plain; missing OAuth Protected Resource Metadata discovery guidance; missing OAuth authorization-server metadata guidance; missing Auth.md credential type guidance; missing agent_verified/user_claimed or claim ceremony guidance; missing credential usage, expiry, error, or revocation guidance.
Validate protected resource metadata
Response is not valid JSON.
Validate Auth.md authorization metadata
Response is not valid JSON.
Evidence log3 steps · 21 lines
Fetch and validate /auth.md [fail]! auth.md response did not match Auth.md v1 agent registration guidance. Content-Type "text/html" is not Markdown or text/plain; missing OAuth Protected Resource Metadata discovery guidance; missing OAuth authorization-server metadata guidance; missing Auth.md credential type guidance; missing agent_verified/user_claimed or claim ceremony guidance; missing credential usage, expiry, error, or revocation guidance.INFOFetch and validate /auth.mdINFOFetch Auth.md-related resource path="/auth.md" statusCode=200 contentType="text/html" bytes=146906FAILCompare response Content-Type with expected Auth.md media type actual=false expected=trueFAILCompare Auth.md/OAuth metadata validation result actual=false expected=trueFAILCompare Auth.md content length actual=143801 expected=">= 80 characters"WARNAuth.md validation warning warning="missing agent_verified/user_claimed or claim ceremony guidance"WARNAuth.md validation warning warning="missing credential usage, expiry, error, or revocation guidance"FAILAuth.md validation issue issue="auth.md response did not match Auth.md v1 agent registration guidance. Content-Type \"text/html\" is not Markdown or text/plain; missing OAuth Protected Resource Metadata discovery guidance; missing OAuth authorization-server metadata guidance; missing Auth.md credential type guidance; missing agent_verified/user_claimed or claim ceremony guidance; missing credential usage, expiry, error, or revocation guidance."FAILauth.md response did not match Auth.md v1 agent registration guidance. Content-Type "text/html" is not Markdown or text/plain; missing OAuth Protected Resource Metadata discovery guidance; missing OAuth authorization-server metadata guidance; missing Auth.md credential type guidance; missing agent_verified/user_claimed or claim ceremony guidance; missing credential usage, expiry, error, or revocation guidance.Validate protected resource metadata [fail]! Response is not valid JSON.INFOValidate protected resource metadataINFOFetch Auth.md-related resource path="/.well-known/oauth-protected-resource" statusCode=200 contentType="text/html" bytes=146906FAILCompare response Content-Type with expected Auth.md media type actual=false expected=trueFAILCompare Auth.md/OAuth metadata validation result actual=false expected=trueFAILAuth.md validation issue issue="Response is not valid JSON."FAILResponse is not valid JSON.Validate Auth.md authorization metadata [fail]! Response is not valid JSON.INFOValidate Auth.md authorization metadataINFOFetch Auth.md-related resource path="/.well-known/oauth-authorization-server" statusCode=200 contentType="text/html" bytes=146906FAILCompare response Content-Type with expected Auth.md media type actual=false expected=trueFAILCompare Auth.md/OAuth metadata validation result actual=false expected=trueFAILAuth.md validation issue issue="Response is not valid JSON."FAILResponse is not valid JSON.
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" length=146906 lineCount=34FAILCompare 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=false hasRestrictionLanguage=false hasTrainingLanguage=false 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=\"7bfF...qSQy\""]
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Validate API catalog media type".
63 Fail
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Validate API catalog media type".
Needs attention
API Catalog
Issue
Content-Type "text/html" 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
37/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 "text/html" is not valid for an RFC 9727 API catalog.
Validate Linkset shape
Unexpected token '<', "<!DOCTYPE "... is not valid JSON
Unexpected token '<', "<!DOCTYPE "... is not valid JSON
Classify API catalog relations
API catalog did not include API endpoint links or useful API discovery relations.
Validate API catalog targets
API catalog did not expose any href targets to validate.
Evidence log5 steps · 23 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="text/html"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 "text/html" is not valid for an RFC 9727 API catalog.INFOValidate API catalog media typeFAILCompare API catalog media type actual="text/html" expected="application/linkset+json"FAILCompare JSON compatibility fallback actual=false expected=trueFAILContent-Type "text/html" is not valid for an RFC 9727 API catalog.Validate Linkset shape [fail]! Unexpected token '<', "<!DOCTYPE "... is not valid JSONINFOValidate Linkset shapeFAILCompare Linkset JSON parse result actual=false expected=trueFAILCompare top-level linkset item count actual=0 expected="> 0"FAILCompare extracted href target count actual=0 expected="> 0"FAILLinkset shape issue issue="Unexpected token '<', \"<!DOCTYPE \"... is not valid JSON"FAILLinkset JSON parse error error="Unexpected token '<', \"<!DOCTYPE \"... is not valid JSON"FAILUnexpected token '<', "<!DOCTYPE "... is not valid JSONClassify API catalog relations [fail]! API catalog did not include API endpoint links or useful API discovery relations.INFOClassify API catalog relationsINFOClassify API catalog relation types relations=[] summary={"registered":[],"metadata":[],"adjacent":[],"community":[],"legacy":[],"unknown":[]}FAILCompare registered or metadata API relation count actual=0 expected="> 0"FAILAPI catalog did not include API endpoint links or useful API discovery relations.Validate API catalog targets [fail]! API catalog did not expose any href targets to validate.INFOValidate API catalog targetsINFOFetch same-origin API catalog targets and record same-site/external skipsFAILCompare API catalog target failure count actual=0 expected=0FAILAPI catalog did not expose any href targets to validate.
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