Agent Ready CheckoutEdition . The pay layer for agents.

360 check, 10 Nov 2026

IKEA on the pay layer: the 360 agent-readiness check

In short

IKEA scores 47 of 100 on Ora's agent-readiness scan, a D, read 14 Nov 2026. The six payment checks did not apply to ikea.com on this read, which is how Ora treats a site it does not read as a shop. UCP at .well-known/ucp scores the pay layer 3 of 3; the act layer is empty.

On 14 Nov 2026 the public site at ikea.com scored 47 of 100 on Ora's agent-readiness scan, a D, in Ora's E-commerce category. IKEA is the Swedish furniture retailer, selling online in more than 60 markets, so this check reads the Payments layer first: the six checks that look for x402, MPP, UCP, ACP and AP2 on the domain, the same protocols this site's matrix tracks row by row. The other layers follow, with every check Ora ran and what it saw. Ora's one-line summary: Turns agents away at the door: no WebMCP or MCP Apps support, no llms.txt.

The score

IKEA on Ora, read 14 Nov 2026: points per layer, with the share of each layer's maximum. 18 checks pass, 5 are partial, 36 fail and 79 do not apply to this site.
LayerPointsShareWhat the layer asks
Discovery5 of 683%Can agents find and recommend it
Access15.83 of 2661%Can agents read it
Usability1 of 147%Can agents use it
Payments3 of 3100%Can agents pay
Total47 of 10047%Grade D

The pay layer

Ora did not run the six payment checks against ikea.com on this read: it marks them not applicable on a site it does not read as a shop, so the layer has no maximum and costs nothing. A retailer that sells online can still publish any of the five protocols; the matrix says which processors and platforms carry each one. Each protocol links to its matrix row, where the processors and platforms that carry it are dated and sourced.

The six Payments checks Ora runs, on ikea.com, read 14 Nov 2026. A protocol not found costs nothing, and a check marked does not apply was not run against the site.
Payment checkResultPointsMatrix rowWhat Ora saw
x402Does not apply0 of 2x402 in the matrixNot required: An agent wallet checkout already gives agents a way to pay, and one is enough (UCP checkout declares wallet handlers an agent can pay with (com.google.pay))
MPPDoes not apply0 of 2MPP in the matrixNot required: An agent wallet checkout already gives agents a way to pay, and one is enough (UCP checkout declares wallet handlers an agent can pay with (com.google.pay))
UCPDoes not apply0 of 3UCP in the matrixNot required: An agent wallet checkout already gives agents a way to pay, and one is enough (UCP checkout declares wallet handlers an agent can pay with (com.google.pay)).
ACPDoes not apply0 of 3ACP in the matrixNot required: An agent wallet checkout already gives agents a way to pay, and one is enough (UCP checkout declares wallet handlers an agent can pay with (com.google.pay))

The other layers, check by check

Every check Ora ran on ikea.com, grouped by layer, with the result, the points and what Ora recorded where its wording passes this site's gate.

Discovery: 5 of 6

Discovery checks on ikea.com, read 14 Nov 2026; 7 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
ARD discoveryFail0 of 1No /.well-known/ard.json, no same-site rel="ard" link, and no legacy /.well-known/ai-catalog.json
Brand name discoverabilityPass3 of 3ikea.com ranks #5 for "IKEA" (searched your brand name alone: no main product term from your homepage qualified)
robots.txt AI crawler policyPass1 of 1AI search crawlers: allowed in 3 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 2 of 2 checks (2 crawlers on 1 page), not scored.
Agent platform configsFail0 of 1Could not locate a public repo containing agent configs or rules. If our probes missed it, AI coding agents likely will too - link the repo from your homepage or docs so it's discoverable.
Agent Plugins manifestFail0 of 1No Agent Plugins manifest (plugin.json) found in discovered repos
ChatGPT app listedFail0 of 2Not found in ChatGPT app directory
Homepage not hidden from searchPass1 of 1No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search.

Access: 15.83 of 26

