Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 57 out of 100
- Agent Ease of Use 62 out of 100
- Security & Trust 79 out of 100
- GEO, AIO and AEO 58 out of 100
- SEO 85 out of 100
- Performance 64 out of 100
- Accessibility 39 out of 100
What AI sees of your website
Everyday Health: Trusted Medical Information, Expert Health Advice, News, Tools, and Resources
Everyday Health inspires and empowers people to live their healthiest lives, every day, through trusted, medically reviewed information and expert health advice from the nation's leading healthcare providers and patient advocates. Learn mo...
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 | 57 | Needs work | 27 | 7 | 1 | View details |
| Discoverability | 67 | Needs work | 8 | 0 | 0 | |
| Content Readiness | 57 | Needs work | 17 | 3 | 1 | View details |
| Bot Access Control | 48 | Priority fix | 2 | 4 | 0 | View details |
| Agent Ease of Use | 62 | Needs work | 3 | 0 | 0 | |
| API | 67 | Needs work | 1 | 0 | 0 | |
| Google Agentic Browsing | 100 | Strong | 2 | 0 | 0 | |
| GEO, AIO and AEO | 58 | Needs work | 6 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AEO Readiness | Not Applicable | Not Applicable | 1 | 0 | 0 | |
| SEO | 85 | Mostly ready | 8 | 0 | 0 | |
| SEO | 85 | Mostly ready | 8 | 0 | 0 | |
| Security & Trust | 79 | Mostly ready | 21 | 2 | 2 | View details |
| Security & Trust | 79 | Mostly ready | 21 | 2 | 2 | View details |
| Performance | 64 | Needs work | 13 | 0 | 0 | |
| Performance | 64 | Needs work | 13 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Fetch /ai.txt".
100 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.
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
0/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.
/ai.txt could not be fetched when present
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 is too short to provide useful advisory policy guidance.
/ai.txt content is incomplete or unsafe
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="text/html" length=118FAIL/ai.txt returned HTTP 403. statusCode=403Validate 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" length=118 lineCount=7FAILCompare 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 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.
AI DiscoverabilityContent ReadinessEstablished
Content freshness signals
Content freshness signals is missing or incomplete.
100 Fail
AI DiscoverabilityContent ReadinessEstablished
Content freshness signals
Content freshness signals is missing or incomplete.
Needs attention
Content freshness signals
Issue
Content freshness signals are incomplete: missing any valid freshness date in Last-Modified, Schema.org, Open Graph, Dublin Core, generic meta, or sitemap lastmod.
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
0/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
Evidence log4 steps · 16 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 [fail]! No Open Graph, Dublin Core, or generic meta freshness date was found.INFOValidate metadata freshness datesINFOCollecting Open Graph, Dublin Core, and generic meta freshness datesFAILCheck metadata freshness date count actual=0 expected="> 0" metaDateCount=0 invalidDateCount=0 alternateDates=[]FAILNo metadata freshness dates foundCorroborate with sitemap lastmod [warning]INFOCorroborate with sitemap lastmodINFODiscovering sitemap candidates and matching the scanned page URL candidateCount=1 attempts=6WARNCheck matching sitemap lastmod actual="no match" expected="valid match when available" robotsStatusCode=200WARNNo matching sitemap lastmod found after sitemap attempts attempts=6
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.
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
CSP does not define default-src; several fetch directives may have no restrictive fallback.
CSP fetch baseline is too broad or missing
Evaluate script execution
No script-src or default-src directive constrains script execution.
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]! 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'","*.everydayhealth.com","*.infermedica.com","*.ceros.com","*.opinionstage.com","*.doctor.com","*.googleapis.com","*.zdbb.net","*.specless.tech","*.specless.io","*.totalbrain.com","*.migraineagain.com","*.epionhealth.com"] 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.
Sign in to see 45 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 |
|---|---|---|---|
| 33/100 | Level 2, Agent-Limited | View report | |
| 59/100 | Level 3, Bot-Aware | Current report |