---
title: "WordPress, Elementor: agent-ready recipes | Agent Ready Checklist"
description: "Every agent-ready recipe for WordPress, Elementor: 31 rows of the checklist, the version read, the date and the vendor documentation each step came from."
canonical: https://agentreadychecklist.com/platforms/wordpress-elementor
site: "Agent Ready Checklist"
last_updated: 2026-11-05
section: "Platforms"
---

# WordPress, Elementor: agent-ready recipes | Agent Ready Checklist

> Every agent-ready recipe for WordPress, Elementor: 31 rows of the checklist, the version read, the date and the vendor documentation each step came from.

Source: https://agentreadychecklist.com/platforms/wordpress-elementor
Site: Agent Ready Checklist
Last reviewed: 2026-11-05
Agent endpoints: https://agentreadychecklist.com/llms.txt (index), https://agentreadychecklist.com/openapi.json (API), https://agentreadychecklist.com/mcp (MCP server), https://agentreadychecklist.com/ask (search)
Access: https://agentreadychecklist.com/auth.md (no key). Pricing: https://agentreadychecklist.com/pricing.md (free).

# WordPress, Elementor: agent-ready recipes

WordPress and Elementor: 31 recipes against the 31 checklist rows, read on 2026-11-04. WordPress and Elementor: 21 are direct, 10 are workarounds. WordPress and Elementor recipes cite the page they were derived from, or the specification when the step is generic. Version read for WordPress and Elementor: WordPress 7.1.4.

## Version and documentation read

Version

WordPress 7.1.4 (core release from the version-check API), Elementor 4.3.6 (plugin directory, updated 2026-11-02), Yoast SEO 28.8 noted for llms.txt; docs read 2026-11-04

Read on

2026-11-04

Recipes

21 direct, 10 workaround, 0 not possible on the platform

robots.txt

