Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 63 out of 100
- Agent Ease of Use 57 out of 100
- Security & Trust 56 out of 100
- GEO, AIO and AEO 66 out of 100
- SEO 100 out of 100
- Performance 98 out of 100
- Accessibility 53 out of 100
What AI sees of your website
Appointment Booking Software | EasyWeek
EasyWeek is appointment booking software for service businesses: real-time online booking, automated reminders, online payments and CRM from day one.
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 | 28 | 0 | 0 | |
| Discoverability | 47 | Priority fix | 6 | 0 | 0 | |
| Content Readiness | 80 | Mostly ready | 19 | 0 | 0 | |
| Bot Access Control | 63 | Needs work | 3 | 0 | 0 | |
| Agent Ease of Use | 57 | Needs work | 12 | 1 | 1 | View details |
| Auth | 63 | Needs work | 8 | 0 | 0 | |
| Skill Discovery | 53 | Needs work | 1 | 1 | 1 | View details |
| Google Agentic Browsing | 100 | Strong | 3 | 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 | 100 | Strong | 10 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| Security & Trust | 56 | Needs work | 12 | 2 | 2 | View details |
| Security & Trust | 56 | Needs work | 12 | 2 | 2 | View details |
| Performance | 98 | Strong | 17 | 0 | 0 | |
| Performance | 98 | Strong | 17 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
Agent Ease of UseSkill DiscoveryEmerging recommendation
DNS-AID Agent Discovery
DNS-AID Agent Discovery failed at "Validate HTTPS/SVCB shape".
39 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
DNS-AID Agent Discovery
DNS-AID Agent Discovery failed at "Validate HTTPS/SVCB shape".
Needs attention
DNS-AID Agent Discovery
Issue
One or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.
Details
Why it matters
DNS-AID lets agents discover index, A2A, and other agent entrypoints before fetching HTTP metadata. HTTPS/SVCB records provide the service-binding substrate, while DNSSEC can authenticate the discovery answer when available.
Check name
DNS-AID Agent Discovery
Score
61/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish DNS-AID HTTPS/SVCB records under _agents for DNS-based agent entrypoint discovery.
Result
DNS-AID Agent Discovery failed at "Validate HTTPS/SVCB shape".
Validation steps
Validate HTTPS/SVCB shape
One or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.
DNS-AID HTTPS/SVCB records are malformed
Malformed record issues
[ { "ownerName": "_index._agents.easyweek.io", "rrtype": "HTTPS", "ttl": 60, "mode": "unknown", "targetName": "33", "params": [ { "key": "00", "value": "present" }, { "key": "01", "value": "present" }, { "key": "00", "value": "present" }, { "key": "00", "value": "present" }, { "truncated": true, "omittedCount": 29, "originalCount": 33 } ], "mandatory": [], "alpn": [], "endpointIssue": "missing endpoint", "unknownParams": [ "00", "01", "00", "00", { "truncated": true, "omittedCount": 29, "originalCount": 33 } ], "parseWarnings": [ "SvcPriority is missing or not numeric." ], "source": "cloudflare-doh-json", "raw": "\\# 33 00 01 00 00 01 00 06 02 68 33 02 68 32 00 06 00 10 26 06 47 00 90 d8 be b9 2d 76 00 00 c2 7f 0c 23" }, { "ownerName": "_a2a._agents.easyweek.io", "rrtype": "HTTPS", "ttl": 60, "mode": "unknown", "targetName": "33", "params": [ { "key": "00", "value": "present" }, { "key": "01", "value": "present" }, { "key": "00", "value": "present" }, { "key": "00", "value": "present" }, { "truncated": true, "omittedCount": 29, "originalCount": 33 } ], "mandatory": [], "alpn": [], "endpointIssue": "missing endpoint", "unknownParams": [ "00", "01", "00", "00", { "truncated": true, "omittedCount": 29, "originalCount": 33 } ], "parseWarnings": [ "SvcPriority is missing or not numeric." ], "source": "cloudflare-doh-json", "raw": "\\# 33 00 01 00 00 01 00 06 02 68 33 02 68 32 00 06 00 10 26 06 47 00 83 b8 be b9 2d 76 00 00 c2 7f 0c 23" } ]Check DNSSEC authentication evidence
DNSSEC authentication evidence was not visible for the DNS-AID labels or hostname.
DNSSEC authentication evidence is missing
Evidence log2 steps · 17 lines
Validate HTTPS/SVCB shape [fail]! One or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.INFOValidate HTTPS/SVCB shapeFAILCompare parsed DNS-AID record count actual=2 expected="> 0"FAILCompare ServiceMode record count actual=0 expected="> 0"FAILDNS-AID record has parse/shape warnings ownerName="_index._agents.easyweek.io" rrtype="HTTPS" mode="unknown" warnings=["SvcPriority is missing or not numeric."]FAILDNS-AID record has parse/shape warnings ownerName="_a2a._agents.easyweek.io" rrtype="HTTPS" mode="unknown" warnings=["SvcPriority is missing or not numeric."]FAILOne or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.Check DNSSEC authentication evidence [warning]! DNSSEC authentication evidence was not visible for the DNS-AID labels or hostname.INFOCheck DNSSEC authentication evidenceWARNCompare DNSSEC authenticated-data flag actual=false expected=trueWARNCompare visible DNSSEC material actual=false expected=trueWARNResolver did not confirm authenticated DNSSEC data name="_index._agents.easyweek.io" rrtype="HTTPS" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_index._agents.easyweek.io" rrtype="SVCB" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_a2a._agents.easyweek.io" rrtype="HTTPS" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_a2a._agents.easyweek.io" rrtype="SVCB" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_index._agents.easyweek.io" rrtype="DNSKEY" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_a2a._agents.easyweek.io" rrtype="DNSKEY" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="easyweek.io" rrtype="DNSKEY" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNDNSSEC authentication evidence was not visible for the DNS-AID labels or hostname.
Security & TrustSecurity & TrustEstablished
Content-Security-Policy
Content-Security-Policy failed at "Find enforcing CSP delivery".
30 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.
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
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.
Enforcing Content-Security-Policy header is missing
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.Security & TrustSecurity & TrustEstablished
Frame protection
Frame protection failed at "Validate X-Frame-Options".
28 Fail
Security & TrustSecurity & TrustEstablished
Frame protection
Frame protection failed at "Validate X-Frame-Options".
Needs attention
Frame protection
Issue
No valid X-Frame-Options fallback is present.
Details
Why it matters
Frame protection blocks hostile sites from embedding pages in deceptive frames, reducing clickjacking and UI redressing risk.
Check name
Frame protection
Score
44/100
Status
fail
Category
Security & Trust
Maturity
Established
Goal
Prevent unwanted framing with an enforcing CSP frame-ancestors directive or a valid X-Frame-Options fallback.
Result
Frame protection failed at "Validate X-Frame-Options".
Validation steps
Validate CSP frame-ancestors
No enforcing CSP frame-ancestors directive is present.
CSP frame-ancestors is missing or ineffective
Validate X-Frame-Options
No valid X-Frame-Options fallback is present.
X-Frame-Options is missing, invalid, or obsolete
Review observed browser responses
One or more same-origin HTML documents observed by Chrome did not emit valid frame protection.
Observed same-origin HTML responses lack frame protection
Evidence log3 steps · 12 lines
Validate CSP frame-ancestors [warning]! No enforcing CSP frame-ancestors directive is present.INFOValidate CSP frame-ancestorsINFORead CSP frame-ancestors signals enforcingHeaderPresent=false reportOnlyHeaderPresent=false metaFrameAncestors=false policyCount=0 duplicateDirectives=[]WARNCompare effective frame-ancestors directive actual="missing" expected="valid restrictive enforcing frame-ancestors" issue="No enforcing CSP frame-ancestors directive is present."WARNNo enforcing CSP frame-ancestors directive is present.Validate X-Frame-Options [fail]! No valid X-Frame-Options fallback is present.INFOValidate X-Frame-OptionsINFORead X-Frame-Options fallback value="missing" parsedValues=[] normalizedValues=[]FAILCompare X-Frame-Options value actual="missing" expected="DENY or SAMEORIGIN" valid=false obsoleteAllowFrom=false duplicateOrConflicting=false issue="No valid X-Frame-Options fallback is present."FAILNo valid X-Frame-Options fallback is present.Review observed browser responses [warning]! One or more same-origin HTML documents observed by Chrome did not emit valid frame protection.INFOReview observed browser responsesINFOSample Chrome-observed same-origin responses observedResponseCount=50 sameOriginCount=33 htmlDocumentCount=1WARNCompare observed HTML frame protection actual={"missingOrInvalidFrameProtectionCount":1,"broadFrameAncestorsCount":0,"affected":[{"url":"https://easyweek.io/","status":200,"resourceType":"document","contentType":"text/html","contentSecurityPolicy":null,"contentSecurityPolicyReportOnly":null}]} expected="0 missing/invalid or broad same-origin HTML responses" issue="One or more same-origin HTML documents observed by Chrome did not emit valid frame protection."WARNOne or more same-origin HTML documents observed by Chrome did not emit valid frame protection.
Sign in to see 30 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