# Agent-Friendly Storefronts ## Contents - [Overview](#overview) - [Priorities](#priorities) - [1. Access: Let Agents In](#1-access-let-agents-in) - [2. Product Data: Make Facts Machine-Readable](#2-product-data-make-facts-machine-readable) - [3. Operability: Make Actions Usable Without a Human](#3-operability-make-actions-usable-without-a-human) - [4. Discovery: Help Agents Find Pages](#4-discovery-help-agents-find-pages) - [5. Agentic Commerce Protocols (Ask First)](#5-agentic-commerce-protocols-ask-first) - [Medusa Storefront Notes](#medusa-storefront-notes) - [Verification Checklist](#verification-checklist) - [Common Mistakes](#common-mistakes) ## Overview AI agents now browse, compare and buy on behalf of shoppers: AI search (ChatGPT search, Claude, Perplexity), user-initiated fetchers (ChatGPT-User, Claude-User), and browser agents (ChatGPT agent, Claude in Chrome, Gemini). They work very differently from humans: - **Most fetchers do not run JavaScript.** They read the raw server HTML. If it's not in `curl` output, they don't see it. - **They read structured data** (JSON-LD, OpenGraph) to get price, currency, availability, variants, returns and shipping. - **Browser agents read the accessibility tree.** A clickable `
` or an unnamed icon button is invisible or ambiguous to them. - **Some speak commerce protocols** (UCP, MCP) and skip the HTML entirely. - **They stop at CAPTCHAs, age gates and bot walls.** They are instructed not to solve CAPTCHAs. **Golden rule:** after implementing any page, run `curl ` (no JS) and confirm the product name, visible price with currency, stock status, add-to-cart form and links are in the response. **Load this file when:** building product pages, cart/add-to-cart, search, footer, `robots.txt`, sitemap, structured data, middleware/redirects, or when the user asks for an "agent-ready", "AI-ready", "AI shopping" or "agentic commerce" storefront. ## Priorities Work in this order. Category weight reflects how much each area matters for agent-readiness; within a category, **H** items matter most. | Category | Weight | Items (H = high, M = medium, L = low) | | --- | --- | --- | | **Access** | 25% | H: agent UAs not blocked · H: robots.txt allows AI search + user agents · H: no CAPTCHA on home/PDP/cart · M: no age/consent/geo gate hiding content | | **Product data** | 25% | H: name/price/availability in server HTML · H: complete Product JSON-LD matching visible price · M: variants as `ProductGroup` · M: return + shipping structured data · L: OpenGraph product tags | | **Operability** | 20% | H: add-to-cart is a named `