Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 58 out of 100
- Agent Ease of Use 54 out of 100
- Security & Trust 81 out of 100
- GEO, AIO and AEO 67 out of 100
- SEO 100 out of 100
- Performance 94 out of 100
- Accessibility 96 out of 100
What AI sees of your website
Pingram (formerly NotificationAPI) – Messaging APIs for Emails, SMS, Voice, and WhatsApp
One API to send and receive email, SMS, voice, and WhatsApp. Trigger-ready messaging for builders, startups, and AI agents. A2P 10DLC handled. Free tier, no credit card.
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 | 58 | Needs work | 32 | 2 | 2 | View details |
| Discoverability | 47 | Priority fix | 6 | 0 | 0 | |
| Content Readiness | 74 | Needs work | 23 | 0 | 0 | |
| Bot Access Control | 55 | Needs work | 3 | 2 | 2 | View details |
| Agent Ease of Use | 54 | Needs work | 3 | 0 | 0 | |
| API | 67 | Needs work | 2 | 0 | 0 | |
| Auth | 48 | Priority fix | 1 | 0 | 0 | |
| GEO, AIO and AEO | 67 | Needs work | 9 | 1 | 2 | View details |
| GEO Readiness | 61 | Needs work | 3 | 1 | 2 | View details |
| 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 | 81 | Mostly ready | 19 | 1 | 0 | View details |
| Security & Trust | 81 | Mostly ready | 19 | 1 | 0 | View details |
| Performance | 94 | Strong | 16 | 0 | 0 | |
| Performance | 94 | Strong | 16 | 0 | 0 | |
| Accessibility | 96 | Strong | 8 | 0 | 0 | |
| Accessibility | 96 | Strong | 8 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
5 items need attention
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Fetch /ai.txt".
77 Fail
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Fetch /ai.txt".
Needs attention
ai.txt policy
Issue
/ai.txt returned HTTP 403.
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
23/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 "Fetch /ai.txt".
Validation steps
Fetch /ai.txt
/ai.txt returned HTTP 403.
Validate transport
ai.txt was served as application/xml; text/plain is preferred.
Parse ai.txt policy
ai.txt is present but does not follow the AI Visibility section model.
Validate policy content
ai.txt is too short to provide useful advisory policy guidance.
Evidence log4 steps · 18 lines
Fetch /ai.txt [fail]! /ai.txt returned HTTP 403.INFOFetch /ai.txtINFORequesting optional advisory policy file at /ai.txtFAILCompare /ai.txt HTTP response actual=403 expected="2xx when ai.txt is intentionally published; 404/410 means absent optional file" contentType="application/xml" length=111FAIL/ai.txt returned HTTP 403. statusCode=403Validate transport [warning]! ai.txt was served as application/xml; text/plain is preferred.INFOValidate transportINFOChecking ai.txt media type, size, line count, and whether the response looks like plain text contentType="application/xml" length=111 lineCount=2WARNCompare media type to preferred text/plain transport actual="application/xml" expected="text/plain preferred; readable text required"WARNai.txt was served as application/xml; text/plain is preferred. warnings=["ai.txt was served as application/xml; text/plain is preferred."]Parse ai.txt policy [warning]! ai.txt is present but does not follow the AI Visibility section model.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"]WARNai.txt is present but does not follow the AI Visibility section model.Validate policy content [fail]! ai.txt is too short to provide useful advisory policy guidance.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=false hasContact=falseFAILCheck required and recommended section coverage actual={"missingRequired":["identity","permissions","restrictions"],"missingRecommended":["attribution","contact","content-types"]} expected={"missingRequired":[],"recommendedPresentWhenPossible":true}FAILai.txt is too short to provide useful advisory policy guidance.
Security & TrustSecurity & TrustEstablished
Content-Security-Policy
Content-Security-Policy failed at "Find enforcing CSP delivery".
60 Fail
Security & TrustSecurity & TrustEstablished
Content-Security-Policy
Content-Security-Policy failed at "Find enforcing CSP delivery".
Needs attention
Content-Security-Policy
Issue
Applicable HTML response is missing an enforcing Content-Security-Policy header.
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
40/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 "Find enforcing CSP delivery".
Validation steps
Find enforcing CSP delivery
Applicable HTML response is missing an enforcing Content-Security-Policy header.
Evidence log1 step · 4 lines
Find enforcing CSP delivery [fail]! Applicable HTML response is missing an enforcing Content-Security-Policy header.INFOFind enforcing CSP deliveryINFORead CSP delivery headers enforcingHeader="missing" reportOnlyHeader="missing" metaPolicyCount=0 legacyHeadersPresent=[]FAILRequire enforcing Content-Security-Policy header actual="missing" expected="present" issue="Applicable HTML response is missing an enforcing Content-Security-Policy header."FAILApplicable HTML response is missing an enforcing Content-Security-Policy header.GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Citable passages
GEO: Citable passages scored 0/100 and needs a fix.
12 Fail
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Citable passages
GEO: Citable passages scored 0/100 and needs a fix.
Needs attention
GEO: Citable passages
Issue
No evidence-backed, citation-length explanatory paragraph was found.
Details
Why it matters
Generative answer systems work best with visible, self-contained, evidence-backed content, clear entities, trustworthy attribution, structured page sections, and crawler-accessible HTML. These signals improve machine understanding even though they do not guarantee AI citations.
Check name
GEO: Citable passages
Score
0/100
Status
fail
Category
GEO, AIO & AEO
Maturity
Emerging recommendation
Goal
Make page content easy for AI answer engines to extract, cite, and attribute without promising inclusion in any proprietary answer surface.
Result
GEO: Citable passages scored 0/100 and needs a fix.
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Source and trust signals
GEO: Source and trust signals scored 67/100 and needs improvement.
4 Warning
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Source and trust signals
GEO: Source and trust signals scored 67/100 and needs improvement.
Needs attention
GEO: Source and trust signals
Issue
Missing source or trust signals: freshnessDate, sourceLinks.
Details
Why it matters
Generative answer systems work best with visible, self-contained, evidence-backed content, clear entities, trustworthy attribution, structured page sections, and crawler-accessible HTML. These signals improve machine understanding even though they do not guarantee AI citations.
Check name
GEO: Source and trust signals
Score
67/100
Status
warning
Category
GEO, AIO & AEO
Maturity
Emerging recommendation
Goal
Make page content easy for AI answer engines to extract, cite, and attribute without promising inclusion in any proprietary answer surface.
Result
GEO: Source and trust signals scored 67/100 and needs improvement.
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Structured extraction
GEO: Structured extraction scored 88/100 and needs improvement.
1 Warning
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Structured extraction
GEO: Structured extraction scored 88/100 and needs improvement.
Needs attention
GEO: Structured extraction
Issue
Missing or weak extraction signals: summary or key takeaways.
Details
Why it matters
Generative answer systems work best with visible, self-contained, evidence-backed content, clear entities, trustworthy attribution, structured page sections, and crawler-accessible HTML. These signals improve machine understanding even though they do not guarantee AI citations.
Check name
GEO: Structured extraction
Score
88/100
Status
warning
Category
GEO, AIO & AEO
Maturity
Emerging recommendation
Goal
Make page content easy for AI answer engines to extract, cite, and attribute without promising inclusion in any proprietary answer surface.
Result
GEO: Structured extraction scored 88/100 and needs improvement.
Sign in to see 28 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