Is WooCommerce agent-ready? Defaults and what to fix
WooCommerce core provides server-rendered product pages, Product JSON-LD, a core sitemap, add-to-cart forms and add-to-cart URLs. It does not output return or shipping structured data or ProductGroup variants, and it has no shopper-facing UCP profile or agent endpoint yet. WooCommerce lists UCP as coming soon.
Updated · By the Medusa team
WooCommerce pages render on the server, core outputs Product JSON-LD, and the classic add-to-cart is a form. Richer structured data and the agentic commerce protocols layer are not in core. This guide maps each check in the agent-ready ecommerce score to what a stock WooCommerce store gives you.
What does WooCommerce give AI agents by default?
WordPress renders pages in PHP, so product facts are in the HTML that agents fetch. WooCommerce core adds Product JSON-LD (WooCommerce wiki). WordPress core adds /wp-sitemap.xml and lists it in robots.txt (WordPress 5.5 sitemaps). On agentic commerce, WooCommerce’s own page lists UCP and Stripe ACP as “Coming soon” (WooCommerce agentic commerce).
“Theme” in the tables below means the result depends on your theme or plugins. Block themes and page builders can change any of these rows.
Access
| Check | Default on WooCommerce | What to do |
|---|---|---|
| AI agents not blocked | Depends on your host, CDN and security plugins | Allow AI user agents in your WAF and security plugins. |
| robots.txt | WordPress serves a virtual robots.txt that references the core sitemap | Check your SEO plugin or physical robots.txt for AI bot Disallow rules. |
| No CAPTCHA | Depends on your plugins | Keep CAPTCHA off product pages and the cart. |
| No content gates | Depends on your plugins | Don’t swap the page HTML for an age or consent gate. |
Product data
| Check | Default on WooCommerce | What to do |
|---|---|---|
| Product facts in HTML | Server-rendered | None, unless a page builder loads prices with JS |
| Product JSON-LD | Output by core: name, SKU, offers, availability, GTIN if set | Fill in SKU, GTIN and brand, and keep your SEO plugin from removing it. |
| Variants modeled | AggregateOffer price range, no ProductGroup |
Extend the markup with the woocommerce_structured_data_product filter. |
| Return and shipping data | Not output by core | Add MerchantReturnPolicy and OfferShippingDetails. |
| OpenGraph price tags | Not output by core | Add them with your SEO plugin or theme. |
Discovery
| Check | Default on WooCommerce | What to do |
|---|---|---|
| Sitemap | Core /wp-sitemap.xml includes public post types such as products |
If an SEO plugin replaces it, make sure products are included. |
| Canonical and status codes | Core outputs rel=canonical on single pages |
None |
| Performance | Depends on hosting and plugins | Use page caching and drop unused plugins. |
| Markdown alternative | Not in core | Low weight. You can skip it. |
| llms.txt / agents.md | Not in core | Add /llms.txt (see below). |
Operability
| Check | Default on WooCommerce | What to do |
|---|---|---|
| Add-to-cart in a form | Classic templates: <form class="cart" method="post"> with <button type="submit" name="add-to-cart"> |
Keep it if your theme overrides the template. |
| Variant controls | Classic templates: <select> for each attribute |
Make sure swatch plugins keep native inputs. |
| Accessible names | Theme | Give icon-only buttons a name. |
| Site search | /?s=term&post_type=product |
None |
| Policy links | WooCommerce creates a draft “Refund and Returns Policy” page | Publish it and link all policies in the footer. |
| Semantic structure | Theme | One h1, landmarks and alt text. |
Agentic commerce
| Check | Default on WooCommerce | What to do |
|---|---|---|
| UCP profile | Not in core. WooCommerce says it’s coming soon. | Wait for core support, or build the profile yourself. |
| Live agent endpoint | None for shoppers | Skipped until a UCP profile exists |
| Checkout permalinks | ?add-to-cart=ID and /checkout-link/ (partial credit) |
Declare a UCP permalink capability for full credit. |
| OAuth discovery | Not in core | Needed only with an agent endpoint |
Bonus checks (WebMCP, A2A, AI Catalog, API catalog, rel="ucp") |
Not in core | Optional |
How do I fix a WooCommerce store for AI agents, in priority order?
1. Unblock AI agents at the host and in security plugins
WordPress itself doesn’t block AI bots. Blocks come from your host’s WAF, your CDN, or security and anti-spam plugins. Allow AI search and user-initiated agents. Blocking training crawlers is your choice and isn’t penalized. The AI user agents guide lists the tokens to allow.
2. Complete the Product JSON-LD core already outputs
The core markup is only as good as your product data. Fill in SKU, the GTIN/UPC/EAN/ISBN field and stock status. Core reads the GTIN from that field (source). Add brand, which Google recommends, with the woocommerce_structured_data_product filter (WooCommerce wiki):
add_filter( 'woocommerce_structured_data_product', function ( $markup, $product ) {
$markup['brand'] = array( '@type' => 'Brand', 'name' => 'Your Brand' );
return $markup;
}, 10, 2 );
If your SEO plugin outputs its own Product markup, keep one complete block, not two that disagree.
3. Add return policy and shipping structured data
WooCommerce core doesn’t output hasMerchantReturnPolicy or shippingDetails. Return and shipping data is the most common fail across all the stores we calibrated against. Add a MerchantReturnPolicy and OfferShippingDetails at Organization level. Google accepts this for the whole site (return policy). Or add them per product with the same filter. Keep the values identical to your published policy.
4. Publish and link your policy pages
On install, WooCommerce creates a draft “Refund and Returns Policy” page (WooCommerce docs). Edit and publish it. Then link returns, shipping, terms, privacy and contact from the footer on every page.
5. Keep the add-to-cart form native
The classic single-product template posts a real <form> with a named submit button and <select> variant dropdowns. Agents can operate that without JavaScript. Some themes, block layouts and swatch plugins replace these with JS-only widgets. If yours does, keep a native <select> or radio group inside the form.
6. Add an llms.txt
Serve /llms.txt as a Markdown file in the web root. List your main categories, policy pages, the search URL pattern (/?s=term&post_type=product) and how to build a cart link (/?add-to-cart=ID&quantity=1) (add-to-cart URLs).
7. Plan for UCP
WooCommerce core has APIs a custom UCP implementation could use. The Store API is a public, unauthenticated API for products, cart and checkout at /wp-json/wc/store/v1/, and core has shareable checkout links. Until core support ships, you can build a UCP profile on top of these yourself. WooCommerce MCP is a different tool. It’s merchant-facing, needs an Application Password and sits behind the mcp_integration feature flag (WooCommerce MCP docs), so it doesn’t count as a shopper agent endpoint.
Scan your store
Run the free scan on your store URL to see which of these checks your theme and plugins pass. Every failing check comes with a fix prompt you can copy. Terms are defined in the glossary.
Sources
- WooCommerce: agentic commerce status
- WooCommerce wiki: structured data for products
- WooCommerce source:
class-wc-structured-data.php - WooCommerce source: add-to-cart templates
- WooCommerce: add-to-cart URLs
- WooCommerce: shareable checkout URLs
- WooCommerce: Refund and Returns Policy page
- WooCommerce Store API
- WooCommerce MCP
- WordPress 5.5 XML sitemaps
- WordPress:
rel_canonical() - Google: return policy structured data
- Google: product variants structured data
- UCP specification
Frequently asked questions
- Does WooCommerce output Product structured data?
- Yes. WooCommerce core outputs Product JSON-LD on single product pages, with name, SKU, price, currency and availability. Variable products get an AggregateOffer price range, not a ProductGroup.
- Does WooCommerce support UCP or ACP?
- Not in core yet. As of October 2026, WooCommerce lists UCP and ACP (through the Stripe Agentic Commerce Suite) as coming soon.
- Is WooCommerce MCP an agent endpoint for shoppers?
- No. WooCommerce MCP is for managing the store. It requires a WordPress user with an Application Password and sits behind a feature flag. Shopping agents can't use it to browse or buy.
- Can AI agents add products to a WooCommerce cart with a link?
- Yes. Core supports ?add-to-cart=ID add-to-cart URLs and /checkout-link/?products=ID:QTY shareable checkout links. Our scan gives partial credit for these. Full credit needs a UCP permalink capability.
Run your store on a platform built for agentic commerce
Medusa is open-source, headless commerce with a full Store API agents can call and storefronts you control end to end.
Deploy on Medusa Cloud
Open-source commerce with a full Store API, hosted and scaled for you. Your storefront, your data model.
Storefront skills for coding agents
Teach Claude Code, Cursor or Codex to build storefronts with the patterns these checks look for.
npx skills add medusajs/medusa-agent-skills