Export Report
OVERALL SCORE
Level 5, Agent-Ready
- AI Discoverability 100 out of 100
- Agent Ease of Use 97 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 95 out of 100
What AI sees of your website
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
2 failed checks are ready to move into MCP or CLI remediation. Generate a repair prompt, connect the scanner to your coding agent, or open the integration docs before your next rescan.
| 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 | 97 | Strong | 56 | 3 | 0 | View details |
| API | 89 | Mostly ready | 9 | 2 | 0 | View details |
| 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 | 95 | Strong | 24 | 1 | 1 | View details |
| Performance | 92 | Strong | 15 | 1 | 1 | View details |
| Accessibility | 100 | Strong | 9 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
13 items need attention
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Fetch advertised API catalog targets".
33 Fail
Agent Ease of UseAPIEstablished
API Catalog
API Catalog failed at "Fetch advertised API catalog targets".
Needs attention
API Catalog
Issue
API Catalog target https://canagentuse.com/canagentuse-indexnow-2026.txt (indexnow-key) returned HTTP 404 instead of a 2xx/3xx response.
Why it matters
API catalogs help agents find service descriptions, documentation, and status resources without guessing API entry points.
Check name
API Catalog
Score
67/100
Status
fail
Category
API
Maturity
Established
Goal
Publish an API catalog for automated API discovery using RFC 9727.
Result
API Catalog failed at "Fetch advertised API catalog targets".
Validation steps
Fetch advertised API catalog targets
API Catalog target https://canagentuse.com/canagentuse-indexnow-2026.txt (indexnow-key) returned HTTP 404 instead of a 2xx/3xx response.
Evidence
{
"failedStep": "target-validation",
"steps": [
{
"id": "fetch",
"title": "Fetch API catalog",
"status": "pass",
"evidence": {
"statusCode": 200,
"contentType": "application/linkset+json"
},
"howToFix": "Publish /.well-known/api-catalog."
},
{
"id": "validate",
"title": "Validate RFC 9727 linkset",
"status": "pass",
"evidence": {
"valid": true,
"compatibleContentType": true,
"linksetItems": 1,
"relations": [
"profile",
"service-desc",
"service-doc",
"agent-json",
"agent-card",
"mcp",
"agent-skills",
"agents-json",
"openid-configuration",
"oauth-authorization-server",
"oauth-protected-resource",
"web-bot-auth",
"webmcp",
"ai-context",
"indexnow-key",
"ai-policy",
"tdmrep",
"commerce-non-support",
"rate-limit-status",
"docs",
"api",
"sitemap",
"robots"
],
"usefulRelations": [
"service-desc",
"service-doc",
"agent-json",
"agent-card",
"mcp",
"openid-configuration",
"oauth-protected-resource",
"ai-context",
"indexnow-key"
],
"legacyRelations": [],
"hrefIssues": [],
"targetUrlIssues": [],
"links": [
{
"anchor": "https://canagentuse.com",
"rel": "profile",
"href": "https://canagentuse.com/llms.txt#agent-and-api-discovery",
"type": "text/markdown"
},
{
"anchor": "https://canagentuse.com",
"rel": "service-desc",
"href": "https://canagentuse.com/openapi.json",
"type": "application/vnd.oai.openapi+json"
},
{
"anchor": "https://canagentuse.com",
"rel": "service-doc",
"href": "https://canagentuse.com/llms.txt",
"type": "text/markdown"
},
{
"anchor": "https://canagentuse.com",
"rel": "agent-json",
"href": "https://canagentuse.com/.well-known/agent.json",
"type": "application/agent+json"
},
{
"anchor": "https://canagentuse.com",
"rel": "agent-json",
"href": "https://canagentuse.com/agent.json",
"type": "application/agent+json"
},
{
"anchor": "https://canagentuse.com",
"rel": "agent-card",
"href": "https://canagentuse.com/.well-known/agent-card.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "mcp",
"href": "https://canagentuse.com/.well-known/mcp/server-card.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "mcp",
"href": "https://canagentuse.com/mcp.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "mcp",
"href": "https://canagentuse.com/.well-known/mcp.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "agent-skills",
"href": "https://canagentuse.com/.well-known/agent-skills/index.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "agents-json",
"href": "https://canagentuse.com/agents.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "agents-json",
"href": "https://canagentuse.com/.well-known/agents.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "openid-configuration",
"href": "https://canagentuse.com/.well-known/openid-configuration",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "oauth-authorization-server",
"href": "https://canagentuse.com/.well-known/oauth-authorization-server",
"type": "application/oauth-authz-server+json"
},
{
"anchor": "https://canagentuse.com",
"rel": "oauth-protected-resource",
"href": "https://canagentuse.com/.well-known/oauth-protected-resource",
"type": "application/oauth-protected-resource+json"
},
{
"anchor": "https://canagentuse.com",
"rel": "web-bot-auth",
"href": "https://canagentuse.com/.well-known/http-message-signatures-directory",
"type": "application/http-message-signatures-directory+json"
},
{
"anchor": "https://canagentuse.com",
"rel": "webmcp",
"href": "https://canagentuse.com/.well-known/webmcp.json",
"type": "application/webmcp+json"
},
{
"anchor": "https://canagentuse.com",
"rel": "ai-context",
"href": "https://canagentuse.com/api/ai/context",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "indexnow-key",
"href": "https://canagentuse.com/canagentuse-indexnow-2026.txt",
"type": "text/plain"
},
{
"anchor": "https://canagentuse.com",
"rel": "ai-policy",
"href": "https://canagentuse.com/ai.txt",
"type": "text/plain"
},
{
"anchor": "https://canagentuse.com",
"rel": "tdmrep",
"href": "https://canagentuse.com/.well-known/tdmrep.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "commerce-non-support",
"href": "https://canagentuse.com/.well-known/acp",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "commerce-non-support",
"href": "https://canagentuse.com/.well-known/acp.json",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "commerce-non-support",
"href": "https://canagentuse.com/.well-known/ucp",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "rate-limit-status",
"href": "https://canagentuse.com/api/scans",
"type": "application/json"
},
{
"anchor": "https://canagentuse.com",
"rel": "docs",
"href": "https://canagentuse.com/docs",
"type": "text/html"
},
{
"anchor": "https://canagentuse.com",
"rel": "api",
"href": "https://canagentuse.com/api",
"type": "text/html"
},
{
"anchor": "https://canagentuse.com",
"rel": "sitemap",
"href": "https://canagentuse.com/sitemap.xml",
"type": "application/xml"
},
{
"anchor": "https://canagentuse.com",
"rel": "robots",
"href": "https://canagentuse.com/robots.txt",
"type": "text/plain"
}
],
"parsedSummary": [
{
"anchor": "https://canagentuse.com",
"profile": [
{
"href": "https://canagentuse.com/llms.txt#agent-and-api-discovery",
"type": "text/markdown"
}
],
"service-desc": [
{
"href": "https://canagentuse.com/openapi.json",
"type": "application/vnd.oai.openapi+json"
}
],
"service-doc": [
{
"href": "https://canagentuse.com/llms.txt",
"type": "text/markdown"
}
],
"agent-json": [
{
"href": "https://canagentuse.com/.well-known/agent.json",
"type": "application/agent+json"
},
{
"href": "https://canagentuse.com/agent.json",
"type": "application/agent+json"
}
],
"agent-card": [
{
"href": "https://canagentuse.com/.well-known/agent-card.json",
"type": "application/json"
}
],
"mcp": [
{
"href": "https://canagentuse.com/.well-known/mcp/server-card.json",
"type": "application/json"
},
{
"href": "https://canagentuse.com/mcp.json",
"type": "application/json"
},
{
"href": "https://canagentuse.com/.well-known/mcp.json",
"type": "application/json"
}
],
"agent-skills": [
{
"href": "https://canagentuse.com/.well-known/agent-skills/index.json",
"type": "application/json"
}
],
"agents-json": [
{
"href": "https://canagentuse.com/agents.json",
"type": "application/json"
},
{
"href": "https://canagentuse.com/.well-known/agents.json",
"type": "application/json"
}
],
"openid-configuration": [
{
"href": "https://canagentuse.com/.well-known/openid-configuration",
"type": "application/json"
}
],
"oauth-authorization-server": [
{
"href": "https://canagentuse.com/.well-known/oauth-authorization-server",
"type": "application/oauth-authz-server+json"
}
],
"oauth-protected-resource": [
{
"href": "https://canagentuse.com/.well-known/oauth-protected-resource",
"type": "application/oauth-protected-resource+json"
}
],
"web-bot-auth": [
{
"href": "https://canagentuse.com/.well-known/http-message-signatures-directory",
"type": "application/http-message-signatures-directory+json"
}
],
"webmcp": [
{
"href": "https://canagentuse.com/.well-known/webmcp.json",
"type": "application/webmcp+json"
}
],
"ai-context": [
{
"href": "https://canagentuse.com/api/ai/context",
"type": "application/json"
}
],
"indexnow-key": [
{
"href": "https://canagentuse.com/canagentuse-indexnow-2026.txt",
"type": "text/plain"
}
],
"ai-policy": [
{
"href": "https://canagentuse.com/ai.txt",
"type": "text/plain"
}
],
"tdmrep": [
{
"href": "https://canagentuse.com/.well-known/tdmrep.json",
"type": "application/json"
}
],
"commerce-non-support": [
{
"href": "https://canagentuse.com/.well-known/acp",
"type": "application/json"
},
{
"href": "https://canagentuse.com/.well-known/acp.json",
"type": "application/json"
},
{
"href": "https://canagentuse.com/.well-known/ucp",
"type": "application/json"
}
],
"rate-limit-status": [
{
"href": "https://canagentuse.com/api/scans",
"type": "application/json"
}
],
"docs": [
{
"href": "https://canagentuse.com/docs",
"type": "text/html"
}
],
"api": [
{
"href": "https://canagentuse.com/api",
"type": "text/html"
}
],
"sitemap": [
{
"href": "https://canagentuse.com/sitemap.xml",
"type": "application/xml"
}
],
"robots": [
{
"href": "https://canagentuse.com/robots.txt",
"type": "text/plain"
}
]
}
],
"rawExcerpt": "{\"linkset\":[{\"anchor\":\"https://canagentuse.com\",\"profile\":[{\"href\":\"https://canagentuse.com/llms.txt#agent-and-api-discovery\",\"type\":\"text/markdown\"}],\"service-desc\":[{\"href\":\"https://canagentuse.com/openapi.json\",\"type\":\"application/vnd.oai.openapi+json\"}],\"service-doc\":[{\"href\":\"https://canagentuse.com/llms.txt\",\"type\":\"text/markdown\"}],\"agent-json\":[{\"href\":\"https://canagentuse.com/.well-known/agent.json\",\"type\":\"application/agent+json\"},{\"href\":\"https://canagentuse.com/agent.json\",\"type\":\"application/agent+json\"}],\"agent-card\":[{\"href\":\"https://canagentuse.com/.well-known/agent-card.json\",\"type\":\"application/json\"}],\"mcp\":[{\"href\":\"https://canagentuse.com/.well-known/mcp/server-card.json\",\"type\":\"application/json\"},{\"href\":\"https://canagentuse.com/mcp.json\",\"type\":\"application/json\"},{"
},
"howToFix": "Use application/linkset+json with service-desc, service-doc, and status relations that each include href."
},
{
"id": "target-validation",
"title": "Fetch advertised API catalog targets",
"status": "fail",
"evidence": {
"checked": [
{
"rel": "profile",
"href": "https://canagentuse.com/llms.txt#agent-and-api-discovery",
"type": "text/markdown",
"statusCode": 200,
"contentType": "text/markdown; charset=utf-8",
"typeMatches": true
},
{
"rel": "service-desc",
"href": "https://canagentuse.com/openapi.json",
"type": "application/vnd.oai.openapi+json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "service-doc",
"href": "https://canagentuse.com/llms.txt",
"type": "text/markdown",
"statusCode": 200,
"contentType": "text/markdown; charset=utf-8",
"typeMatches": true
},
{
"rel": "agent-json",
"href": "https://canagentuse.com/.well-known/agent.json",
"type": "application/agent+json",
"statusCode": 200,
"contentType": "application/agent+json; charset=utf-8",
"typeMatches": true
},
{
"rel": "agent-json",
"href": "https://canagentuse.com/agent.json",
"type": "application/agent+json",
"statusCode": 200,
"contentType": "application/agent+json; charset=utf-8",
"typeMatches": true
},
{
"rel": "agent-card",
"href": "https://canagentuse.com/.well-known/agent-card.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "mcp",
"href": "https://canagentuse.com/.well-known/mcp/server-card.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "mcp",
"href": "https://canagentuse.com/mcp.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "mcp",
"href": "https://canagentuse.com/.well-known/mcp.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "agent-skills",
"href": "https://canagentuse.com/.well-known/agent-skills/index.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "agents-json",
"href": "https://canagentuse.com/agents.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "agents-json",
"href": "https://canagentuse.com/.well-known/agents.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "openid-configuration",
"href": "https://canagentuse.com/.well-known/openid-configuration",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "oauth-authorization-server",
"href": "https://canagentuse.com/.well-known/oauth-authorization-server",
"type": "application/oauth-authz-server+json",
"statusCode": 200,
"contentType": "application/oauth-authz-server+json; charset=utf-8",
"typeMatches": true
},
{
"rel": "oauth-protected-resource",
"href": "https://canagentuse.com/.well-known/oauth-protected-resource",
"type": "application/oauth-protected-resource+json",
"statusCode": 200,
"contentType": "application/oauth-protected-resource+json; charset=utf-8",
"typeMatches": true
},
{
"rel": "web-bot-auth",
"href": "https://canagentuse.com/.well-known/http-message-signatures-directory",
"type": "application/http-message-signatures-directory+json",
"statusCode": 200,
"contentType": "application/http-message-signatures-directory+json",
"typeMatches": true
},
{
"rel": "webmcp",
"href": "https://canagentuse.com/.well-known/webmcp.json",
"type": "application/webmcp+json",
"statusCode": 200,
"contentType": "application/webmcp+json; charset=utf-8",
"typeMatches": true
},
{
"rel": "ai-context",
"href": "https://canagentuse.com/api/ai/context",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "indexnow-key",
"href": "https://canagentuse.com/canagentuse-indexnow-2026.txt",
"type": "text/plain",
"statusCode": 404,
"contentType": "text/html; charset=utf-8",
"typeMatches": false
},
{
"rel": "ai-policy",
"href": "https://canagentuse.com/ai.txt",
"type": "text/plain",
"statusCode": 200,
"contentType": "text/plain; charset=utf-8",
"typeMatches": true
},
{
"rel": "tdmrep",
"href": "https://canagentuse.com/.well-known/tdmrep.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json; charset=utf-8",
"typeMatches": true
},
{
"rel": "commerce-non-support",
"href": "https://canagentuse.com/.well-known/acp",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "commerce-non-support",
"href": "https://canagentuse.com/.well-known/acp.json",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "commerce-non-support",
"href": "https://canagentuse.com/.well-known/ucp",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "rate-limit-status",
"href": "https://canagentuse.com/api/scans",
"type": "application/json",
"statusCode": 200,
"contentType": "application/json",
"typeMatches": true
},
{
"rel": "docs",
"href": "https://canagentuse.com/docs",
"type": "text/html",
"statusCode": 200,
"contentType": "text/html; charset=utf-8",
"typeMatches": true
},
{
"rel": "api",
"href": "https://canagentuse.com/api",
"type": "text/html",
"statusCode": 200,
"contentType": "text/html; charset=utf-8",
"typeMatches": true
},
{
"rel": "sitemap",
"href": "https://canagentuse.com/sitemap.xml",
"type": "application/xml",
"statusCode": 200,
"contentType": "application/xml; charset=utf-8",
"typeMatches": true
},
{
"rel": "robots",
"href": "https://canagentuse.com/robots.txt",
"type": "text/plain",
"statusCode": 200,
"contentType": "text/plain; charset=utf-8",
"typeMatches": true
}
],
"failures": [
{
"rel": "indexnow-key",
"href": "https://canagentuse.com/canagentuse-indexnow-2026.txt",
"expectedType": "text/plain",
"statusCode": 404,
"contentType": "text/html; charset=utf-8",
"reason": "Target did not return HTTP 2xx/3xx."
},
{
"rel": "indexnow-key",
"href": "https://canagentuse.com/canagentuse-indexnow-2026.txt",
"expectedType": "text/plain",
"actualContentType": "text/html; charset=utf-8",
"reason": "Content-Type did not match advertised type."
}
]
},
"issue": "API Catalog target https://canagentuse.com/canagentuse-indexnow-2026.txt (indexnow-key) returned HTTP 404 instead of a 2xx/3xx response.",
"howToFix": "Make each same-origin API catalog href reachable and serve the advertised media type."
}
]
}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
8 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": 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
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
3 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": 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
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-08T09:05:47.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": 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
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": 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
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, 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": "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
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
Issues were logged in the `Issues` panel in Chrome Devtools
100 Fail
Performance and AccessibilityBest PracticesBrowser audit
Issues were logged in the `Issues` panel in Chrome Devtools
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."
}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
1 error 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": "1 error 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
Network dependency tree
50 Fail
Performance and AccessibilityPerformanceBrowser audit
Network dependency tree
Check name
Network dependency tree
Score
0/100
Status
fail
Device
desktop
Category
Performance
Fix guidance
[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
References
https://web.dev/learn/performance/Evidence
{
"description": "[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load."
}Performance and AccessibilityPerformanceBrowser audit
Legacy JavaScript
25 Warning
Performance and AccessibilityPerformanceBrowser audit
Legacy JavaScript
Check name
Legacy JavaScript
Score
50/100
Status
warning
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)
References
https://web.dev/learn/performance/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)"
}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.
| Scan date | Score | Readiness | Report |
|---|---|---|---|
| 79/100 | Level 4, Mostly Ready | View report | |
| 96/100 | Level 5, Agent-Ready | Current report | |
| 96/100 | Level 5, Agent-Ready | View report |