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

OVERALL SCORE

Level 5, Agent-Ready

Excellent readiness for AI agents
AIDiscoverability100%Agent Easeof Use100%Security& Trust100%GEO, AIO, AEO86%SEO100%Performance& Accessibility97%
  • AI Discoverability 100 out of 100
  • Agent Ease of Use 100 out of 100
  • Security & Trust 100 out of 100
  • GEO, AIO and AEO 86 out of 100
  • SEO 100 out of 100
  • Performance and Accessibility 97 out of 100

CAPTURED SCREENSHOT

Captured website desktop screenshot

What AI sees of your website

CanAgentUse Scanner | AI SEO and Agent-Readiness Audits favicon

CanAgentUse Scanner | AI SEO and Agent-Readiness Audits

Run deep AI SEO and agent-readiness audits across crawler policy, structured data, performance, accessibility, API discovery, OAuth, MCP, WebMCP, agent skills, and commerce signals.

Next step

Turn this report into a fix workflow

1 failed check is 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
100
Strong2800
Discoverability
100
Strong1200
Content Readiness
100
Strong1100
Bot Access Control
100
Strong500
Agent Ease of Use
100
Strong5810View details
API
100
Strong1100
Auth
100
Strong1010View details
MCP
100
Strong1700
Skill Discovery
100
Strong1600
Agent Commerce
Not Applicable
Not Applicable400
GEO, AIO and AEO
86
Mostly ready809
GEO Readiness
87
Mostly ready204
AIO Readiness
Not Applicable
Not Applicable400
AEO Readiness
81
Mostly ready205
SEO
100
Strong1100
SEO
100
Strong1100
Security & Trust
100
Strong1000
Security & Trust
100
Strong500
AI Training Exposure
100
Strong500
Performance and Accessibility
97
Strong2013View details
Performance
95
Strong1313View details
Accessibility
100
Strong700

Prioritized recommendations

Issues ranked by score impact

14 items need attention

GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation

AEO: Answer-first sections

AEO: Answer-first sections scored 65/100 and needs improvement.

5 Warning

Needs attention

AEO: Answer-first sections

Warning
01

Issue

8 section(s) may benefit from a clearer opening answer; this is optional for feature/card sections.

Details

02

Why it matters

Answer engines need concise answers, question-led structure, entity clarity, visible evidence, and trust signals that can be extracted without relying on search-only metadata checks.

Check name

AEO: Answer-first sections

Score

65/100

Status

warning

Category

GEO, AIO & AEO

Maturity

Emerging recommendation

Goal

Make page content easy for answer engines and assistants to answer from directly.

Result

AEO: Answer-first sections scored 65/100 and needs improvement.