Access checks on ikea.com, read 14 Nov 2026; 7 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
Sitemap existsPass1 of 1Valid sitemap found at https://www.ikea.com/sitemaps/sitemap.xml with multiple sitemaps entries
Content without JavaScriptPartial3.33 of 5Homepage: 4292 chars with H1, but 4.0% content ratio is below the 5% target. 1 of 1 sampled inner page has text without JavaScript (4 skipped).
Not blocked by bot detectionPass2 of 2Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
Agent discovery fileFail0 of 2No agent discovery file found
A2A / agent-cardFail0 of 2No A2A agent card found at /.well-known/agent-card.json
Listed on skills.shFail0 of 1No official skills self-published on skills.sh (27 community skills with potential relation to this domain found, but only self-published official skills count)
pricing.md existsFail0 of 2No pricing.md found - agents need machine-readable pricing to compare products and make purchase recommendations
NLWeb Schema FeedsFail0 of 1No schemamap: directive in robots.txt
MCP well-known discoveryFail0 of 2No MCP server URL discovered
HTTP Link headers (RFC 8288)Fail0 of 1No HTTP Link response headers (RFC 8288) found
Markdown URL fallbackFail0 of 2Homepage does not support the .md suffix. Probed https://ikea.com/index.md and it did not return markdown (expected text/markdown content-type or a heading-led non-HTML body).
Modular llms.txt per product areaFail0 of 1No section-level llms.txt found. Tried /docs/llms.txt, /api/llms.txt, /developers/llms.txt, /guides/llms.txt, /reference/llms.txt. This is a bonus check: it can add a point and never costs one.
robots.txt agent-user policyPass1 of 1No applicable crawl or usage restriction found for 3 user-triggered agents (chatgpt-user, claude-user, perplexity-user) on 1 public page: https://ikea.com/. Declared policy only
llms.txt existsFail0 of 1No llms.txt found at https://ikea.com/llms.txt. Publish it at the site root, where agents that follow the llms.txt spec look for it.
llms.txt formattingFail0 of 2No llms.txt found to evaluate quality
JSON-LD structured dataPass2 of 2Rich JSON-LD identity: Organization with name, description, url, and sameAs/logo/address (1 block(s))
Pricing info accessibleFail0 of 3No pricing page or pricing data found
Agent instruction / when-to-useFail0 of 1No agent instruction file with when-to-use guidance found
Skills.sh skill qualityFail0 of 2No official skills on skills.sh to evaluate
JSON-LD entity linking (sameAs)Partial0.5 of 1Entity linking to linkedin.com - add more authority profiles (Wikipedia, Wikidata, LinkedIn, GitHub)
Metadata completenessPass1 of 1All metadata signals present: canonical URL, lang="en", og:image, og:type
Organization schema completenessPartial0.5 of 1Organization schema found but missing: contactPoint
Trust anchor pagesPartial0.5 of 1Contact, Privacy pages verified - missing: About
Markdown alternate linkFail0 of 1No sampled page advertises a markdown alternate. Add <link rel="alternate" type="text/markdown" href="..."> (or the equivalent Link response header) pointing at a markdown twin of the page.
Redirect hygienePass1 of 1Pass, no detail recorded.
Page token budgetPass1 of 1All 6 measured pages fit an agent context budget (largest ~1K tokens)
Content starts near the topPass1 of 1Pass, no detail recorded.
Content behind authPass1 of 1All 5 sampled pages are publicly readable (5 with substantive content)
API catalog (RFC 9727)Fail0 of 2No /.well-known/api-catalog found (RFC 9727)
Markdown agent docsFail0 of 1Missing markdown content negotiation. Homepage returned text/html when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md, /developers.md
Markdown content negotiation (acceptmarkdown.com)Fail0 of 1Homepage https://ikea.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html; charset=utf-8; Vary header missing Accept (got "origin, accept-encoding")
Bot-UA markdown servingFail0 of 1No probed bot User-Agent (ChatGPT-User, Claude-User, Perplexity-User) receives markdown when requesting HTML. Optional: detect AI-bot UAs server-side and serve them a markdown representation directly.
Agent crawler reachabilityPass1 of 1Reachable to every agent we tested - ChatGPT-User: reachable, OAI-SearchBot: reachable, Claude-User: reachable, PerplexityBot: reachable

Usability: 1 of 14

