

From agent-averse to agent-ready — your score across eight weighted commerce dimensions, and the exact fix for each one that's failing.
Something is already sending you customers, and your analytics can’t see it.
When a shopper asks ChatGPT “find me a cordless drill under $80 that ships in 2 days” and buys from the store it names, that order lands in WooCommerce looking like ordinary direct traffic. Google Analytics shows you nothing. Your reports show you nothing. You cannot tell whether AI assistants are worth your attention, because you cannot see them at all.
This plugin makes the AI channel visible, then makes you the answer it gives — and lets you buy more of it.
Three jobs, in that order:
No theme changes. No replatforming. No new payment processor. Your existing gateway and your payout schedule are untouched.
We show you the match rate. Every AI-attributed number in this plugin comes with the percentage of your real orders it accounts for. When tracking misses something, you’ll see that too — because a revenue figure you can’t check isn’t worth having.
🌐 Plugin home: www.xpay.sh/merchants/woocommerce/
🤖 New to this? What agentic commerce actually means for a store owner
/llms.txt and product pages answer when requested by the AI crawlers themselves, and what to do when one is too slow. A diagnostic — it won’t fight your caching plugin.Product, Offer, AggregateOffer, BuyAction and ItemList JSON-LD on product pages, shop archive and home page. Detects Yoast, Rank Math and WooCommerce core schema and fills only the gaps — never a duplicate./llms.txt (llmstxt.org) and an explicit robots.txt allowlist for AI user-agents. If you already publish your own /llms.txt, this appends to it and leaves your content untouched.FAQPage and MerchantReturnPolicy structured data answering the delivery, returns and variant questions AI shoppers ask, for products you approve. Optionally shown to your shoppers too, as a product tab, a summary block, or an [xpay-faq] shortcode — off on new installs.Not sure what these are? ChatGPT Ads, explained for store owners — what they are, what they cost, and who’s eligible.
Built to cooperate, not compete. If another plugin already does a job, this one stands down rather than duplicating:
Stuck on any step? Email [email protected] or post in the support forum on this page — we aim to reply within one business day.
define( 'XPAY_WC_TELEMETRY', false ); in wp-config.php.The plugin is GPLv2-or-later and ships as readable PHP — the complete source is in wp-content/plugins/agentic-commerce-for-woocommerce/ on your own server the moment you install it. You can read it, fork it, modify it, redistribute it and self-host it without paying anything. Full technical changelog: install.xpay.sh/woocommerce/CHANGELOG.md. Questions or bug reports: [email protected], or the support forum on this page.
This plugin connects to the following xpay-operated services to deliver its core function. Every endpoint and its purpose is documented; full payload disclosure is in the Privacy section.
agent-feed.xpay.sh — Public CDN that hosts your AI-readable catalog feed at https://agent-feed.xpay.sh/catalog/{your-slug}.json. The plugin does not contact this URL directly; the xpay backend writes it from your WooCommerce REST API after you click Connect store.
agent-commerce.xpay.sh — The agent-side API that AI shopping agents call to surface and buy from your products. The plugin contacts this host at the following paths: (a) POST /v1/onboard/woocommerce/wc-auth-callback is the WooCommerce OAuth callback target (WordPress itself calls this on your behalf, server-to-server, after you approve the one-click connect prompt); (b) GET /v1/onboard/woocommerce/status?nonce=… is polled by the xpay onboarding page while the handshake finishes; (c) POST /v1/merchants/{slug}/resync triggers a fresh catalog ingest after a product or stock change; (d) GET /v1/merchants/{slug} is called when xpay✦ Commerce Settings verifies the current connection state; (e) PATCH /v1/merchants/{slug}/products/{sku} pushes a single-product delta when a WooCommerce product/stock webhook fires; (f) DELETE /v1/merchants/{slug} is sent (non-blocking) when you click Disconnect so xpay marks your account as disconnected and archives the cached catalog. The hostname is also the publicly advertised target for POST /mcp/{slug} (the JSON-RPC commerce MCP endpoint AI agents talk to) — the plugin itself does not call this URL but lists it in the /.well-known/ucp manifest.
app.xpay.sh/onboard/woocommerce — The merchant-side onboarding page. When you click Connect store, the plugin redirects your browser here with three query-string parameters: your site URL, your administrator email address, and a one-time random nonce generated locally. No data is sent to xpay before you click the button. You sign in or sign up on xpay and grant the WooCommerce REST API permission there.
agent-commerce.xpay.sh/v1/events — Optional anonymous lifecycle telemetry. Disabled by default; only contacted if you explicitly opt in via the first-activation admin notice or xpay✦ Commerce Settings Privacy. Full payload disclosure in the Privacy section.
agent-commerce.xpay.sh/v1/merchants/{slug}/orders — Agent-attributed order reporting for connected stores (non-PII order summary + attribution source; no customer, payment, or personal data). Off via the xpay_wc_order_events_enabled option. Full payload disclosure in the Privacy section.
agent-commerce.xpay.sh/v1/agent-analytics — Optional anonymous AI-bot crawl analytics. Disabled by default; shares the same opt-in as item 4 (and respects a separate define( 'XPAY_WC_AGENT_ANALYTICS', false ) hard-off). When enabled, the plugin counts requests from known AI bots only (e.g. GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended) — recording the bot name, a coarse page type (home/product/category/discovery-file/sitemap/other), the HTTP status, and whether we routed the bot to your structured catalog. It also sends an aggregate daily count of human pageviews (a number only — no user-agent, no URLs, no per-visit data) as the AI-vs-human denominator. Since 0.5.3 a bot event also carries a salted, one-way hash of the connecting IP address (a bot’s — behind a proxy or CDN this is the connecting edge address), so two hits from the same crawler can be counted as one visitor. The salt is unique to your store and is regenerated every day, so the hash cannot be linked across days or across stores, and the address itself is never stored or transmitted. This applies to AI bots only — a human visitor’s IP is never read, hashed or sent. Events are buffered locally and sent in the background by WP-Cron, never on a page load. Cart, checkout, account, admin and REST paths are never recorded. No per-visit human data, no customer, order, or personal data.
audit.xpay.sh — Merchant-facing audit dashboard. The plugin emits a link to audit.xpay.sh/{your-slug} on the Settings page so you can review the live agent-readiness score xpay computed from your catalog; the plugin itself does not fetch from this host. Opening the link from your browser sends standard browser headers to xpay.
auth.xpay.sh as the authorization_servers[0] entry in /.well-known/oauth-protected-resource (an RFC 9728 metadata document AI agents fetch to learn where to obtain a token). The plugin does not contact this host server-to-server; it is referenced for agent-side discovery only.Your own website. The Tracking screen fetches your store’s own home page (a request from your server to itself, never to a third party) to check whether an advertising pixel is present in the markup. Nothing is sent anywhere as a result, and the outcome is cached for several hours. This is not a third-party service and no data leaves your site.
Terms of use: install.xpay.sh/woocommerce/terms.html
Privacy policy: install.xpay.sh/woocommerce/privacy.html
We never see your customers, your orders, or any payment data. The plugin is non-custodial by design.
wp-config.php with define( 'XPAY_WC_TELEMETRY', false ); (or XPAY_WC_AGENT_ANALYTICS for bot counts alone). The constant overrides any UI choice.Every byte, itemised: install.xpay.sh/woocommerce/privacy.html · Terms