Rescan Report
Share Report
Copy Report Link
Rescan Report
Share Report
Copy Report Link
Export Report
54/100

OVERALL SCORE

Level 3, Bot-Aware

Moderate readiness for AI agents
AIDiscoverability37%Agent Easeof Use52%Security& Trust91%GEO, AIO, AEO43%SEO92%Performance59%Accessibility86%
  • AI Discoverability 37 out of 100
  • Agent Ease of Use 52 out of 100
  • Security & Trust 91 out of 100
  • GEO, AIO and AEO 43 out of 100
  • SEO 92 out of 100
  • Performance 59 out of 100
  • Accessibility 86 out of 100

CAPTURED SCREENSHOT

Captured website desktop screenshot

What AI sees of your website

CodePen: Online Code Editor and Front End Web Developer Community favicon

CodePen: Online Code Editor and Front End Web Developer Community

Build, share, and learn JavaScript, CSS, and HTML with our online code editor.

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.

Detailed report scores grouped by capability area
MetricScoreStatusPassedFailedWarningEvidence
AI Discoverability
37
Priority fix1462View details
Discoverability
40
Priority fix400
Content Readiness
8
Priority fix631View details
Bot Access Control
59
Needs work431View details
Agent Ease of Use
52
Needs work100
Skill Discovery
54
Needs work100
GEO, AIO and AEO
43
Priority fix500
GEO Readiness
Not Applicable
Not Applicable100
AIO Readiness
Not Applicable
Not Applicable300
AEO Readiness
Not Applicable
Not Applicable100
SEO
92
Strong800
SEO
92
Strong800
Security & Trust
91
Strong2400
Security & Trust
91
Strong2400
Performance
59
Needs work1410View details
Performance
59
Needs work1410View details

Prioritized recommendations

Issues ranked by score impact

3 items need attention

AI DiscoverabilityContent ReadinessEstablished

Content freshness signals

Content freshness signals is missing or incomplete.

100 Fail

Needs attention

Content freshness signals

Failed check
01

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

02

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

  1. Validate Last-Modified header

    No valid Last-Modified HTTP header was found.

  2. Validate structured freshness dates

    No Schema.org freshness dates were found.

  3. Validate metadata freshness dates

    No Open Graph, Dublin Core, or generic meta freshness date was found.

  4. Corroborate with sitemap lastmod

    Add a sitemap entry with a valid lastmod for the canonical page URL when sitemap corroboration is useful.

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=1WARNCheck matching sitemap lastmod actual="no match" expected="valid match when available" robotsStatusCode=200WARNNo matching sitemap lastmod found after sitemap attempts attempts=1

AI DiscoverabilityBot Access ControlEmerging recommendation

ai.txt policy

ai.txt policy failed at "Fetch /ai.txt".

82 Fail

Needs attention

ai.txt policy

Failed check
01

Issue

/ai.txt returned HTTP 403.

02

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

18/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

  1. Fetch /ai.txt

    /ai.txt returned HTTP 403.

  2. Validate transport

    ai.txt appears to be an HTML page or error document rather than a plain-text policy.

  3. Parse ai.txt policy

    Transport validation failed before policy parsing could be trusted.

  4. Validate policy content

    ai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.

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; charset=UTF-8" length=5440FAIL/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; charset=UTF-8" length=5440 lineCount=1FAILCompare 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 [warning]! ai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.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=falseWARNCheck required and recommended section coverage actual={"missingRequired":["identity","permissions","restrictions"],"missingRecommended":["attribution","contact","content-types"]} expected={"missingRequired":[],"recommendedPresentWhenPossible":true}WARNai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.

PerformancePerformanceBrowser audit

Font display

100 Fail

Check name

Font display

Score

0/100

Status

fail

Device

desktop

Category

Performance

Estimated savings

Est savings of 90 ms

Fix guidance

Consider setting [font-display](https://developer.chrome.com/docs/performance/insights/font-display) to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks).

Evidence
{
  "displayValue": "Est savings of 90 ms",
  "description": "Consider setting [font-display](https://developer.chrome.com/docs/performance/insights/font-display) to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks)."
}

Sign in to see 36 other issues and the full report

Create a free account to unlock every issue, evidence details, exports, and higher free limits.

Development Note:

Please configure GOOGLE_CLIENT_ID in .env to activate live login.

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.

1 reports
Public score history report links
Scan dateScoreReadinessReport
54/100Level 3, Bot-AwareCurrent report