Evidence
{
  "sectionCount": 11,
  "passing": 3,
  "failing": [
    {
      "heading": "129 signals across 15 readiness areas for the AI agent age.",
      "headingHtml": "<h2 id=\"scanner-coverage-heading\" class=\"mt-3 max-w-xl text-4xl font-semibold leading-[1.05] sm:text-5xl\">129<!-- --> signals across <!-- -->15<!-- --> readiness areas for the AI agent age.</h2>",
      "firstParagraph": "The scanner measures whether websites and web apps give AI systems the signals they need to discover public pages, trust crawler policy, understand content, call documented APIs, and complete approved workflows.",
      "paragraphHtml": "<p class=\"mt-4 max-w-2xl text-sm leading-6 theme-muted\">The scanner measures whether websites and web apps give AI systems the signals they need to discover public pages, trust crawler policy, understand content, call documented APIs, and complete approved workflows.</p>",
      "words": 31,
      "direct": false,
      "issue": "First paragraph is 31 words and does not look like a concise direct answer."
    },
    {
      "heading": "Agent-readiness field notes",
      "headingHtml": "<h2 id=\"latest-blog-heading\" class=\"mt-2 text-3xl font-semibold sm:text-4xl\">Agent-readiness field notes</h2>",
      "firstParagraph": "",
      "paragraphHtml": "",
      "words": 0,
      "direct": false,
      "issue": "No paragraph follows this heading."
    },
    {
      "heading": "Best AI SEO Tools: 11 Checks Before You Buy",
      "headingHtml": "<h3 class=\"mt-3 text-xl font-semibold leading-tight\">Best AI SEO Tools: 11 Checks Before You Buy</h3>",
      "firstParagraph": "Compare AI SEO tools with 11 checks for crawler access, visibility tracking, schema, llms.txt, OpenAPI, MCP, reporting, remediation, proof, and fixes.",
      "paragraphHtml": "<p class=\"mt-3 line-clamp-3 text-sm leading-6 theme-muted\">Compare AI SEO tools with 11 checks for crawler access, visibility tracking, schema, llms.txt, OpenAPI, MCP, reporting, remediation, proof, and fixes.</p>",
      "words": 22,
      "direct": false,
      "issue": "First paragraph is 22 words and does not look like a concise direct answer."
    },
    {
      "heading": "AI Crawler Audit: Robots.txt Is Not Enough",
      "headingHtml": "<h3 class=\"mt-3 text-xl font-semibold leading-tight\">AI Crawler Audit: Robots.txt Is Not Enough</h3>",
      "firstParagraph": "Run a 7-layer AI crawler audit across 13 bots, robots.txt, Content-Signal, WAF rules, status codes, logs, IP verification, retrieval proof, and fixes.",
      "paragraphHtml": "<p class=\"mt-3 line-clamp-3 text-sm leading-6 theme-muted\">Run a 7-layer AI crawler audit across 13 bots, robots.txt, Content-Signal, WAF rules, status codes, logs, IP verification, retrieval proof, and fixes.</p>",
      "words": 23,
      "direct": false,
      "issue": "First paragraph is 23 words and does not look like a concise direct answer."
    },
    {
      "heading": "MCP in your IDE",
      "headingHtml": "<h3 class=\"mt-4 text-xl font-semibold\">MCP in your IDE</h3>",
      "firstParagraph": "Connect CanAgentUse to Codex, Claude Desktop, or Cursor so failed checks turn into direct repair prompts inside your coding workflow.",
      "paragraphHtml": "<p class=\"mt-3 text-sm leading-6 theme-muted\">Connect CanAgentUse to Codex, Claude Desktop, or Cursor so failed checks turn into direct repair prompts inside your coding workflow.</p>",
      "words": 20,
      "direct": false,
      "issue": "First paragraph is 20 words and does not look like a concise direct answer."
    },
    {
      "heading": "CI in pull requests",
      "headingHtml": "<h3 class=\"mt-4 text-xl font-semibold\">CI in pull requests</h3>",
      "firstParagraph": "Turn the scanner into a release check that compares baseline and preview results before changes reach production.",
      "paragraphHtml": "<p class=\"mt-3 text-sm leading-6 theme-muted\">Turn the scanner into a release check that compares baseline and preview results before changes reach production.</p>",
      "words": 17,
      "direct": false,
      "issue": "First paragraph is 17 words and does not look like a concise direct answer."
    },
    {
      "heading": "Want help making your site agent-ready?",
      "headingHtml": "<h2 id=\"scanner-connect-title\" class=\"mt-3 max-w-2xl text-3xl font-semibold leading-tight md:text-4xl\">Want help making your site agent-ready?</h2>",
      "firstParagraph": "Send your site and goals. We can review readiness gaps, implementation options, and the right next step before or after you scan.",
      "paragraphHtml": "<p class=\"mt-4 max-w-xl text-sm leading-6 theme-muted\">Send your site and goals. We can review readiness gaps, implementation options, and the right next step before or after you scan.</p>",
      "words": 22,
      "direct": false,
      "issue": "First paragraph is 22 words and does not look like a concise direct answer."
    },
    {
      "heading": "Questions about AI SEO and agent-readiness scans",
      "headingHtml": "<h2 id=\"faq-heading\" class=\"mt-3 text-3xl font-semibold leading-tight sm:text-4xl\">Questions about AI SEO and agent-readiness scans</h2>",
      "firstParagraph": "The scanner focuses on the public, machine-readable, technical, and content signals that AI search systems and agents need before they can cite, understand, or use a website reliably.",
      "paragraphHtml": "<p class=\"mt-5 max-w-xl text-base leading-7 theme-muted\">The scanner focuses on the public, machine-readable, technical, and content signals that AI search systems and agents need before they can cite, understand, or use a website reliably.</p>",
      "words": 28,
      "direct": false,
      "issue": "First paragraph is 28 words and does not look like a concise direct answer."
    }
  ],
  "score": 65,
  "weight": 28
}

GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation

GEO: Entity clarity

GEO: Entity clarity scored 83/100 and needs improvement.

2 Warning

Needs attention

GEO: Entity clarity

Warning
01

Issue

Title/H1 terms missing from description: canagentuse, scanner, website, ready, agents.

Details

02

Why it matters

Generative engines favor pages with self-contained answer passages, clear entities, structured data, summaries, FAQ patterns, and crawler-accessible HTML that can be cited without extra interpretation.

Check name

GEO: Entity clarity

Score

83/100

Status

warning

Category

GEO, AIO & AEO

Maturity

Emerging recommendation

Goal

Make page content easy for AI answer engines to extract, cite, and attribute.

Result

GEO: Entity clarity scored 83/100 and needs improvement.

Evidence
{
  "title": "CanAgentUse Scanner | AI SEO and Agent-Readiness Audits",
  "h1": "Is your website ready for AI agents?",
  "description": "Run deep AI SEO and agent-readiness audits across crawler policy, structured data, performance, accessibility, API discovery, OAuth, MCP, WebMCP, agent skills, and commerce signals.",
  "topicOverlap": 0.4444444444444444,
  "topicTerms": [
    "canagentuse",
    "scanner",
    "seo",
    "agent",
    "readiness",
    "audits",
    "website",
    "ready",
    "agents"
  ],
  "descriptionTerms": [
    "run",
    "deep",
    "seo",
    "agent",
    "readiness",
    "audits",
    "across",
    "crawler",
    "policy",
    "structured",
    "data",
    "performance",
    "accessibility",
    "api",
    "discovery",
    "oauth",
    "mcp",
    "webmcp",
    "skills"
  ],
  "missingFromDescription": [
    "canagentuse",
    "scanner",
    "website",
    "ready",
    "agents"
  ],
  "score": 83,
  "weight": 28
}

GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation

GEO: Explanatory content depth

GEO: Explanatory content depth scored 75/100 and needs improvement.

2 Warning

Needs attention

GEO: Explanatory content depth

Warning
01

Issue

3 explanatory paragraph(s) could be stronger for citation or AI extraction.

Details

02

Why it matters

Generative engines favor pages with self-contained answer passages, clear entities, structured data, summaries, FAQ patterns, and crawler-accessible HTML that can be cited without extra interpretation.

Check name

GEO: Explanatory content depth

Score

75/100

Status

warning

Category

GEO, AIO & AEO

Maturity

Emerging recommendation

Goal

Make page content easy for AI answer engines to extract, cite, and attribute.

Result

GEO: Explanatory content depth scored 75/100 and needs improvement.

