Why we think this is Astro (3 signals)
- · HubSpot script/asset
- · /_astro/ asset path
- · astro-island / data-astro attribute
4 failed out of 9 that apply to your site.
Quick Wins
Top 3 fixes ranked by score impact
- 01Fail+8 pts if fixed
Markdown content negotiation
See full detailsServe text/markdown when the client sends Accept: text/markdown, or expose /path/index.md.
- 02Fail+4 pts if fixed
API Catalog (RFC 9727)
See full detailsPublish /.well-known/api-catalog linking to your OpenAPI descriptions.
- 03Fail+4 pts if fixed
OAuth discovery metadata
See full detailsPublish RFC 8414 / RFC 9728 metadata at the /.well-known/oauth-* endpoints.
# Agent-readiness remediation brief Site: https://www.klaviyo.com/uk/ Platform: astro (99% confidence) AIScan score: 53/100 — Level 3 (Governed) Rubric: v2026-06-08.1 ## Failing checks (sorted by weight) - **[C1] Markdown content negotiation** — FAIL - Evidence: Accept: text/markdown → 200 (text/html; charset=UTF-8) - Fix: Serve text/markdown when the client sends Accept: text/markdown, or expose /path/index.md. - **[P1] API Catalog (RFC 9727)** — FAIL - Evidence: 404 at /.well-known/api-catalog - Fix: Publish /.well-known/api-catalog linking to your OpenAPI descriptions. - **[P4] OAuth discovery metadata** — FAIL - Evidence: auth-server: 403, protected-resource: 403 - Fix: Publish RFC 8414 / RFC 9728 metadata at the /.well-known/oauth-* endpoints. - **[D3] Link header for discovery** — FAIL - Evidence: no Link response header - Fix: Add a Link header with rel="api-catalog" or rel="describedby". ## General guidance - Static-first: `robots.txt`, `llms.txt`, `/.well-known/*` JSON cards. - Markdown negotiation: serve `text/markdown` when requested via `Accept` header or `?format=md`. - Bot access: explicit allow/deny per AI user-agent (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, Bytespider, Amazonbot, CCBot, meta-externalagent, cohere-ai, Diffbot). - Capabilities: publish an MCP server card and (optionally) an Agent Skills manifest even if the runtime isn't live — discovery first. - Re-scan at aiscan.site after deploying.
Discoverability
77Can agents find your pages? robots, sitemaps, llms.txt.
Your site is missing this right now, so AI agents can't use it. The fix below is what to change.
ID · D3
What we foundno Link response header
How to fix itAdd a Link header with rel="api-catalog" or rel="describedby".
1.⚡ Fix automatically with AIScanThe fastest way to apply this fix is using AIScan's own agent tooling — it gives any AI coding assistant machine-readable instructions for this exact check. **Option A — Claude Code skill** 1. Download `CLAUDE.md` from https://aiscan.site/CLAUDE.md and drop it into your project root. 2. Ask Claude Code: *"Fix the failing AIScan check for <your-url>"* — it will read the skill, call our API, and apply the fix. **Option B — MCP (any MCP-compatible agent: Claude Desktop, Cursor, etc.)** - Endpoint: `https://aiscan.site/api/mcp` - Tools: `scan_website`, `get_fixes`, `get_grade` - Call `get_fixes` with your URL for machine-readable fix instructions. **Option C — REST API (any tool / script)** ``` GET https://aiscan.site/api/public/scan?url=YOUR_URL ``` Returns the full report including failing checks and fix details. Then re-scan at https://aiscan.site to verify.
2.Add a Link response headerSet this header on your homepage and/or root document. Most CDNs (Cloudflare, Vercel, Netlify) support response-header rules.
3.ExampleLink: </.well-known/api-catalog>; rel="api-catalog"
4.VerifyAfter deploying, re-scan at https://aiscan.site. You can also test with `curl -I` or `curl` directly.
Content
56Can agents read your content cleanly? Markdown, structured data.
Your site is missing this right now, so AI agents can't use it. The fix below is what to change.
ID · C1
What we foundAccept: text/markdown → 200 (text/html; charset=UTF-8)
How to fix itServe text/markdown when the client sends Accept: text/markdown, or expose /path/index.md.
1.⚡ Fix automatically with AIScanThe fastest way to apply this fix is using AIScan's own agent tooling — it gives any AI coding assistant machine-readable instructions for this exact check. **Option A — Claude Code skill** 1. Download `CLAUDE.md` from https://aiscan.site/CLAUDE.md and drop it into your project root. 2. Ask Claude Code: *"Fix the failing AIScan check for <your-url>"* — it will read the skill, call our API, and apply the fix. **Option B — MCP (any MCP-compatible agent: Claude Desktop, Cursor, etc.)** - Endpoint: `https://aiscan.site/api/mcp` - Tools: `scan_website`, `get_fixes`, `get_grade` - Call `get_fixes` with your URL for machine-readable fix instructions. **Option C — REST API (any tool / script)** ``` GET https://aiscan.site/api/public/scan?url=YOUR_URL ``` Returns the full report including failing checks and fix details. Then re-scan at https://aiscan.site to verify.
2.Serve text/markdown on Accept negotiationWhen a client sends `Accept: text/markdown`, return a markdown rendering of the same content. The simplest path is to publish parallel `.md` files (e.g. `/about` → `/about.md`) and rewrite based on the Accept header.
3.Test itcurl -H "Accept: text/markdown" https://yoursite.com/
4.VerifyAfter deploying, re-scan at https://aiscan.site. You can also test with `curl -I` or `curl` directly.
Bot Access
100Are AI crawlers explicitly allowed or blocked?
Capabilities
0Can agents do things? APIs, auth, MCP, Agent Skills.
Your site is missing this right now, so AI agents can't use it. The fix below is what to change.
ID · P1
What we found404 at /.well-known/api-catalog
How to fix itPublish /.well-known/api-catalog linking to your OpenAPI descriptions.
1.⚡ Fix automatically with AIScanThe fastest way to apply this fix is using AIScan's own agent tooling — it gives any AI coding assistant machine-readable instructions for this exact check. **Option A — Claude Code skill** 1. Download `CLAUDE.md` from https://aiscan.site/CLAUDE.md and drop it into your project root. 2. Ask Claude Code: *"Fix the failing AIScan check for <your-url>"* — it will read the skill, call our API, and apply the fix. **Option B — MCP (any MCP-compatible agent: Claude Desktop, Cursor, etc.)** - Endpoint: `https://aiscan.site/api/mcp` - Tools: `scan_website`, `get_fixes`, `get_grade` - Call `get_fixes` with your URL for machine-readable fix instructions. **Option C — REST API (any tool / script)** ``` GET https://aiscan.site/api/public/scan?url=YOUR_URL ``` Returns the full report including failing checks and fix details. Then re-scan at https://aiscan.site to verify.
2.Publish an API catalog (RFC 9727)# Add to your homepage HTTP response headers Link: </.well-known/api-catalog>; rel="api-catalog" # And serve a JSON document at /.well-known/api-catalog: { "links": [ { "href": "/openapi.json", "rel": "service-desc", "type": "application/openapi+json" } ] }3.VerifyAfter deploying, re-scan at https://aiscan.site. You can also test with `curl -I` or `curl` directly.
Your site is missing this right now, so AI agents can't use it. The fix below is what to change.
ID · P4
What we foundauth-server: 403, protected-resource: 403
How to fix itPublish RFC 8414 / RFC 9728 metadata at the /.well-known/oauth-* endpoints.
1.⚡ Fix automatically with AIScanThe fastest way to apply this fix is using AIScan's own agent tooling — it gives any AI coding assistant machine-readable instructions for this exact check. **Option A — Claude Code skill** 1. Download `CLAUDE.md` from https://aiscan.site/CLAUDE.md and drop it into your project root. 2. Ask Claude Code: *"Fix the failing AIScan check for <your-url>"* — it will read the skill, call our API, and apply the fix. **Option B — MCP (any MCP-compatible agent: Claude Desktop, Cursor, etc.)** - Endpoint: `https://aiscan.site/api/mcp` - Tools: `scan_website`, `get_fixes`, `get_grade` - Call `get_fixes` with your URL for machine-readable fix instructions. **Option C — REST API (any tool / script)** ``` GET https://aiscan.site/api/public/scan?url=YOUR_URL ``` Returns the full report including failing checks and fix details. Then re-scan at https://aiscan.site to verify.
2.Publish OAuth discovery metadataIf your API supports OAuth, serve RFC 8414 metadata at `/.well-known/oauth-authorization-server` and/or RFC 9728 at `/.well-known/oauth-protected-resource`.
3.VerifyAfter deploying, re-scan at https://aiscan.site. You can also test with `curl -I` or `curl` directly.
Embed your AIScan badge
Drop this badge into your site footer, GitHub README, or docs. It links back to a fresh scan of www.klaviyo.com on AIScan.site.
<!-- AIScan.site agent-readiness badge --> <a href="https://aiscan.site/?u=https%3A%2F%2Fwww.klaviyo.com%2Fuk%2F" target="_blank" rel="noopener" title="Agent-Readiness Grade C (53/100) — AIScan.site"> <img src="https://aiscan.site/api/public/badge.svg?score=53&grade=C&host=www.klaviyo.com" alt="AIScan.site Grade C — 53/100" width="240" height="64" loading="lazy" /> </a>
[](https://aiscan.site/?u=https%3A%2F%2Fwww.klaviyo.com%2Fuk%2F)
Track this over time
Coming soon: save sites, schedule re-scans, get email when something material changes. Standards land weekly — your tracker shouldn't be one-shot.
Scan your own site
Get a plain-English agent-readiness report you can hand straight to ChatGPT or Claude.
Scan your site