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

OVERALL SCORE

Level 3, Bot-Aware

Moderate readiness for AI agents
AIDiscoverability43%Agent Easeof Use49%Security& Trust56%GEO, AIO, AEO56%SEO85%Performance37%Accessibility93%
  • AI Discoverability 43 out of 100
  • Agent Ease of Use 49 out of 100
  • Security & Trust 56 out of 100
  • GEO, AIO and AEO 56 out of 100
  • SEO 85 out of 100
  • Performance 37 out of 100
  • Accessibility 93 out of 100

CAPTURED SCREENSHOT

Captured website desktop screenshot

What AI sees of your website

Microsoft 365 for Individuals: Subscription for Productivity Apps favicon

Microsoft 365 for Individuals: Subscription for Productivity Apps

Microsoft 365 (formerly Office 365) subscriptions offer a suite of productivity tools and cloud services with world-class security and powerful AI. Try for free.

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.

Detailed report scores grouped by capability area
MetricScoreStatusPassedFailedWarningEvidence
AI Discoverability
43
Priority fix1582View details
Discoverability
67
Needs work800
Content Readiness
31
Priority fix731View details
Bot Access Control
34
Priority fix051View details
Agent Ease of Use
49
Priority fix100
Auth
48
Priority fix100
GEO, AIO and AEO
56
Needs work600
GEO Readiness
Not Applicable
Not Applicable100
AIO Readiness
Not Applicable
Not Applicable300
AEO Readiness
Not Applicable
Not Applicable200
SEO
85
Mostly ready800
SEO
85
Mostly ready800
Security & Trust
56
Needs work1200
Security & Trust
56
Needs work1200
Performance
37
Priority fix1100
Performance
37
Priority fix1100

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

AI DiscoverabilityBot Access ControlEstablished

AI bot rules in robots.txt

AI bot rules in robots.txt failed at "Fetch robots.txt".

50 Fail

Needs attention

AI bot rules in robots.txt

Failed check
01

Issue

No robots.txt content was available to inspect for AI bot rules.

02

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

0/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 "Fetch robots.txt".

Validation steps

  1. Fetch robots.txt

    No robots.txt content was available to inspect for AI bot rules.

  2. Classify AI crawler rules

    No explicit User-agent rules were found for major AI crawler tokens.

Evidence log2 steps · 10 lines
Fetch robots.txt [fail]! No robots.txt content was available to inspect for AI bot rules.INFOFetch robots.txtINFORequesting /robots.txt from the site originFAILCheck whether robots.txt content is available actual="no content" expected="content returned" length=0FAILNo robots.txt content was available to inspect for AI bot rules.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=0 unspecified=21

AI DiscoverabilityBot Access ControlEmerging recommendation

ai.txt policy

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

41 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" length=4410FAIL/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=4410 lineCount=155FAILCompare 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.

Sign in to see 42 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.

8 reports
Public score history report links
Scan dateScoreReadinessReport
39/100Level 2, Agent-LimitedView report
46/100Level 2, Agent-LimitedView report
52/100Level 3, Bot-AwareView report
60/100Level 3, Bot-AwareView report
52/100Level 3, Bot-AwareView report
59/100Level 3, Bot-AwareView report
51/100Level 3, Bot-AwareCurrent report
60/100Level 3, Bot-AwareView report