Evidence
{
  "candidatePassages": 3,
  "citablePassages": 0,
  "failingCandidateParagraphs": [
    {
      "index": 32,
      "heading": "H2: Questions about AI SEO and agent-readiness scans",
      "text": "CanAgentUse checks AI SEO, crawler policy, structured data, semantic HTML, performance, accessibility, API catalog, OpenAPI, OAuth/OIDC discovery, protected resource metadata, MCP, WebMCP, A2A, agent skills, Web Bot Auth, AI training policy, and agent commerce signals such as x402, MPP, UCP, and ACP.",
      "words": 43,
      "hasEvidence": true,
      "reasons": [
        "Too short for a citation-ready passage (43 words; target 80-220)."
      ],
      "html": "<p class=\"mt-3 max-w-3xl text-base leading-7 theme-muted\">CanAgentUse checks AI SEO, crawler policy, structured data, semantic HTML, performance, accessibility, API catalog, OpenAPI, OAuth/OIDC discovery, protected resource metadata, MCP, WebMCP, A2A, agent skills, Web Bot Auth, AI training policy, and agent commerce signals such as x402, MPP, UCP, and ACP.</p>"
    },
    {
      "index": 33,
      "heading": "H2: Questions about AI SEO and agent-readiness scans",
      "text": "No. Robots.txt and llms.txt are only a small part of the scan. The report also evaluates content extraction, AI SEO, structured data, API discovery, authentication metadata, MCP and WebMCP surfaces, agent-facing skills, security headers, performance, accessibility, and commerce-readiness metadata.",
      "words": 41,
      "hasEvidence": true,
      "reasons": [
        "Too short for a citation-ready passage (41 words; target 80-220)."
      ],
      "html": "<p class=\"mt-3 max-w-3xl text-base leading-7 theme-muted\">No. Robots.txt and llms.txt are only a small part of the scan. The report also evaluates content extraction, AI SEO, structured data, API discovery, authentication metadata, MCP and WebMCP surfaces, agent-facing skills, security headers, performance, accessibility, and commerce-readiness metadata.</p>"
    },
    {
      "index": 34,
      "heading": "H2: Questions about AI SEO and agent-readiness scans",
      "text": "Yes. It checks API catalog discovery, OpenAPI or Swagger documents, OAuth and OIDC discovery metadata, OAuth Protected Resource metadata, MCP server cards, mcp.json, WebMCP manifests, browser tool annotations, A2A agent cards, agent.json, agents.json, and agent skills indexes.",
      "words": 40,
      "hasEvidence": false,
      "reasons": [
        "Too short for a citation-ready passage (40 words; target 80-220).",
        "Missing a named source, statistic, date, percentage, report, or other evidence signal."
      ],
      "html": "<p class=\"mt-3 max-w-3xl text-base leading-7 theme-muted\">Yes. It checks API catalog discovery, OpenAPI or Swagger documents, OAuth and OIDC discovery metadata, OAuth Protected Resource metadata, MCP server cards, mcp.json, WebMCP manifests, browser tool annotations, A2A agent cards, agent.json, agents.json, and agent skills indexes.</p>"
    }
  ],
  "citableParagraphs": [],
  "score": 75,
  "weight": 18
}

GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation

AEO: Answer evidence and trust

AEO: Answer evidence and trust scored 80/100 and needs improvement.

2 Warning

Needs attention

AEO: Answer evidence and trust

Warning
01

Issue

Missing AIO trust signals: publisher.

Details

02

Why it matters

Answer engines need concise answers, question-led structure, entity clarity, visible evidence, and trust signals that can be extracted without relying on search-only metadata checks.

Check name

AEO: Answer evidence and trust

Score

80/100

Status

warning

Category

GEO, AIO & AEO

Maturity

Emerging recommendation

Goal

Make page content easy for answer engines and assistants to answer from directly.

Result

AEO: Answer evidence and trust scored 80/100 and needs improvement.

