Website Audit
POST/audit
Performs a comprehensive SEO and AI-readiness audit of a specified URL. The audit analyzes:
- Site files (robots.txt, llms.txt, SKILL.md, .well-known directory)
- SEO fundamentals (title, description, headings)
- Structured data (Schema.org, JSON-LD, Microdata)
- Content structure, semantic HTML, and token budget
- Image accessibility
- Automation readiness for AI agents
- JavaScript rendering and bot accessibility
- MCP / WebMCP discovery surfaces:
<link rel="mcp">HTML discovery tag/.well-known/mcp.json(legacy MCP manifest)/.well-known/mcp/server-card.json(MCP server card, SEP-1649 draft)/.well-known/webmcp/tools.json(Chrome Labs WebMCP tools manifest)
- Agent Skills Discovery (
/.well-known/agent-skills/index.json, Cloudflare RFC v0.2.0) and top-levelSKILL.md - Deterministic token budget (Readability + Turndown, chars/4 heuristic)
- Content freshness (legacy field, status Unknown)
- Internal linking (legacy field, status Unknown)
- HTML semantics (legacy field, status Unknown)
Every file the audit fetched or detected is reported in resources, which tells a missing file apart from one that could not be fetched.
Returns an overall score (0-100) and detailed recommendations for improvement. The overall score is
the clamped sum of the per-criterion scores emitted by the LLM plus post-hoc bonuses:
+1 for <link rel="mcp">, +1 for WebMCP tools.json, +1 for legacy mcp.json or mcp/server-card.json,
+2 for Agent Skills Discovery or top-level SKILL.md, and +2 when the estimated token budget is ≤ 30 000.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 500
- 502
Audit completed successfully
Missing/invalid URL or invalid domain
Missing or invalid WordLift key. For a rejected key, the gateway checks /accounts/me and passes WordLift's own application/problem+json response (RFC 7807) through as-is and no audit is run, so the wording may differ from the example
Missing or inactive subscription. Returned by the gateway from its WordLift /accounts/me check, passed through as-is as application/problem+json; no audit is run. Every 401/403 the audit service returns for a rejected key counts toward the failed-auth cap
Target page not found
Per-account audit cap, failed-auth cap, or global rate limit exceeded
Internal server error, or the WordLift key check itself failed (WordLift unreachable, or a 401/403 that is not WordLift's problem+json, such as a Cloudflare page). The latter says nothing about the key and does not count toward the failed-auth cap
The request could not be completed because of an upstream problem: WordLift returned an unusable account so the key could not be verified, or the target site blocks the audit with bot protection. Identify the case with code. Not caused by the key or the request, and not worth retrying automatically