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

OVERALL SCORE

Level 4, Mostly Ready

Good readiness for AI agents
AIDiscoverability100%Agent Easeof Use100%Security& Trust100%GEO, AIO, AEO86%SEO92%Performance& Accessibility51%
  • 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 92 out of 100
  • Performance and Accessibility 51 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.

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
92
Strong1010View details
SEO
92
Strong1010View details
Security & Trust
100
Strong1000
Security & Trust
100
Strong500
AI Training Exposure
100
Strong500
Performance and Accessibility
51
Needs work2330View details
Performance
25
Priority fix730View details
Accessibility
100
Strong1600

Prioritized recommendations

Issues ranked by score impact

13 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

7 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": 9,
  "passing": 2,
  "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": "Integrate the MCP Server. Automate CLI in CI/CD.",
      "headingHtml": "<h2 id=\"mcp-guide-title\" class=\"text-3xl font-semibold leading-tight md:text-4xl\">Integrate the MCP Server. Automate CLI in CI/CD.</h2>",
      "firstParagraph": "The readiness scanner operates as a standalone CLI tool, an MCP server, and a CI/CD regression gate. Connect it to Claude or Cursor for local repair workflows, run public or localhost scans from the terminal, and compare saved reports to block regressions before a preview build ships.",
      "paragraphHtml": "<p class=\"mt-4 mx-auto max-w-2xl text-base leading-relaxed theme-muted\">The readiness scanner operates as a standalone CLI tool, an MCP server, and a CI/CD regression gate. Connect it to Claude or Cursor for local repair workflows, run public or localhost scans from the terminal, and compare saved reports to block regressions before a preview build ships.</p>",
      "words": 48,
      "direct": false,
      "issue": "First paragraph is 48 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

4 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": 4,
  "citablePassages": 0,
  "failingCandidateParagraphs": [
    {
      "index": 24,
      "heading": "H2: Integrate the MCP Server. Automate CLI in CI/CD.",
      "text": "The readiness scanner operates as a standalone CLI tool, an MCP server, and a CI/CD regression gate. Connect it to Claude or Cursor for local repair workflows, run public or localhost scans from the terminal, and compare saved reports to block regressions before a preview build ships.",
      "words": 48,
      "hasEvidence": false,
      "reasons": [
        "Too short for a citation-ready passage (48 words; target 80-220).",
        "Missing a named source, statistic, date, percentage, report, or other evidence signal."
      ],
      "html": "<p class=\"mt-4 mx-auto max-w-2xl text-base leading-relaxed theme-muted\">The readiness scanner operates as a standalone CLI tool, an MCP server, and a CI/CD regression gate. Connect it to Claude or Cursor for local repair workflows, run public or localhost scans from the terminal, and compare saved reports to block regressions before a preview build ships.</p>"
    },
    {
      "index": 43,
      "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": 44,
      "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": 45,
      "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-03T18:36:41.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": 2,
  "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": 2,
  "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, benefits, 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": "Integrate the MCP Server. Automate CLI in CI/CD.",
      "html": "<h2 id=\"mcp-guide-title\" class=\"text-3xl font-semibold leading-tight md:text-4xl\">Integrate the MCP Server. Automate CLI in CI/CD.</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": "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": {}
    }
  ],
  "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

100 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/)"
}

SEOSEOBrowser audit

robots.txt is not valid

100 Fail

Check name

robots.txt is not valid

Score

0/100

Status

fail

Device

desktop

Category

SEO

Estimated savings

2 errors found

Fix guidance

If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. [Learn more about robots.txt](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/).

Evidence
{
  "displayValue": "2 errors found",
  "description": "If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. [Learn more about robots.txt](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)."
}

Performance and AccessibilityPerformanceBrowser audit

Reduce JavaScript execution time

33 Fail

Check name

Reduce JavaScript execution time

Score

0/100

Status

fail

Device

desktop

Category

Performance

Estimated savings

10.0 s

Fix guidance

Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to reduce Javascript execution time](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/).

Evidence
{
  "displayValue": "10.0 s",
  "description": "Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. [Learn how to reduce Javascript execution time](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/).",
  "numericValue": 10019.347999999984
}

Performance and AccessibilityPerformanceBrowser audit

Loading performance

24 Fail

Check name

Loading performance

Score

27/100

Status

fail

Device

desktop

Category

Performance

Fix guidance

Review the grouped loading performance checks and improve the failing sub-checks listed in evidence.

Evidence
{
  "checks": [
    {
      "id": "first-contentful-paint",
      "title": "First Contentful Paint",
      "score": 0,
      "displayValue": "4.8 s",
      "numericValue": 4758.0504
    },
    {
      "id": "largest-contentful-paint",
      "title": "Largest Contentful Paint",
      "score": 0,
      "displayValue": "10.5 s",
      "numericValue": 10534.615849999998
    },
    {
      "id": "speed-index",
      "title": "Speed Index",
      "score": 0,
      "displayValue": "7.6 s",
      "numericValue": 7645.609245531483
    },
    {
      "id": "total-blocking-time",
      "title": "Total Blocking Time",
      "score": 0,
      "displayValue": "8,570 ms",
      "numericValue": 8572.81955
    },
    {
      "id": "max-potential-fid",
      "title": "Max Potential First Input Delay",
      "score": 0,
      "displayValue": "2,210 ms",
      "numericValue": 2205
    },
    {
      "id": "server-response-time",
      "title": "Initial server response time was short",
      "score": 100,
      "displayValue": "Root document took 220 ms",
      "numericValue": 216.645
    },
    {
      "id": "interactive",
      "title": "Time to Interactive",
      "score": 0,
      "displayValue": "16.4 s",
      "numericValue": 16402.8987
    },
    {
      "id": "uses-rel-preconnect",
      "title": "Preconnect to required origins",
      "score": 100,
      "displayValue": "",
      "numericValue": 0
    },
    {
      "id": "network-rtt",
      "title": "Network Round Trip Times",
      "score": 100,
      "displayValue": "0 ms",
      "numericValue": 1.6875
    },
    {
      "id": "third-party-summary",
      "title": "Reduce the impact of third-party code",
      "score": 0,
      "displayValue": "Third-party code blocked the main thread for 3,970 ms"
    },
    {
      "id": "largest-contentful-paint-element",
      "title": "Largest Contentful Paint element",
      "score": 0,
      "displayValue": "10,530 ms"
    }
  ]
}

Performance and AccessibilityPerformanceBrowser audit

Image optimization

8 Fail

Check name

Image optimization

Score

75/100

Status

fail

Device

desktop

Category

Performance

Fix guidance

Review the grouped image optimization checks and improve the failing sub-checks listed in evidence.

Evidence
{
  "checks": [
    {
      "id": "image-aspect-ratio",
      "title": "Displays images with correct aspect ratio",
      "score": 100
    },
    {
      "id": "uses-responsive-images",
      "title": "Properly size images",
      "score": 50,
      "displayValue": "Est savings of 114 KiB",
      "numericValue": 0
    }
  ]
}

Improve Your Score

Send the scan details to a professional with the required report context attached.

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
79/100Level 4, Mostly ReadyCurrent report
Report ID 453d7d28-3818-4072-9792-bf011e0a3168. Scanned Jun 4, 2026, 12:30 AM.
canagentuse.com AI SEO Report: 79/100 (Level 4, Mostly Ready)