Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 35 out of 100
- Agent Ease of Use 54 out of 100
- Security & Trust 82 out of 100
- GEO, AIO and AEO 52 out of 100
- SEO 100 out of 100
- Performance 71 out of 100
- Accessibility 93 out of 100
What AI sees of your website
Welcome to SP Energy Networks - SP Energy Networks
SP Energy Networks own and operate the electricity transmission and distribution network in Central & Southern Scotland, Merseyside, Cheshire, North Wales and North Shropshire
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 | 35 | Priority fix | 13 | 7 | 2 | View details |
| Discoverability | 48 | Priority fix | 5 | 0 | 0 | |
| Content Readiness | 17 | Priority fix | 6 | 3 | 2 | View details |
| Bot Access Control | 40 | Priority fix | 2 | 4 | 0 | View details |
| Agent Ease of Use | 54 | Needs work | 3 | 0 | 0 | |
| Skill Discovery | 54 | Needs work | 1 | 0 | 0 | |
| Google Agentic Browsing | 67 | Needs work | 2 | 0 | 0 | |
| GEO, AIO and AEO | 52 | 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 | 9 | 0 | 0 | |
| SEO | 100 | Strong | 9 | 0 | 0 | |
| Security & Trust | 82 | Mostly ready | 21 | 0 | 0 | |
| Security & Trust | 82 | Mostly ready | 21 | 0 | 0 | |
| Performance | 71 | Needs work | 12 | 0 | 0 | |
| Performance | 71 | Needs work | 12 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
AI DiscoverabilityContent ReadinessEstablished
Content freshness signals
Content freshness signals is missing or incomplete.
87 Fail
AI DiscoverabilityContent ReadinessEstablished
Content freshness signals
Content freshness signals is missing or incomplete.
Needs attention
Content freshness signals
Issue
Content freshness signals are invalid: meta date is not a parseable date (20250206)..
Details
Why it matters
Freshness signals help agents, crawlers, and search systems decide whether content is current enough to cite, summarize, cache, or compare against newer sources.
Check name
Content freshness signals
Score
13/100
Status
fail
Category
Content Readiness
Maturity
Established
Goal
Expose modified and published dates for freshness-aware retrieval, citation, and ranking.
Result
Content freshness signals is missing or incomplete.
Validation steps
Validate Last-Modified header
No valid Last-Modified HTTP header was found.
Last-Modified freshness signal is missing or invalid
Validate structured freshness dates
No Schema.org freshness dates were found.
Structured freshness dates are missing or invalid
Validate metadata freshness dates
No Open Graph, Dublin Core, or generic meta freshness date was found.
Metadata freshness dates are missing or invalid
Corroborate with sitemap lastmod
Add a sitemap entry with a valid lastmod for the canonical page URL when sitemap corroboration is useful.
Sitemap lastmod corroboration is missing
Check date validity and consistency
meta date is not a parseable date (20250206).
Freshness dates are invalid or inconsistent
Evidence log5 steps · 20 lines
Validate Last-Modified header [fail]! No valid Last-Modified HTTP header was found.INFOValidate Last-Modified headerINFOReading Last-Modified response headerFAILCheck Last-Modified header is present and parseable actual="missing" expected="valid" alternateDates=[]FAILLast-Modified header is missing or invalidValidate structured freshness dates [fail]! No Schema.org freshness dates were found.INFOValidate structured freshness datesINFOCollecting Schema.org freshness dates from JSON-LD, Microdata, and RDFaFAILCheck structured freshness date count actual=0 expected="> 0" invalidDateCount=0 formats={} alternateDates=[]FAILNo structured freshness dates foundValidate metadata freshness dates [warning]! No Open Graph, Dublin Core, or generic meta freshness date was found.INFOValidate metadata freshness datesINFOCollecting Open Graph, Dublin Core, and generic meta freshness datesWARNCheck metadata freshness date count actual=1 expected="> 0" metaDateCount=1 invalidDateCount=1 alternateDates=[]WARNMetadata freshness dates include invalid values invalidDateCount=1Corroborate with sitemap lastmod [warning]INFOCorroborate with sitemap lastmodINFODiscovering sitemap candidates and matching the scanned page URL candidateCount=2 attempts=2WARNCheck matching sitemap lastmod actual="no match" expected="valid match when available" robotsStatusCode=200WARNNo matching sitemap lastmod found after sitemap attempts attempts=2Check date validity and consistency [fail]! meta date is not a parseable date (20250206).INFOCheck date validity and consistencyINFOChecking collected freshness dates for invalid values, future dates, and inconsistent orderingFAILCheck critical freshness issue count actual=1 expected=0 warningIssueCount=0 issues=[{"severity":"fail","message":"meta date is not a parseable date (20250206)."}]FAILInvalid freshness date issue found issues=["meta date is not a parseable date (20250206)."]
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Validate transport".
40 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.
Details
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.
/ai.txt transport is invalid or not plain text
Parse ai.txt policy
Transport validation failed before policy parsing could be trusted.
/ai.txt policy format is missing required sections or non-standard
Validate policy content
ai.txt appears to expose secrets, tokens, or credentials.
/ai.txt content is incomplete or unsafe
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=33563 lineCount=17FAILCompare 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=\"42dd...4d23\""]
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
35 Fail
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Needs attention
AI bot rules in robots.txt
Issue
No explicit User-agent rules were found for major AI crawler tokens.
Details
Why it matters
AI crawler product tokens have different meanings. Explicit robots.txt groups make training, search, and retrieval access policy auditable for compliant crawler operators.
Check name
AI bot rules in robots.txt
Score
31/100
Status
fail
Category
Bot Access Control
Maturity
Established
Goal
Declare deliberate robots.txt rules for major AI training, AI search, user-triggered, and dataset crawlers.
Result
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Validation steps
Classify AI crawler rules
No explicit User-agent rules were found for major AI crawler tokens.
robots.txt lacks explicit AI crawler rules
Evidence log1 step · 6 lines
Classify AI crawler rules [fail]! No explicit User-agent rules were found for major AI crawler tokens.INFOClassify AI crawler rulesINFOParsing User-agent groups and Allow/Disallow records for known AI crawler tokens evaluatedPath="/"INFOEvaluating exact User-agent matches before wildcard fallback exactAiPolicyCount=0 totalCrawlerTokens=18FAILNo explicit AI crawler User-agent groups were found examplesExpected=["GPTBot","OAI-SearchBot","ClaudeBot","Google-Extended","CCBot"]FAILCompare explicit AI crawler coverage actual=0 expected="> 0 explicit non-search AI crawler policies" missingTokens=["GPTBot","OAI-SearchBot","ChatGPT-User","ClaudeBot","Claude-SearchBot","Claude-User","Google-Extended","Applebot-Extended","Amazonbot","Amzn-SearchBot","Amzn-User","PerplexityBot"]INFOResolved effective root-path policy for crawler tokens blocked=0 allowed=21 unspecified=0Sign 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.
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