Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 65 out of 100
- Agent Ease of Use 60 out of 100
- Security & Trust 85 out of 100
- GEO, AIO and AEO 67 out of 100
- SEO 100 out of 100
- Performance 51 out of 100
- Accessibility 93 out of 100
What AI sees of your website
The official source for trains in Great Britain | National Rail
The gateway to Britain's national rail network. The portal to rail travel, including train times, information, fares enquiries, promotions and tickets
Next step
Turn this report into a fix workflow
1 failed check is 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 | 65 | Needs work | 29 | 1 | 1 | View details |
| Discoverability | 67 | Needs work | 8 | 0 | 0 | |
| Content Readiness | 64 | Needs work | 18 | 1 | 1 | View details |
| Bot Access Control | 63 | Needs work | 3 | 0 | 0 | |
| Agent Ease of Use | 60 | Needs work | 3 | 0 | 0 | |
| Skill Discovery | 54 | Needs work | 1 | 0 | 0 | |
| Google Agentic Browsing | 100 | Strong | 2 | 0 | 0 | |
| GEO, AIO and AEO | 67 | 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 | 100 | Strong | 10 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| Security & Trust | 85 | Mostly ready | 21 | 2 | 2 | View details |
| Security & Trust | 85 | Mostly ready | 21 | 2 | 2 | View details |
| Performance | 51 | Needs work | 13 | 1 | 0 | View details |
| Performance | 51 | Needs work | 13 | 1 | 0 | View details |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
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
default-src is present but not meaningfully restrictive.
Details
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
default-src is present but not meaningfully restrictive.
CSP fetch baseline is too broad or missing
Evaluate script execution
default-src leaves script execution broadly unrestricted.
CSP script execution policy is unsafe
Review hardening directives
CSP is missing recommended hardening directives: object-src, base-uri, form-action.
CSP hardening directives are missing or weak
Review CSP reporting
CSP does not define a reporting endpoint.
CSP reporting is missing or incomplete
Evidence log4 steps · 16 lines
Evaluate fetch baseline [fail]! default-src is present but not meaningfully restrictive.INFOEvaluate fetch baselineINFOEvaluate resource loading fallback defaultSrc=["https:","'unsafe-inline'","'unsafe-eval'"] explicitFetchDirectives=["connect-src","img-src","media-src","worker-src"]FAILCompare fetch baseline actual=["https:","'unsafe-inline'","'unsafe-eval'"] expected="restricted default-src or broad explicit fetch coverage" issue="default-src is present but not meaningfully restrictive."FAILdefault-src is present but not meaningfully restrictive.Evaluate script execution [fail]! default-src leaves script execution broadly unrestricted.INFOEvaluate script executionINFOInspect effective script directive effectiveDirective="default-src" sources=["https:","'unsafe-inline'","'unsafe-eval'"]FAILCompare script execution posture actual={"hasNonce":false,"hasHash":false,"hasStrictDynamic":false,"hasUnsafeInline":true,"hasUnsafeEval":true,"hasWildcardHost":false,"hasBroadScheme":true,"dangerousSchemes":[]} expected="constrained script sources without unsafe execution allowances" issue="default-src leaves script execution broadly unrestricted."FAILdefault-src leaves script execution broadly unrestricted.Review hardening directives [warning]! CSP is missing recommended hardening directives: object-src, base-uri, form-action.INFOReview hardening directivesINFOInspect CSP hardening directives objectSrcFallback=["https:","'unsafe-inline'","'unsafe-eval'"] formCount=2WARNCompare 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.
AI DiscoverabilityContent ReadinessEstablished
Author attribution
Author attribution is partially implemented.
45 Warning
AI DiscoverabilityContent ReadinessEstablished
Author attribution
Author attribution is partially implemented.
Needs attention
Author attribution
Issue
No named author or publisher identity could be extracted.
Details
Why it matters
Author attribution helps agents cite content responsibly, assess source credibility, and distinguish editorial pages from anonymous marketing copy.
Check name
Author attribution
Score
55/100
Status
warning
Category
Content Readiness
Maturity
Established
Goal
Identify content authors or publishers for trust and attribution.
Result
Author attribution is partially implemented.
Validation steps
Schema.org attribution
Schema.org attribution is incomplete or relies only on publisher/fallback evidence.
Schema.org author attribution is missing or incomplete
Author identity quality
No named author or publisher identity could be extracted.
Author identity quality is incomplete
Evidence log2 steps · 8 lines
Schema.org attribution [warning]! Schema.org attribution is incomplete or relies only on publisher/fallback evidence.INFOSchema.org attributionINFOChecking structured data for author, creator, and publisher contributorsWARNCheck named Schema.org author count actual=0 expected="> 0" authorCount=0 publisherCount=4 namedContributors=0 authors=[] publishers=[{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false}] formats=["json-ld"]WARNSchema.org attribution is incomplete or fallback-only authorCount=0 publisherCount=4 authors=[] publishers=[{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false}]Author identity quality [fail]! No named author or publisher identity could be extracted.INFOAuthor identity qualityINFOChecking contributors for stable identity signalsFAILCheck identified contributor count actual=0 expected="> 0" namedContributors=0 identifiedContributors=[] unidentifiedContributors=[{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false},{"role":"publisher","id":"https://www.nationalrail.co.uk/#organization","sameAs":[],"format":"json-ld","mergedName":false}]FAILNo named contributor identity could be extracted
PerformancePerformanceBrowser audit
Forced reflow
100 Fail
PerformancePerformanceBrowser audit
Forced reflow
Check name
Forced reflow
Score
0/100
Status
fail
Device
desktop
Category
Performance
Fix guidance
A forced reflow occurs when JavaScript queries geometric properties (such as offsetWidth) after styles have been invalidated by a change to the DOM state. This can result in poor performance. Learn more about [forced reflows](https://developer.chrome.com/docs/performance/insights/forced-reflow) and possible mitigations.
References
web.dev/learn/performanceEvidence
{
"description": "A forced reflow occurs when JavaScript queries geometric properties (such as offsetWidth) after styles have been invalidated by a change to the DOM state. This can result in poor performance. Learn more about [forced reflows](https://developer.chrome.com/docs/performance/insights/forced-reflow) and possible mitigations."
}Sign in to see 29 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
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 |
|---|---|---|---|
| 69/100 | Level 3, Bot-Aware | Current report |