Evidence
{
  "signals": {
    "author": true,
    "publisher": false,
    "freshnessDate": true,
    "aboutOrContact": true,
    "policyLinks": true
  },
  "missing": [
    "publisher"
  ],
  "authorMeta": "Senior Editor",
  "schemaAuthors": [],
  "schemaPublishers": [],
  "schemaDates": [
    "2026-06-08T10:31:58.000Z"
  ],
  "visibleDates": [
    "2026-06-07",
    "2026-06-06",
    "2026-06-05"
  ],
  "aboutLinks": [
    {
      "href": "/docs",
      "text": "About CanAgentUse",
      "html": "<a class=\"focus-ring rounded-lg underline underline-offset-4 hover:theme-accent transition-colors duration-200\" href=\"/docs\" data-mcp-tool=\"open_about\" tool-name=\"open_about\" tool-description=\"Open information about CanAgentUse\">About CanAgentUse</a>"
    }
  ],
  "contactLinks": [
    {
      "href": "/docs",
      "text": "Contact support",
      "html": "<a class=\"focus-ring rounded-lg underline underline-offset-4 hover:theme-accent transition-colors duration-200\" href=\"/docs\" data-mcp-tool=\"open_support\" tool-name=\"open_support\" tool-description=\"Open support and contact information\">Contact support</a>"
    }
  ],
  "privacyLinks": [
    {
      "href": "/llms.txt",
      "text": "Terms for agents",
      "html": "<a class=\"focus-ring rounded-lg underline underline-offset-4 hover:theme-accent transition-colors duration-200\" href=\"/llms.txt\" data-mcp-tool=\"open_agent_terms\" tool-name=\"open_agent_terms\" tool-description=\"Open machine-readable terms and guidance for agents\">Terms for agents</a>"
    }
  ],
  "score": 80,
  "weight": 22
}

GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation

GEO: Extraction-friendly structure

GEO: Extraction-friendly structure scored 85/100 and needs improvement.

2 Warning

Needs attention

GEO: Extraction-friendly structure

Warning
01

Issue

Missing extraction signals: optional top summary / TL;DR / key takeaways block, table with <thead> only if the page already has tabular/comparative data, ordered list only if the page explains a workflow/process.

Details

02

Why it matters

Generative engines favor pages with self-contained answer passages, clear entities, structured data, summaries, FAQ patterns, and crawler-accessible HTML that can be cited without extra interpretation.

Check name

GEO: Extraction-friendly structure

Score

85/100

Status

warning

Category

GEO, AIO & AEO

Maturity

Emerging recommendation

Goal

Make page content easy for AI answer engines to extract, cite, and attribute.

Result

GEO: Extraction-friendly structure scored 85/100 and needs improvement.

Evidence
{
  "hasSummary": false,
  "tableCount": 0,
  "tablesWithHead": 0,
  "tablesMissingThead": [],
  "orderedLists": 0,
  "hasFaq": true,
  "definitionPatterns": 3,
  "schemaBlocks": 3,
  "missingSignals": [
    "optional top summary / TL;DR / key takeaways block",
    "table with <thead> only if the page already has tabular/comparative data",
    "ordered list only if the page explains a workflow/process"
  ],
  "score": 85,
  "weight": 24
}

GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation

AEO: Entity and definition clarity

AEO: Entity and definition clarity scored 86/100 and needs improvement.

1 Warning

Needs attention

AEO: Entity and definition clarity

Warning
01

Issue

Entity or definition gaps: canagentuse, scanner, website, ready, agents.

Details

02

Why it matters

Answer engines need concise answers, question-led structure, entity clarity, visible evidence, and trust signals that can be extracted without relying on search-only metadata checks.

Check name

AEO: Entity and definition clarity

Score

86/100

Status

warning

Category

GEO, AIO & AEO

Maturity

Emerging recommendation

Goal

Make page content easy for answer engines and assistants to answer from directly.

Result

AEO: Entity and definition clarity scored 86/100 and needs improvement.

Evidence
{
  "title": "CanAgentUse Scanner | AI SEO and Agent-Readiness Audits",
  "h1": "Is your website ready for AI agents?",
  "description": "Run deep AI SEO and agent-readiness audits across crawler policy, structured data, performance, accessibility, API discovery, OAuth, MCP, WebMCP, agent skills, and commerce signals.",
  "topicOverlap": 0.4444444444444444,
  "definitionCount": 3,
  "topicTerms": [
    "canagentuse",
    "scanner",
    "seo",
    "agent",
    "readiness",
    "audits",
    "website",
    "ready",
    "agents"
  ],
  "descriptionTerms": [
    "run",
    "deep",
    "seo",
    "agent",
    "readiness",
    "audits",
    "across",
    "crawler",
    "policy",
    "structured",
    "data",
    "performance",
    "accessibility",
    "api",
    "discovery",
    "oauth",
    "mcp",
    "webmcp",
    "skills"
  ],
  "missingFromDescription": [
    "canagentuse",
    "scanner",
    "website",
    "ready",
    "agents"
  ],
  "score": 86,
  "weight": 18
}

GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation

AEO: Answer intent coverage

AEO: Answer intent coverage scored 70/100 and needs improvement.

1 Warning

Needs attention

AEO: Answer intent coverage

Warning
01

Issue

Missing likely AI Overview intent sections: what, how, cost, compare.

Details

02

Why it matters

Answer engines need concise answers, question-led structure, entity clarity, visible evidence, and trust signals that can be extracted without relying on search-only metadata checks.

Check name

AEO: Answer intent coverage

Score

70/100

Status

warning

Category

GEO, AIO & AEO

Maturity

Emerging recommendation

Goal

Make page content easy for answer engines and assistants to answer from directly.

Result

AEO: Answer intent coverage scored 70/100 and needs improvement.

Evidence
{
  "headings": [
    {
      "text": "129 signals across 15 readiness areas for the AI agent age.",
      "html": "<h2 id=\"scanner-coverage-heading\" class=\"mt-3 max-w-xl text-4xl font-semibold leading-[1.05] sm:text-5xl\">129<!-- --> signals across <!-- -->15<!-- --> readiness areas for the AI agent age.</h2>"
    },
    {
      "text": "Agent-readiness field notes",
      "html": "<h2 id=\"latest-blog-heading\" class=\"mt-2 text-3xl font-semibold sm:text-4xl\">Agent-readiness field notes</h2>"
    },
    {
      "text": "Fix failing checks inside the tools your team already uses.",
      "html": "<h2 id=\"integration-guide-title\" class=\"mt-3 max-w-3xl text-3xl font-semibold leading-tight sm:text-4xl\">Fix failing checks inside the tools your team already uses.</h2>"
    },
    {
      "text": "Want help making your site agent-ready?",
      "html": "<h2 id=\"scanner-connect-title\" class=\"mt-3 max-w-2xl text-3xl font-semibold leading-tight md:text-4xl\">Want help making your site agent-ready?</h2>"
    },
    {
      "text": "Questions about AI SEO and agent-readiness scans",
      "html": "<h2 id=\"faq-heading\" class=\"mt-3 text-3xl font-semibold leading-tight sm:text-4xl\">Questions about AI SEO and agent-readiness scans</h2>"
    }
  ],
  "expected": [
    {
      "id": "what",
      "label": "What is CanAgentUse Scanner?",
      "pattern": {}
    },
    {
      "id": "how",
      "label": "How does CanAgentUse Scanner work?",
      "pattern": {}
    },
    {
      "id": "benefits",
      "label": "Why use CanAgentUse Scanner?",
      "pattern": {}
    },
    {
      "id": "cost",
      "label": "Is CanAgentUse Scanner free or paid?",
      "pattern": {}
    },
    {
      "id": "compare",
      "label": "How does CanAgentUse Scanner compare with alternatives?",
      "pattern": {}
    }
  ],
  "missing": [
    {
      "id": "what",
      "label": "What is CanAgentUse Scanner?",
      "pattern": {}
    },
    {
      "id": "how",
      "label": "How does CanAgentUse Scanner work?",
      "pattern": {}
    },
    {
      "id": "cost",
      "label": "Is CanAgentUse Scanner free or paid?",
      "pattern": {}
    },
    {
      "id": "compare",
      "label": "How does CanAgentUse Scanner compare with alternatives?",
      "pattern": {}
    }
  ],
  "score": 70,
  "weight": 8
}

Agent Ease of UseAuthEmerging recommendation

OAuth Protected Resource

OAuth Protected Resource has an informational finding because the page appears to support authentication.

Informational

Needs attention

OAuth Protected Resource

Informational
01

Issue