[developer.wordpress.org/reference/hooks/robots\_txt/](https://developer.wordpress.org/reference/hooks/robots_txt/). Core serves a virtual robots.txt through do\_robots(); the robots\_txt filter edits its output. A physical robots.txt in the web root overrides it.

Sitemap

[make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5/](https://make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5/). Core XML sitemaps since 5.5 at /wp-sitemap.xml, added to the virtual robots.txt automatically.

Structured data

[developer.wordpress.org/reference/hooks/wp\_head/](https://developer.wordpress.org/reference/hooks/wp_head/). Core prints no JSON-LD. Print a script in wp\_head or use the schema graph of an SEO plugin such as Yoast or Rank Math.

Status codes

[developer.wordpress.org/themes/classic-themes/functionality/404-pages/](https://developer.wordpress.org/themes/classic-themes/functionality/404-pages/). The theme's 404.php renders missing URLs and core sends a 404 status; status\_header() sets any other code.

Headers and redirects

[developer.wordpress.org/reference/hooks/send\_headers/](https://developer.wordpress.org/reference/hooks/send_headers/). send\_headers runs before output, so a plugin can add Link, Vary or Retry-After headers there.

Content negotiation

No first-party doc: core has no Accept: text/markdown handling. Workaround: Cloudflare Markdown for Agents in front of the site, or a plugin that serves a markdown twin and sets Vary: Accept.

llms.txt

[yoast.com/features/llms-txt/](https://yoast.com/features/llms-txt/). Not in core. Yoast SEO (free and paid) and Rank Math generate /llms.txt; a static file in the web root also works.

OpenAPI

[developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/). The REST API at /wp-json/ describes routes with JSON Schema, not OpenAPI. Publish a separate openapi.json if the site exposes a product API.

[The checklist table for WordPress and Elementor](https://agentreadychecklist.com/platform/wordpress-elementor/checklist/) shows every row with its first step.

## Verify with Ora

WordPress and Elementor has a direct recipe for 21 rows, and Ora's catalogue (read 2026-11-05) names a matching check for 17 of them, among them AR-FIND-01, AR-FIND-03, AR-FIND-04. After the steps are live, one audit shows which of those fixes the score picks up.

```bash
npx ax@0.10 audit https://example.com --min-score 70
```

9 rows that Ora checks are a workaround or not possible on WordPress, Elementor: [AR-READ-07](https://agentreadychecklist.com/checklist/ar-read-07/) (llms-txt-exists, workaround); [AR-ACT-01](https://agentreadychecklist.com/checklist/ar-act-01/) (oauth-support, workaround); [AR-ACT-03](https://agentreadychecklist.com/checklist/ar-act-03/) (mcp-server, workaround); [AR-ACT-05](https://agentreadychecklist.com/checklist/ar-act-05/) (mcp-app-registry, workaround); [AR-ACT-08](https://agentreadychecklist.com/checklist/ar-act-08/) (x402-support, workaround); [AR-ACT-09](https://agentreadychecklist.com/checklist/ar-act-09/) (nlweb-ask, workaround); [CF-MARKDOWN-NEGOTIATION](https://agentreadychecklist.com/checklist/cf-markdown-negotiation/) (markdown-negotiation-vary, workaround); [CF-OAUTH-DISCOVERY](https://agentreadychecklist.com/checklist/cf-oauth-discovery/) (oauth-protected-resource, workaround); [VERCEL-NEGOTIATION-HEADERS](https://agentreadychecklist.com/checklist/vercel-negotiation-headers/) (markdown-negotiation-vary, workaround). Ora scores the site as it stands, so a row the platform cannot satisfy stays open until the workaround is in place.

Run it again with `--force` after a deploy, so the audit skips Ora's cache. [Gate deploys on it in CI](https://agentreadychecklist.com/guides/gate-deploys-on-agent-readiness-in-ci/), [why this site recommends Ora](https://agentreadychecklist.com/verify-with-ora/), [the crosswalk of rows and checks](https://agentreadychecklist.com/checklist/ora-checks/).

## Recipes, row by row

### [AR-FIND-01](https://agentreadychecklist.com/checklist/ar-find-01/): Do not block agentsrecipe

Leave Settings > Reading > Search engine visibility unchecked. Keep the default `User-agent: *` group. Audit security and caching plugins and the host WAF for rules that return 403 or a challenge to ClaudeBot, GPTBot, OAI-SearchBot or Claude-User; fetch a page with `curl -A 'Claude-User/1.0'` and expect 200.

Read 2026-11-04. [developer.wordpress.org/reference/functions/do\_robots/](https://developer.wordpress.org/reference/functions/do_robots/)

### [AR-FIND-02](https://agentreadychecklist.com/checklist/ar-find-02/): Answers on one first-party pagerecipe

Publish each answer once, as a page on your own domain. Put the fact (price, limit, version) in the page text, give the page one stable address, and link it from the home page and from llms.txt. Keep the page current: a second, older copy elsewhere on the site is the usual way an agent cites the wrong figure.

Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-FIND-03](https://agentreadychecklist.com/checklist/ar-find-03/): Sitemap listed in robots.txtrecipe

Core publishes /wp-sitemap.xml and adds `Sitemap: https://example.com/wp-sitemap.xml` to the virtual robots.txt. If an SEO plugin replaces it with /sitemap\_index.xml, confirm the robots.txt line points at the live index.

Read 2026-11-04. [make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5/](https://make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5/)

### [AR-FIND-04](https://agentreadychecklist.com/checklist/ar-find-04/): AI Catalog at .well-knownrecipe

Upload `.well-known/ai-catalog.json` to the web root (the web server serves it before WordPress loads). Advertise it in the head: `add_action('wp_head', fn() => print '<link rel="ai-catalog" href="/.well-known/ai-catalog.json">');`

Read 2026-11-04. [developer.wordpress.org/reference/hooks/wp\_head/](https://developer.wordpress.org/reference/hooks/wp_head/)

### [AR-READ-01](https://agentreadychecklist.com/checklist/ar-read-01/): Answer in the initial HTMLrecipe

PHP templates render on the server, so post content is in the initial HTML. Check that no block, Elementor widget or plugin loads the answer by AJAX after load: `curl -s https://example.com/page/ | grep -c 'answer phrase'`.

Read 2026-11-04. [developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/](https://developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/)

### [AR-READ-02](https://agentreadychecklist.com/checklist/ar-read-02/): Real HTTP status codesrecipe

Keep a 404.php template; core sends 404 for unknown URLs. Redirect moved pages with 301. When a rate-limit plugin throttles, make it send `status_header(429); header('Retry-After: 120');` instead of a 200 challenge page.

Read 2026-11-04. [developer.wordpress.org/reference/functions/status\_header/](https://developer.wordpress.org/reference/functions/status_header/)

### [AR-READ-03](https://agentreadychecklist.com/checklist/ar-read-03/): Home page with real linksrecipe

Put Docs, Product and Pricing in the theme header or footer menu (Appearance > Menus, or the Elementor Nav Menu widget); both print plain <a href> links in the HTML.

Read 2026-11-04. [developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/](https://developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/)

### [AR-READ-04](https://agentreadychecklist.com/checklist/ar-read-04/): Docs that answer agent tasksrecipe

For each of your top five agent tasks, write a page that holds the steps as text, in order, with the exact names of the buttons, fields and settings. Steps that exist only in an image, a video or a script-built widget are not in the response a plain fetch receives. Fetch the page with curl and grep for the step.

Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-READ-05](https://agentreadychecklist.com/checklist/ar-read-05/): Fenced, language-tagged coderecipe

Use the core Code block; it outputs `<pre class="wp-block-code"><code>`. Add the language as an extra class in Block > Advanced > Additional CSS class(es), for example `language-bash`.

Read 2026-11-04. [wordpress.org/documentation/article/code-block/](https://wordpress.org/documentation/article/code-block/)

### [AR-READ-06](https://agentreadychecklist.com/checklist/ar-read-06/): Link the discovery filesrecipe

Link /llms.txt and /openapi.json from the footer menu, and print `<link rel="alternate" type="text/markdown" href="…">` in wp\_head where a markdown twin exists.

Read 2026-11-04. [developer.wordpress.org/reference/hooks/wp\_head/](https://developer.wordpress.org/reference/hooks/wp_head/)

### [AR-READ-07](https://agentreadychecklist.com/checklist/ar-read-07/): Ship llms.txtworkaround

Core has none. Turn on llms.txt in Yoast SEO (Settings > Site features > APIs) or Rank Math (General Settings > llms.txt), or upload a hand-written llms.txt to the web root.

Read 2026-11-04. [yoast.com/features/llms-txt/](https://yoast.com/features/llms-txt/)

### [AR-READ-08](https://agentreadychecklist.com/checklist/ar-read-08/): JSON-LD on key pagesrecipe

Print JSON-LD in wp\_head: `add_action('wp_head', function(){ echo '<script type="application/ld+json">'.wp_json_encode($data).'</script>'; });` or rely on the Yoast or Rank Math schema graph. Repeat key facts in visible text.

Read 2026-11-04. [developer.wordpress.org/reference/hooks/wp\_head/](https://developer.wordpress.org/reference/hooks/wp_head/)

### [AR-READ-09](https://agentreadychecklist.com/checklist/ar-read-09/): Advertise a markdown mirrorrecipe

Advertise a mirror with a header: `add_action('send_headers', function(){ header('Link: </docs/page.md>; rel="alternate"; type="text/markdown"', false); });` The mirror itself needs a plugin or a static .md file.

Read 2026-11-04. [developer.wordpress.org/reference/hooks/send\_headers/](https://developer.wordpress.org/reference/hooks/send_headers/)

### [AR-READ-11](https://agentreadychecklist.com/checklist/ar-read-11/): Pricing as first-party HTMLrecipe

Publish plans and limits as text or a core Table block on a /pricing page. Avoid pricing that only exists in an image, a slider widget or a quote form.

Read 2026-11-04. [developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/](https://developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/)

### [AR-ACT-01](https://agentreadychecklist.com/checklist/ar-act-01/): Auth an agent can finishworkaround

Core ships application passwords, which give an agent a self-serve credential for the REST API, but not an OAuth server (its CF-OAUTH-DISCOVERY recipe). For user-delegated access, install an OAuth server plugin that publishes /.well-known/oauth-authorization-server, and document the scopes.

Derived from WordPress and Elementor's documentation read on 2026-11-04. [developer.wordpress.org/rest-api/using-the-rest-api/authentication/](https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/) and [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-ACT-02](https://agentreadychecklist.com/checklist/ar-act-02/): OpenAPI contractrecipe

Upload openapi.json to the web root or expose it from a custom REST route registered with `register_rest_route()`; link it from the footer. /wp-json/ alone is JSON Schema, not OpenAPI.

Read 2026-11-04. [developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/)

### [AR-ACT-03](https://agentreadychecklist.com/checklist/ar-act-03/): MCP over Streamable HTTPworkaround

WordPress REST routes are registered with register\_rest\_route() and live under /wp-json/. Register the handler with register\_rest\_route() and expose it at /mcp with a web server rewrite, or run it on a subdomain or API domain you control. It returns the MCP server over Streamable HTTP (a POST answered with JSON or an event stream). Keep a docs MCP public and gate a product MCP with OAuth and PKCE.

Derived from WordPress and Elementor's documentation read on 2026-11-04. [developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/) and [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-ACT-04](https://agentreadychecklist.com/checklist/ar-act-04/): MCP server cardrecipe

Place the card at /.well-known/mcp/server-card.json the same way the AR-FIND-04 recipe places the AI Catalog (/platforms/wordpress-elementor/#ar-find-04), and give it a serverInfo.name that matches your MCP server. Publish it only if you run an MCP server.

Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-ACT-05](https://agentreadychecklist.com/checklist/ar-act-05/): MCP Apps viewworkaround

An MCP Apps view is a ui:// resource listed by resources/list on your MCP server. Add it to the server built for AR-ACT-03 (/platforms/wordpress-elementor/#ar-act-03); the platform adds no step of its own. Publish it only if the product has a UI to hand back.

Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-ACT-06](https://agentreadychecklist.com/checklist/ar-act-06/): SDKs and a CLIrecipe

Publish the SDK and the CLI from the product's own repository to npm or PyPI; the website platform is not involved. Then show the install command and a first call on a page of your own site so that agents reading the site find them. Verify with curl -s https://registry.npmjs.org/<cli-name>/latest.

Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-ACT-07](https://agentreadychecklist.com/checklist/ar-act-07/): WebMCP toolsrecipe

Enqueue a footer script with `wp_enqueue_script('webmcp', get_stylesheet_directory_uri().'/webmcp.js', [], null, true);` or paste it in Elementor Custom Code at </body> end. In it: `if (document.modelContext) document.modelContext.registerTool({name:'search', description:'Search the site', inputSchema:{type:'object',properties:{q:{type:'string'}}}, execute: ({q}) => fetch('/?s='+encodeURIComponent(q)).then(r=>r.text())});`

Read 2026-11-04. [developer.wordpress.org/reference/functions/wp\_enqueue\_script/](https://developer.wordpress.org/reference/functions/wp_enqueue_script/)

### [AR-ACT-08](https://agentreadychecklist.com/checklist/ar-act-08/): Agent paymentsworkaround

WordPress REST routes are registered with register\_rest\_route() and live under /wp-json/. Register the handler with register\_rest\_route() and expose it at /paid with a web server rewrite, or run it on a subdomain or API domain you control. It returns HTTP 402 with a payment payload on the paid path only (x402 or MPP), or a checkout handler. Put no CAPTCHA in front of a verified agent.

Derived from WordPress and Elementor's documentation read on 2026-11-04. [developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/) and [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-ACT-09](https://agentreadychecklist.com/checklist/ar-act-09/): NLWeb /ask endpointworkaround

WordPress REST routes are registered with register\_rest\_route() and live under /wp-json/. Register the handler with register\_rest\_route() and expose it at /ask with a web server rewrite, or run it on a subdomain or API domain you control. It returns schema.org-shaped JSON for the query parameter. Mirror the same ask tool over MCP.

Derived from WordPress and Elementor's documentation read on 2026-11-04. [developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/) and [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [AR-ACT-10](https://agentreadychecklist.com/checklist/ar-act-10/): An MCP server or a CLIrecipe

A CLI meets AR-ACT-10 on any platform: publish it as described in the AR-ACT-06 recipe (/platforms/wordpress-elementor/#ar-act-06). An MCP server also meets it; how WordPress and Elementor hosts one is in the AR-ACT-03 recipe (/platforms/wordpress-elementor/#ar-act-03). Do not ship an empty surface to tick the box.

Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)

### [CF-CONTENT-SIGNALS](https://agentreadychecklist.com/checklist/cf-content-signals/): Content-Signal linerecipe

Append the line through the filter: `add_filter('robots_txt', fn($out) => $out."Content-Signal: search=yes, ai-input=yes, ai-train=no\n", 10, 1);` It lands after the core `User-agent: *` group.

Read 2026-11-04. [developer.wordpress.org/reference/hooks/robots\_txt/](https://developer.wordpress.org/reference/hooks/robots_txt/)

### [CF-MARKDOWN-NEGOTIATION](https://agentreadychecklist.com/checklist/cf-markdown-negotiation/): Markdown by Acceptworkaround

Core cannot negotiate. Enable Cloudflare Markdown for Agents on the zone, or use a plugin that answers `Accept: text/markdown` from a template\_redirect hook. Test: `curl -sI -H 'Accept: text/markdown' https://example.com/ | grep -i content-type`.

Read 2026-11-04. [developer.wordpress.org/reference/hooks/send\_headers/](https://developer.wordpress.org/reference/hooks/send_headers/)

### [CF-PAY-PER-CRAWL](https://agentreadychecklist.com/checklist/cf-pay-per-crawl/): Pay per crawl, HTTP 402workaround

Pay per crawl is a feature of Cloudflare AI Crawl Control, set per Cloudflare zone and in closed beta on 2026-11-04, so WordPress and Elementor does not set it, and a crawler is answered 402 only on a zone that has it. Not possible on this platform without outside help. Workaround: put the domain on a Cloudflare zone, where WordPress and Elementor allows a proxy or custom DNS in front, and set the price there. Test with curl -A "GPTBot/1.0".

Derived from Cloudflare's pay per crawl documentation read on 2026-11-04. [developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/](https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/) and [developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/](https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/)

### [CF-OAUTH-DISCOVERY](https://agentreadychecklist.com/checklist/cf-oauth-discovery/): OAuth discovery filesworkaround

Core ships application passwords, not an OAuth server. Install an OAuth server plugin that publishes /.well-known/oauth-authorization-server, or upload the metadata file to the web root and point it at your real authorization server.

Read 2026-11-04. [developer.wordpress.org/reference/functions/add\_rewrite\_rule/](https://developer.wordpress.org/reference/functions/add_rewrite_rule/)

### [CF-AGENT-SKILLS](https://agentreadychecklist.com/checklist/cf-agent-skills/): Agent Skills indexrecipe

Upload `.well-known/agent-skills/index.json` and the SKILL.md files to the web root; the web server serves them without WordPress. Check `Content-Type: application/json`.

Read 2026-11-04. [developer.wordpress.org/reference/functions/add\_rewrite\_rule/](https://developer.wordpress.org/reference/functions/add_rewrite_rule/)

### [VERCEL-NEGOTIATION-HEADERS](https://agentreadychecklist.com/checklist/vercel-negotiation-headers/): Markdown headersworkaround

Wherever markdown is served, send `header('Content-Type: text/markdown; charset=utf-8'); header('Vary: Accept', false);` from send\_headers so caches keep the HTML and markdown variants apart.

Read 2026-11-04. [developer.wordpress.org/reference/hooks/send\_headers/](https://developer.wordpress.org/reference/hooks/send_headers/)

### [VERCEL-ROBOTS-EXCLUSIONS](https://agentreadychecklist.com/checklist/vercel-robots-exclusions/): Robots exclusionsrecipe

Open the robots.txt that WordPress and Elementor serves for your site and read every Disallow; each one must have a reason you can state. How the file is produced here: Core serves a virtual robots.txt through do\_robots(); the robots\_txt filter edits its output. A physical robots.txt in the web root overrides it.

Derived from WordPress and Elementor's documentation read on 2026-11-04. [developer.wordpress.org/reference/hooks/robots\_txt/](https://developer.wordpress.org/reference/hooks/robots_txt/) and [vercel.com/kb/guide/make-your-site-readable-by-ai-agents](https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents)

## Vendors on this platform

-   [Elementor](https://agentreadychecklist.com/vendors/elementor/)Site builder, 3 of 5 checklist rows read met by default
-   [Pantheon](https://agentreadychecklist.com/vendors/pantheon/)Host or CDN, 0 of 3 checklist rows read met by default
-   [WooCommerce](https://agentreadychecklist.com/vendors/woocommerce/)Commerce platform, 3 of 5 checklist rows read met by default
-   [WordPress](https://agentreadychecklist.com/vendors/wordpress/)CMS, 4 of 10 checklist rows read met by default
-   [WordPress.com](https://agentreadychecklist.com/vendors/wordpress-com/)Site builder, 4 of 5 checklist rows read met by default

## Sources

-   [ora.ai/api/checks, contract 1.38.0](https://ora.ai/api/checks?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=platform)read 2026-11-05
-   [registry.npmjs.org/ax, the ax README](https://registry.npmjs.org/ax)read 2026-11-05
-   [developer.wordpress.org/reference/hooks/robots\_txt/](https://developer.wordpress.org/reference/hooks/robots_txt/)read 2026-11-04
-   [make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5/](https://make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5/)read 2026-11-04
-   [developer.wordpress.org/reference/hooks/wp\_head/](https://developer.wordpress.org/reference/hooks/wp_head/)read 2026-11-04
-   [developer.wordpress.org/themes/classic-themes/functionality/404-pages/](https://developer.wordpress.org/themes/classic-themes/functionality/404-pages/)read 2026-11-04
-   [developer.wordpress.org/reference/hooks/send\_headers/](https://developer.wordpress.org/reference/hooks/send_headers/)read 2026-11-04
-   [yoast.com/features/llms-txt/](https://yoast.com/features/llms-txt/)read 2026-11-04
-   [developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/](https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/)read 2026-11-04
-   [developer.wordpress.org/reference/functions/do\_robots/](https://developer.wordpress.org/reference/functions/do_robots/)read 2026-11-04
-   [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)read 2026-11-04
-   [developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/](https://developer.wordpress.org/themes/classic-themes/basics/template-hierarchy/)read 2026-11-04
-   [developer.wordpress.org/reference/functions/status\_header/](https://developer.wordpress.org/reference/functions/status_header/)read 2026-11-04
-   [wordpress.org/documentation/article/code-block/](https://wordpress.org/documentation/article/code-block/)read 2026-11-04
-   [developer.wordpress.org/rest-api/using-the-rest-api/authentication/](https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/)read 2026-11-04
-   [developer.wordpress.org/reference/functions/wp\_enqueue\_script/](https://developer.wordpress.org/reference/functions/wp_enqueue_script/)read 2026-11-04
-   [developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/](https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/)read 2026-11-04
-   [developer.wordpress.org/reference/functions/add\_rewrite\_rule/](https://developer.wordpress.org/reference/functions/add_rewrite_rule/)read 2026-11-04
-   [vercel.com/kb/guide/make-your-site-readable-by-ai-agents](https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents)read 2026-11-04

Edition

Data

2026-11-04

Reviewed

2026-11-05

Spec

AgentReady v2.0, 273d2d7

Crawl

13,071 rows, 2026-11-04

Ora

132 checks, contract 1.38.0, 2026-11-05

Verify with Ora

The scanner this site recommends for the whole checklist. 132 checks, a score out of 100, no account.

`npx ax@0.10 audit <url> --min-score <n>`

[Why Ora, and its limits](https://agentreadychecklist.com/verify-with-ora/)

Method

-   [How rows, commands and rates are made](https://agentreadychecklist.com/method/)
-   [How an Ora check is matched to a row](https://agentreadychecklist.com/checklist/ora-checks/)
-   [Pass rates by rank band](https://agentreadychecklist.com/data/by-rank/)

Sources and read dates sit at the foot of the page.

Last reviewed 2026-11-05. AgentReady v2.0, read 2026-11-04.
