The agent-readiness score for a WordPress site is a 12-signal checklist. AI agents (Claude, ChatGPT, Perplexity, Gemini) and crawlers (Claude-User, ChatGPT-User, Perplexity-User, GPTBot) walk through a deterministic set of files and headers before deciding to cite or interact with your site. This guide is the operator’s view: every signal, how to verify it, what to fix when it’s missing. Pair it with the AISEO pillar for the conceptual framing.
How to score your site in 10 minutes
Two parallel checks: (1) run a scanner like isitagentready.com on your URL — gives you a level 1–5 score and surfaces missing signals; (2) walk the 12-signal checklist below by hand, using a terminal with curl. Both should converge. If they disagree, the manual check wins (scanners lag the spec).
The 12 signals, scored
1. /llms.txt at the site root
Check: curl -sI https://yoursite.com/llms.txt should return 200, content-type text/plain. Pass criteria: file exists, lists 5+ canonical URLs, includes a brand summary line, file size under 8 KB. Fix: Animam generates it automatically from your published WP content; manual fallback is a static file in WP root via FTP.
2. /.well-known/agent.json
Check: curl -s https://yoursite.com/.well-known/agent.json | jq. Pass criteria: valid JSON, declares entity (name, jurisdiction), channels available (chat, MCP, voice if applicable), contact. Fix: Animam emits with entity metadata pulled from WP general settings.
3. /.well-known/llmfeed.json
Check: curl -s https://yoursite.com/.well-known/llmfeed.json | jq '.items | length'. Pass criteria: valid JSON, items[] not empty, each item has title, url, summary, published_at. Fix: Animam refreshes on every save_post hook; manual upkeep is impractical.
4. /.well-known/webmcp.json
Check: curl -s https://yoursite.com/.well-known/webmcp.json | jq .endpoint. Pass criteria: valid JSON, endpoint URL resolves, auth scheme declared (OAuth 2.1 + PKCE), protocol_versions[] non-empty. Fix: Animam ships this if MCP server is enabled. If you don’t run MCP, omit this file rather than ship a broken one.
5. AI fetcher firewall allowlist
Check: curl -A "Claude-User/1.0" https://yoursite.com/ — should return 200, not 403. Repeat for ChatGPT-User, Perplexity-User, GPTBot, PerplexityBot. Pass criteria: all 10 reputable AI UAs reach your origin (status 200, your HTML). Fix: Cloudflare WAF custom rule that skips bot fight mode for these 10 UAs; Animam ships the recommended JSON snippet for the Cloudflare dashboard.
6. JSON-LD Organization on every page
Check: view-source your home page, look for "@type":"Organization" with name, url, logo, sameAs[]. Pass criteria: all 4 fields present, sameAs lists 2+ verified social profiles. Fix: RankMath or Yoast handle this from site identity settings; Animam’s Discoverability Coach flags missing fields.
7. JSON-LD Article with Person author
Check: view-source any blog post. Look for "@type":"Article", "author":{"@type":"Person","name":"..."}. Pass criteria: author is Person (not Organization), name matches a real human, has a sameAs / About page link. Fix: Set WP user profiles with real names + bios; configure RankMath to emit Person author; Animam’s admin assistant can audit posts missing Person author and fix in bulk.
8. JSON-LD FAQPage on Q&A blocks
Check: on any FAQ-containing page, view-source for "@type":"FAQPage". Pass criteria: mainEntity[] has 6+ Q&A pairs, each Answer non-empty and substantive (not stubs). Fix: RankMath FAQ block, Schema Pro, or Animam’s _animam_faq_jsonld post meta pattern. The Q&A pairs are the single highest-citation-rate schema in 2026.
9. JSON-LD BreadcrumbList on navigation
Check: view-source any deep page, look for "@type":"BreadcrumbList" with itemListElement[]. Pass criteria: reflects the page hierarchy (home → category → page). Fix: RankMath or Yoast emits this; Animam supplements when the SEO plugin misses it.
10. MCP server endpoint with OAuth 2.1 + PKCE
Check: connect Claude Desktop to your MCP endpoint. Initialize handshake should succeed, tools/list should return tools. Pass criteria: handshake completes, OAuth 2.1 dance works (PKCE required), at least 5 tools exposed with schemas. Fix: Animam ships the endpoint + OAuth server + 17 admin tools out of the box. DIY is 3-4 weeks of work (see our MCP for WordPress article).
11. Agent detection (X-Agent-Model header)
Check: POST to your chat endpoint with header X-Agent-Model: claude-opus-4. Response should be a structured JSON envelope, not an SSE-streamed human-readable message. Pass criteria: envelope contains conversationId, toolExecutions[], agentModel echo, llmModel transparency. Fix: Animam auto-handles this; if you built your own chat backend, document the agent envelope contract.
12. Hreflang + canonical hygiene
Check: view-source any page in a multilingual site, look for <link rel="alternate" hreflang="..."> and <link rel="canonical">. Pass criteria: hreflang reciprocal (EN points to FR and vice versa), canonical absolute and matches the page URL. Fix: Polylang or WPML handles this; Animam’s admin chatbot has a hreflang-audit tool to flag broken or missing tags.
Scoring rubric
- Level 1 (0-3 signals): Invisible to agentic web. Most WP sites in 2026 still here.
- Level 2 (4-6 signals): Discoverable but not citable. Classic SEO plugin (RankMath) gets you here.
- Level 3 (7-9 signals): Citable. AI Overviews and Perplexity start picking up your content.
- Level 4 (10-11 signals): Citable + operable. Agents can read and reason about your site.
- Level 5 (12 signals): Agent-native. Agents can read, reason, AND act on your site through MCP. Animam’s default state.
Common pitfalls during audit
- llms.txt that’s stale. Generated once at install, never refreshed. Crawlers see outdated URLs. Animam refreshes on every save_post — manual generation has to be re-run.
- FAQPage on the wrong block type. Schema requires Q&A structure. Generic content blocks marked as FAQPage by mistake don’t get cited; sometimes Google flags them as spam.
- OAuth that’s not PKCE. Common DIY mistake — implementing OAuth 2.0 instead of 2.1. Claude Desktop refuses to connect, with cryptic error.
- Hreflang loops. EN → FR → DE → EN (instead of EN ↔ FR, EN ↔ DE). Google treats this as broken and ignores the entire annotation set.
- Cloudflare blocking AI fetchers silently. You launched with bot fight mode on, never noticed AI UAs were 403’d. Allowlist them explicitly.
Frequently asked questions
Do I need all 12 signals to get cited?
No. Level 3 (7-9 signals) is enough to appear in AI Overviews and Perplexity citations for niche queries. Level 5 maximizes citation rate AND unlocks agent interactions. The compounding payoff is real but the floor is reasonable.
Which signals matter most for AI Overviews citations specifically?
In rough order: FAQPage (huge citation booster), Article with Person author, llms.txt, Organization schema, BreadcrumbList. The .well-known files (agent.json, llmfeed.json, webmcp.json) matter more for agent interactions than for AI Overviews citation.
How often should I re-audit?
Monthly for the first 3 months after each big content release. Then quarterly. Watch for: schema validation errors in Google Search Console, missing alt text on new images, broken hreflang after locale additions, Cloudflare rule reset after a plan change.
Can I get Level 5 without Animam?
Yes. RankMath + a manual llms.txt + a custom OAuth 2.1 + PKCE plugin + a custom MCP server + a Cloudflare rule + Polylang gets you there. Plan 4-8 weeks of dev time and ongoing maintenance. Or install Animam and get there in 10 minutes. Both paths converge on the same score.
What if my site is multi-locale (EN + FR + DE)?
Each locale needs its own hreflang reciprocal, but the .well-known files at the domain root are shared. Animam handles multi-locale corpus sync per Polylang language. Per-locale agent.json variants are an emerging pattern but not required by the current spec.
Does scoring 12/12 guarantee citations?
No. Signals make you eligible; content quality, freshness, named author EEAT, and topical authority decide whether agents actually cite you. The 12-signal checklist is necessary but not sufficient. Pair it with the content patterns from the AISEO pillar (answer-first leads, named authors, structured FAQ).
Should I run this audit before or after launching a redesign?
Both. Baseline before launch (so you know what regressed). Re-audit 1 week after launch (so you catch broken schema or canonical regressions while context is fresh). Then quarterly.
Can I delegate the audit to my agency?
Yes, the 12-signal model is reproducible. Hand them this checklist + the isitagentready URL. Or install Animam Agency plan and let them manage agent-readiness for all client sites from one dashboard.
Sources
- isitagentready.com — free 12-signal scanner
- llmstxt.org — the llms.txt initiative
- modelcontextprotocol.io — MCP spec
- schema.org — JSON-LD vocabulary
- The companion pillar: AISEO for WordPress in 2026
- MCP-for-WordPress deep dive: protocol vs product
Try Animam — Level 5 agent-ready in 5 minutes
The Free plan covers the full 12-signal stack (50 conversations/month, 1 agent, MCP endpoints, bridges to WPForms/WooCommerce/MailPoet). Install the plugin →