A protected route returned 401 without a valid WWW-Authenticate: Bearer challenge, matching resource_metadata URL, or matching protected resource identifier.

02

Why it matters

Protected Resource metadata tells agents which authorization servers protect an API and how to connect authentication challenges to the right resource.

Check name

OAuth Protected Resource

Score

0/100

Status

informational

Category

Auth

Maturity

Emerging recommendation

Goal

Publish OAuth Protected Resource Metadata so agents can discover how to authenticate.

Result

OAuth Protected Resource has an informational finding because the page appears to support authentication.

Validation steps

  1. Probe protected API Bearer challenge

    A protected route returned 401 without a valid WWW-Authenticate: Bearer challenge, matching resource_metadata URL, or matching protected resource identifier.

Evidence
{
  "failedStep": "protected-route-challenge",
  "steps": [
    {
      "id": "fetch",
      "title": "Fetch protected resource metadata",
      "status": "pass",
      "evidence": {
        "path": "/.well-known/oauth-protected-resource",
        "statusCode": 200,
        "contentType": "application/oauth-protected-resource+json; charset=utf-8"
      },
      "howToFix": "Publish /.well-known/oauth-protected-resource JSON."
    },
    {
      "id": "metadata",
      "title": "Validate protected resource metadata",
      "status": "pass",
      "evidence": {
        "valid": true,
        "compatibleContentType": true,
        "hasResource": true,
        "authorizationServerCount": 1,
        "resource": "https://canagentuse.com",
        "resourceIssues": [],
        "authServerIssues": [],
        "scopesSupported": [
          "scan:read",
          "scan:write"
        ],
        "bearerMethodsSupported": [
          "header"
        ],
        "rawExcerpt": "{\"resource\":\"https://canagentuse.com\",\"authorization_servers\":[\"https://canagentuse.com/.well-known/oauth-authorization-server\"],\"scopes_supported\":[\"scan:read\",\"scan:write\"],\"bearer_methods_supported\":[\"header\"],\"resource_documentation\":\"https://canagentuse.com/api\"}"
      },
      "howToFix": "Publish resource and authorization_servers as absolute URLs."
    },
    {
      "id": "resource-identity",
      "title": "Validate protected resource identity",
      "status": "pass",
      "evidence": {
        "resource": "https://canagentuse.com",
        "expectedResource": "https://canagentuse.com"
      },
      "howToFix": "Set `resource` to the origin/resource identifier represented by /.well-known/oauth-protected-resource."
    },
    {
      "id": "protected-route-challenge",
      "title": "Probe protected API Bearer challenge",
      "status": "fail",
      "evidence": {
        "checked": [
          {
            "path": "/api/admin/scans",
            "statusCode": 401,
            "wwwAuthenticate": {
              "valid": false,
              "present": false
            },
            "expectedMetadataUrl": "https://canagentuse.com/.well-known/oauth-protected-resource",
            "metadataUrlMatches": true,
            "metadataResource": "https://canagentuse.com",
            "resourceMatchesRequestContext": true
          },
          {
            "path": "/api/admin/summary",
            "statusCode": 401,
            "wwwAuthenticate": {
              "valid": false,
              "present": false
            },
            "expectedMetadataUrl": "https://canagentuse.com/.well-known/oauth-protected-resource",
            "metadataUrlMatches": true,
            "metadataResource": "https://canagentuse.com",
            "resourceMatchesRequestContext": true
          },
          {
            "path": "/api/scans",
            "statusCode": 200,
            "wwwAuthenticate": {
              "valid": false,
              "present": false
            },
            "expectedMetadataUrl": "https://canagentuse.com/.well-known/oauth-protected-resource",
            "metadataUrlMatches": true,
            "metadataResource": "https://canagentuse.com",
            "resourceMatchesRequestContext": true
          }
        ]
      },
      "issue": "A protected route returned 401 without a valid WWW-Authenticate: Bearer challenge, matching resource_metadata URL, or matching protected resource identifier.",
      "howToFix": "When this site exposes bearer-protected APIs, return 401 with WWW-Authenticate: Bearer and link resource_metadata."
    }
  ],
  "authApplicability": {
    "supportsAuth": true,
    "score": 12,
    "signals": [
      {
        "source": "button:attribute",
        "weight": 3,
        "match": "auth control annotation"
      },
      {
        "source": "visible-text",
        "weight": 3,
        "match": "sign in"
      },
      {
        "source": "visible-text",
        "weight": 3,
        "match": "oauth"
      },
      {
        "source": "visible-text",
        "weight": 3,
        "match": "oidc"
      }
    ]
  },
  "resourceFetchSucceeded": true
}

