Worked example · pottery-store.com

One store, opened completely.

pottery-store.com is ours. We own and run it, which is exactly why we can publish every measurement on it — the failing ones included — instead of the sanitised paragraph a client would reasonably ask for. Nothing below is a testimonial. It is two scans of the same store, by the same public scanner your store gets, 24 days apart.

1/4 Applicable checks passing on 3 August 2026, before any work
8/8 Passing in the scheduled scan of 27 August 2026
8 Consecutive days with every applicable check passing
Daily How often this page's right-hand column is re-measured

Check it yourself rather than taking it from us: put pottery-store.com into the scanner, or read the artifacts directly — /.well-known/ucp, /llms.txt, /robots.txt.

Check by check

What each check said, then and now.

The left column is the scan of 3 August 2026, verbatim. Two checks did not exist in the register on that date and are marked as such rather than back-filled — an invented measurement is the one thing a case study cannot survive.

  1. UCP-01 /.well-known/ucp profile conforming to UCP 2026-04-08

    Before · 3 Aug 2026 ✕ FAIL

    /.well-known/ucp exists but is not valid JSON

    Now · 27 Aug 2026 ✓ PASS

    UCP 2026-04-08, 1 service binding (mcp), 2 capabilities (catalog.search, catalog.lookup)

  2. MCP-01 Advertised MCP endpoint reachable

    Before · 3 Aug 2026 ✕ FAIL

    No MCP endpoint advertised (checked the UCP manifest and page metadata)

    Now · 27 Aug 2026 ✓ PASS

    MCP endpoint completes the initialize handshake (protocol 2025-06-18, server pottery-store) and lists 5 tools, 5 with a description and input schema

  3. BOT-01 robots.txt policy for AI shopping crawlers

    Before · 3 Aug 2026 ✓ PASS

    GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and Google-Extended may crawl

    Now · 27 Aug 2026 ✓ PASS

    GPTBot, ClaudeBot, PerplexityBot and 8 more AI crawlers may crawl the store and its product pages; no noindex/noai directives on the homepage

  4. AGENT-01 AI agent user-agents served at the edge

    Before · 3 Aug 2026 — not measured

    Not in the register on this date — added after the baseline

    Now · 27 Aug 2026 ✓ PASS

    The edge serves the storefront to a caller announcing itself as GPTBot and ClaudeBot exactly as it does to the scanner — nothing at the edge turns AI shopping agents away

  5. CRAWL-01 Crawl limits on search and faceted URLs

    Before · 3 Aug 2026 — not measured

    Not in the register on this date — added after the baseline

    Now · 27 Aug 2026 ✓ PASS

    robots.txt bounds catalog search and faceted URLs while leaving products and categories crawlable — the expensive URL space is closed to crawlers without costing AI visibility

  6. LLMS-01 /llms.txt present

    Before · 3 Aug 2026 ✕ FAIL

    /llms.txt returns an HTML page, not plain text

    Now · 27 Aug 2026 ✓ PASS

    /llms.txt present (3077 bytes of plain text) — structured: has a markdown title, 4 sections, 0 links

  7. FEED-01 Product structured data completeness (25+ agent attributes)

    Before · 3 Aug 2026 — N/A

    No product catalog detected — check not applicable for this domain

    Now · 27 Aug 2026 ✓ PASS

    19 of 35 weighted points for agent-expected product attributes (pass mark: 16), averaged across 3 sampled products — critical attributes missing: gtin, offers.shippingDetails, offers.hasMerchantReturnPolicy

  8. SCHEMA-01 Product, Offer, AggregateRating JSON-LD on a product page

    Before · 3 Aug 2026 — N/A

    No product catalog detected — check not applicable for this domain

    Now · 27 Aug 2026 ✓ PASS

    Product and Offer JSON-LD present (no AggregateRating)

A pass is not a perfect score. FEED-01 above still names attributes the catalog does not carry — the check reports them because a store that stops reading its own findings stops improving. That is the same report your scan produces.

What moved the numbers

Four pieces of work, each tied to a check.

Every line names the check it moved, so a claim here can be walked back to a measurement instead of being taken on trust. This is the same shape as a sprint's output — an audit, an architecture, one working path, a roadmap — run on our own store first.

Moved FEED-01 · SCHEMA-01

A catalog an agent can actually read

The storefront was rebuilt so every product page publishes Product and Offer structured data from the same catalog the page renders — price, availability, identifiers and category, not a marketing description an agent has to parse.

Moved UCP-01

A profile that says what the store supports

A valid UCP profile at /.well-known/ucp, declaring the shopping service and the catalog capabilities the store answers — replacing a file that existed but was not valid JSON, which is the worst of both worlds: an agent finds it and then cannot use it.

Moved MCP-01

Live price and stock as tools

An MCP endpoint an assistant can call for search, product lookup and detail, answered from the live catalog. It completes the handshake and every tool carries a description and an input schema, which is what makes it usable rather than merely present.

Moved AGENT-01 · CRAWL-01 · BOT-01 · LLMS-01

Open to buyers, bounded for crawlers

The edge serves AI shopping agents the same storefront it serves anyone else, while robots.txt fences off catalog search and faceted URLs — the expensive, infinite half of the URL space. Products and categories stay crawlable. A /llms.txt in plain text replaced an HTML page pretending to be one.

What this does not prove

The limits of one store.

  • It is our store, not a client's. We had no legacy integrations to negotiate with and nobody to convince. A store with an ERP, a PIM and a decade of customisation is a harder problem, and the sprint exists because it is.
  • Passing eight checks is readiness, not revenue. These checks measure whether an agent can find, read and trust your catalog. Nobody — us included — can promise placement in an assistant's answer, and the FAQ says so at length.
  • The protocols are young. A store that passes today can fail after a specification revision. That is the whole argument for measuring on a schedule rather than once, and it is why this page's right-hand column is a query, not a paragraph.

Now do the same for your store.

The scan is the same one that produced the column on the right. It reads eight public things, writes nothing, and takes fifteen seconds.