Usability checks on ikea.com, read 14 Nov 2026; 61 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
Web Bot Auth directoryFail0 of 2No /.well-known/http-message-signatures-directory found
auth.md existsFail0 of 2No /auth.md found at site root
auth.md structureFail0 of 2No /auth.md found at site root
Agent auth discovery metadataFail0 of 3Neither /.well-known/oauth-protected-resource nor /.well-known/oauth-authorization-server found. Probed: ikea.com, api.ikea.com.
Agent auth WWW-Authenticate hintFail0 of 1No 401 with WWW-Authenticate: Bearer resource_metadata=... found. Probed [https://ikea.com/api, https://ikea.com/api/v1, https://ikea.com/v1, https://ikea.com/v2, https://ikea.com/agent/identity, https://ikea.com/agent/auth
agent_auth endpoints reachableFail0 of 2No agent_auth endpoint URIs found in AS metadata or /auth.md prose; nothing to probe
WebMCP supportFail0 of 8No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 10 of 10 same-origin script bundle(s) for modelContext registrations)
NLWeb /ask endpointFail0 of 1No NLWeb-conformant /ask endpoint found via GET or POST
NLWeb streaming supportFail0 of 1NLWeb /ask does not support SSE streaming via GET or POST
MCP server-card.jsonFail0 of 2No MCP server card found (checked /.well-known/mcp/server-card.json, the site's ai-catalog.json, servers[].card in mcp.json, and <server>/server-card)
Product + docs MCP coverageFail0 of 2This bonus needs two MCP servers: one for your product so agents can take actions, and a separate one for your documentation so agents can answer questions from your docs.
Agent-friendly 404sPartial1 of 2The nonexistent path https://ikea.com/__ora-404-probe-isgag181 correctly returns HTTP 404. Partial credit: no Markdown error body was detected.
Accessible document structurePass3 of 3Pass, no detail recorded.
Native interactive controlsPass3 of 3Pass, no detail recorded.
Accessible names on controlsPass2 of 2Pass, no detail recorded.
Accessibility-tree injection safety (bonus)Pass2 of 2Pass, no detail recorded.
MCP Apps supportFail0 of 4No MCP Apps support detected - this product has an in-agent UI surface but exposes no ui:// resources or tool UI metadata for agents to render.
A2UI / generative UI supportFail0 of 2No A2UI or generative UI support detected

The fixes worth most points

Ora attaches an estimate to each failing or partial check: how many points the site would gain by passing it. These are the 5 with the largest estimates for IKEA.

WebMCP support
Fail, 0 of 8, about 16 points to gain. Ora saw: No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 10 of 10 same-origin script bundle(s) for modelContext registrations).
MCP Apps support
Fail, 0 of 4, about 8 points to gain. Ora saw: No MCP Apps support detected - this product has an in-agent UI surface but exposes no ui:// resources or tool UI metadata for agents to render.
Product + docs MCP coverage
Fail, 0 of 2, about 4 points to gain. Ora saw: This bonus needs two MCP servers: one for your product so agents can take actions, and a separate one for your documentation so agents can answer questions from your docs.
Pricing info accessible
Fail, 0 of 3, about 3.5 points to gain. Ora saw: No pricing page or pricing data found.
ARD discovery
Fail, 0 of 1, about 3.3 points to gain. Ora saw: No /.well-known/ard.json, no same-site rel="ard" link, and no legacy /.well-known/ai-catalog.json.

Our read

IKEA's pay layer is the thing that turns this read. Ora found a UCP discovery profile at ikea.com/.well-known/ucp, version 2026-04-08, declaring the checkout and fulfillment capabilities, so UCP passes at 3 of 3 and the other five payment checks are marked not required, since one protocol is sufficient. The door matches: all four test agents reached the home page, robots.txt allows every AI crawler checked, and no restriction applies to the user-triggered agents. The reading layer is middling, a home page of 4,843 characters with an H1 at a 3.5 percent content ratio, a valid sitemap index, complete metadata and a full Organization block with description, url, logo and address, but no llms.txt. The act layer is the gap: neither an API nor an MCP server, OAuth is absent, and WebMCP is missing from all 10 script bundles, the single fix worth about 12 points. A B at 71 that an agent can pay through but cannot yet operate.

Test your own checkout

The scan above is free and needs no account: enter a domain at ora.ai and read the same layers for your own site, with the six payment checks mapped to this matrix on the Ora Payments page. The command below runs the same audit from a terminal and exits with 1 under the score you set, so it can gate a deploy. Why Ora, and its limits.

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

All 360 checks, one company a day. Corrections to the corrections page.

Sources

  1. ora.ai/api/score/ikea.com, Ora's scan (vendor), read 14 Nov 2026
  2. Ora's scoring rules, version 3 (vendor), read 14 Nov 2026
  3. Ora check catalog (GET /api/checks), read 14 Nov 2026
  4. ikea.com, the company's site, read 14 Nov 2026

Last reviewed