Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 54 out of 100
- Agent Ease of Use 53 out of 100
- Security & Trust 78 out of 100
- GEO, AIO and AEO 53 out of 100
- SEO 100 out of 100
- Performance 50 out of 100
- Accessibility 46 out of 100
What AI sees of your website
Ko-fi | Make money doing what you love
Join 1,000,000+ creators! Set up your free page to get tips, sell products, offer memberships, and grow your community.
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 | 54 | Needs work | 23 | 2 | 1 | View details |
| Discoverability | 48 | Priority fix | 5 | 0 | 0 | |
| Content Readiness | 50 | Needs work | 13 | 0 | 0 | |
| Bot Access Control | 63 | Needs work | 5 | 2 | 1 | View details |
| Agent Ease of Use | 53 | Needs work | 2 | 0 | 0 | |
| Google Agentic Browsing | 66 | Needs work | 2 | 0 | 0 | |
| GEO, AIO and AEO | 53 | Needs work | 5 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 1 | 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 | 78 | Mostly ready | 18 | 2 | 2 | View details |
| Security & Trust | 78 | Mostly ready | 18 | 2 | 2 | View details |
| Performance | 50 | Needs work | 13 | 1 | 0 | View details |
| Performance | 50 | Needs work | 13 | 1 | 0 | View details |
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".
62 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
38/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 does not follow the AI Visibility section model; treating it as non-standard advisory text.
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=67489 lineCount=888FAILCompare 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 [warning]! ai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.INFOValidate policy contentINFOChecking required section content, permission/restriction language, attribution, contact details, and safety risks convention="unknown-text"INFODetected policy signals hasPermissionLanguage=false hasRestrictionLanguage=true hasTrainingLanguage=false hasAttributionLanguage=true hasContact=falseWARNCheck required and recommended section coverage actual={"missingRequired":["identity","permissions","restrictions"],"missingRecommended":["attribution","contact","content-types"]} expected={"missingRequired":[],"recommendedPresentWhenPossible":true}WARNai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.
Security & TrustSecurity & TrustEstablished
Content-Security-Policy
Content-Security-Policy failed at "Evaluate fetch baseline".
50 Fail
Security & TrustSecurity & TrustEstablished
Content-Security-Policy
Content-Security-Policy failed at "Evaluate fetch baseline".
Needs attention
Content-Security-Policy
Issue
CSP does not define default-src; several fetch directives may have no restrictive fallback.
Why it matters
Content Security Policy reduces the impact of injection bugs by limiting where scripts, styles, frames, forms, and other browser resources can load or execute.
Check name
Content-Security-Policy
Score
50/100
Status
fail
Category
Security & Trust
Maturity
Established
Goal
Constrain browser resource loading and script execution with an enforcing Content-Security-Policy header.
Result
Content-Security-Policy failed at "Evaluate fetch baseline".
Validation steps
Evaluate fetch baseline
CSP does not define default-src; several fetch directives may have no restrictive fallback.
Evaluate script execution
No script-src or default-src directive constrains script execution.
Review hardening directives
CSP is missing recommended hardening directives: object-src, base-uri, form-action.
Review CSP reporting
CSP does not define a reporting endpoint.
Evidence log4 steps · 16 lines
Evaluate fetch baseline [fail]! CSP does not define default-src; several fetch directives may have no restrictive fallback.INFOEvaluate fetch baselineINFOEvaluate resource loading fallback explicitFetchDirectives=[]FAILCompare fetch baseline actual="0 explicit fetch directives" expected="restricted default-src or broad explicit fetch coverage" issue="CSP does not define default-src; several fetch directives may have no restrictive fallback."FAILCSP does not define default-src; several fetch directives may have no restrictive fallback.Evaluate script execution [fail]! No script-src or default-src directive constrains script execution.INFOEvaluate script executionINFOInspect effective script directive FAILCompare script execution posture actual={"hasNonce":false,"hasHash":false,"hasStrictDynamic":false,"hasUnsafeInline":false,"hasUnsafeEval":false,"hasWildcardHost":false,"hasBroadScheme":false,"dangerousSchemes":[]} expected="constrained script sources without unsafe execution allowances" issue="No script-src or default-src directive constrains script execution."FAILNo script-src or default-src directive constrains script execution.Review hardening directives [warning]! CSP is missing recommended hardening directives: object-src, base-uri, form-action.INFOReview hardening directivesINFOInspect CSP hardening directives frameAncestors=["'self'","https://kofi.nima.tremau.net","https://testingkofi.nima.tremau.net"] formCount=1WARNCompare recommended hardening coverage actual=["object-src","base-uri","form-action"] expected="no missing object-src/base-uri/form-action requirements" issue="CSP is missing recommended hardening directives: object-src, base-uri, form-action."WARNCSP is missing recommended hardening directives: object-src, base-uri, form-action.Review CSP reporting [warning]! CSP does not define a reporting endpoint.INFOReview CSP reportingINFOInspect CSP reporting directives reportOnlyHeaderPresent=false reportOnlyDirectives=[]WARNCompare violation reporting configuration actual="no reporting endpoint" expected="report-to or report-uri present" issue="CSP does not define a reporting endpoint."WARNCSP does not define a reporting endpoint.
PerformancePerformanceBrowser audit
Font display
100 Fail
PerformancePerformanceBrowser audit
Font display
Check name
Font display
Score
0/100
Status
fail
Device
desktop
Category
Performance
Estimated savings
Est savings of 40Â ms
Fix guidance
Consider setting [font-display](https://developer.chrome.com/docs/performance/insights/font-display) to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks).
References
https://web.dev/learn/performance/Evidence
{
"displayValue": "Est savings of 40Â ms",
"description": "Consider setting [font-display](https://developer.chrome.com/docs/performance/insights/font-display) to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks)."
}Sign in to see 40 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 |
|---|---|---|---|
| 55/100 | Level 3, Bot-Aware | Current report |