Performance and AccessibilityBest PracticesBrowser audit

Browser errors were logged to the console

50 Fail

Check name

Browser errors were logged to the console

Score

0/100

Status

fail

Device

desktop

Category

Best Practices

Fix guidance

Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more about this errors in console diagnostic audit](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)

Evidence
{
  "description": "Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. [Learn more about this errors in console diagnostic audit](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)"
}

Performance and AccessibilityBest PracticesBrowser audit

Issues were logged in the `Issues` panel in Chrome Devtools

50 Fail

Check name

Issues were logged in the `Issues` panel in Chrome Devtools

Score

0/100

Status

fail

Device

desktop

Category

Best Practices

Fix guidance

Issues logged to the `Issues` panel in Chrome Devtools indicate unresolved problems. They can come from network request failures, insufficient security controls, and other browser concerns. Open up the Issues panel in Chrome DevTools for more details on each issue.

Evidence
{
  "description": "Issues logged to the `Issues` panel in Chrome Devtools indicate unresolved problems. They can come from network request failures, insufficient security controls, and other browser concerns. Open up the Issues panel in Chrome DevTools for more details on each issue."
}

Performance and AccessibilityPerformanceBrowser audit

Legacy JavaScript

25 Fail

Check name

Legacy JavaScript

Score

0/100

Status

fail

Device

desktop

Category

Performance

Estimated savings

Est savings of 12 KiB

Fix guidance

Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)

Evidence
{
  "displayValue": "Est savings of 12 KiB",
  "description": "Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)"
}

Performance and AccessibilityPerformanceBrowser audit

Improve image delivery

13 Warning

Check name

Improve image delivery

Score

50/100

Status

warning

Device

desktop

Category

Performance

Estimated savings

Est savings of 113 KiB

Fix guidance

Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery)

Evidence
{
  "displayValue": "Est savings of 113 KiB",
  "description": "Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery)"
}

Performance and AccessibilityPerformanceBrowser audit

Render-blocking requests

13 Warning

Check name

Render-blocking requests

Score

50/100

Status

warning

Device

desktop

Category

Performance

Fix guidance

Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) can move these network requests out of the critical path.

Evidence
{
  "description": "Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) can move these network requests out of the critical path."
}

Performance and AccessibilityPerformanceBrowser audit

Use efficient cache lifetimes

13 Warning

Check name

Use efficient cache lifetimes

Score

50/100

Status

warning

Device

desktop

Category

Performance

Estimated savings

Est savings of 89 KiB

Fix guidance

A long cache lifetime can speed up repeat visits to your page. [Learn more about caching](https://developer.chrome.com/docs/performance/insights/cache).

Evidence
{
  "displayValue": "Est savings of 89 KiB",
  "description": "A long cache lifetime can speed up repeat visits to your page. [Learn more about caching](https://developer.chrome.com/docs/performance/insights/cache)."
}

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.

4 reports
Public score history report links
Scan dateScoreReadinessReport
79/100Level 4, Mostly ReadyView report
96/100Level 5, Agent-ReadyView report
96/100Level 5, Agent-ReadyView report
98/100Level 5, Agent-ReadyCurrent report
Report ID a0af32da-6007-4f8e-bca1-82433f0f0a44. Scanned Jun 8, 2026, 5:46 PM.
canagentuse.com AI SEO Report: 98/100 (Level 5, Agent-Ready)