Export Report
OVERALL SCORE
Level 4, Mostly Ready
- 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
| Metric | Score | Status | Passed | Failed | Warning | Evidence |
|---|---|---|---|---|---|---|
| AI Discoverability | 100 | Strong | 28 | 0 | 0 | |
| Discoverability | 100 | Strong | 12 | 0 | 0 | |
| Content Readiness | 100 | Strong | 11 | 0 | 0 | |
| Bot Access Control | 100 | Strong | 5 | 0 | 0 | |
| Agent Ease of Use | 100 | Strong | 58 | 1 | 0 | View details |
| API | 100 | Strong | 11 | 0 | 0 | |
| Auth | 100 | Strong | 10 | 1 | 0 | View details |
| MCP | 100 | Strong | 17 | 0 | 0 | |
| Skill Discovery | 100 | Strong | 16 | 0 | 0 | |
| Agent Commerce | Not Applicable | Not Applicable | 4 | 0 | 0 | |
| GEO, AIO and AEO | 86 | Mostly ready | 8 | 0 | 9 | |
| GEO Readiness | 87 | Mostly ready | 2 | 0 | 4 | |
| AIO Readiness | Not Applicable | Not Applicable | 4 | 0 | 0 | |
| AEO Readiness | 81 | Mostly ready | 2 | 0 | 5 | |
| SEO | 92 | Strong | 10 | 1 | 0 | View details |
| SEO | 92 | Strong | 10 | 1 | 0 | View details |
| Security & Trust | 100 | Strong | 10 | 0 | 0 | |
| Security & Trust | 100 | Strong | 5 | 0 | 0 | |
| AI Training Exposure | 100 | Strong | 5 | 0 | 0 | |
| Performance and Accessibility | 51 | Needs work | 23 | 3 | 0 | View details |
| Performance | 25 | Priority fix | 7 | 3 | 0 | View details |
| Accessibility | 100 | Strong | 16 | 0 | 0 |
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
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Answer-first sections
AEO: Answer-first sections scored 65/100 and needs improvement.
Needs attention
AEO: Answer-first sections
Issue
7 section(s) may benefit from a clearer opening answer; this is optional for feature/card sections.
Details
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
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Entity clarity
GEO: Entity clarity scored 83/100 and needs improvement.
Needs attention
GEO: Entity clarity
Issue
Title/H1 terms missing from description: canagentuse, scanner, website, ready, agents.
Details
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
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Explanatory content depth
GEO: Explanatory content depth scored 75/100 and needs improvement.
Needs attention
GEO: Explanatory content depth
Issue
4 explanatory paragraph(s) could be stronger for citation or AI extraction.
Details
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
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Answer evidence and trust
AEO: Answer evidence and trust scored 80/100 and needs improvement.
Needs attention
AEO: Answer evidence and trust
Issue
Missing AIO trust signals: publisher.
Details
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
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
GEO: Extraction-friendly structure
GEO: Extraction-friendly structure scored 85/100 and needs improvement.
Needs attention
GEO: Extraction-friendly structure
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
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
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Entity and definition clarity
AEO: Entity and definition clarity scored 86/100 and needs improvement.
Needs attention
AEO: Entity and definition clarity
Issue
Entity or definition gaps: canagentuse, scanner, website, ready, agents.
Details
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
GEO, AIO and AEOGEO, AIO & AEOEmerging recommendation
AEO: Answer intent coverage
AEO: Answer intent coverage scored 70/100 and needs improvement.
Needs attention
AEO: Answer intent coverage
Issue
Missing likely AI Overview intent sections: what, how, benefits, cost, compare.
Details
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
Agent Ease of UseAuthEmerging recommendation
OAuth Protected Resource
OAuth Protected Resource has an informational finding because the page appears to support authentication.
Needs attention
OAuth Protected Resource
Issue
A protected route returned 401 without a valid WWW-Authenticate: Bearer challenge, matching resource_metadata URL, or matching protected resource identifier.
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
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
Performance and AccessibilityBest PracticesBrowser audit
Browser errors were logged to the console
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
SEOSEOBrowser audit
robots.txt is not valid
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
Performance and AccessibilityPerformanceBrowser audit
Reduce JavaScript execution time
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/).
References
https://web.dev/learn/performance/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
Performance and AccessibilityPerformanceBrowser audit
Loading performance
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.
References
https://web.dev/learn/performance/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
Performance and AccessibilityPerformanceBrowser audit
Image optimization
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.
References
https://web.dev/learn/performance/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.
| Scan date | Score | Readiness | Report |
|---|---|---|---|
| 79/100 | Level 4, Mostly Ready | Current report |