SShopReady by Telep IO

ShopReady / Guides

How to make your WooCommerce store ready for AI shopping agents (ChatGPT, Google AI Mode, Perplexity, Copilot)

WooCommerce runs on WordPress, so you control the theme, plugins and server. That makes it one of the easiest platforms to get fully ready for AI shopping agents, and one of the easiest to break by accident with a plugin or firewall.

Check your WooCommerce store for free.

ShopReady reads your homepage and a product page the way AI crawlers do, then gives you a score and your top fixes in about 15 seconds.

Run the free check

What changed in 2026

AI assistants now help shoppers compare and pick products, but most still send the buyer to your own checkout. OpenAI paused ChatGPT Instant Checkout in March 2026 to focus on product discovery, with purchases finished on merchants' own sites [8] [9]. So the job today is simple: make sure these tools can read your products, prices, stock and policies.

1. Let AI search crawlers in (robots.txt)

Open yourstore.com/robots.txt. AI search tools can only recommend pages their crawlers are allowed to read. OpenAI says sites that opt out of OAI-SearchBot will not be shown in ChatGPT search answers. Perplexity says to allow PerplexityBot to appear in its results. Google uses Googlebot for Search (including AI features in Search) and Storebot-Google for Google Shopping surfaces.

Two tokens are about training, not search: GPTBot (OpenAI model training) and Google-Extended (Gemini training and grounding in Gemini Apps). Google says Google-Extended does not affect inclusion in Google Search. You can block those two and still be found, or allow them. That is a business choice.

A safe starting point that allows the search crawlers:

User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Googlebot
Allow: /

User-agent: Storebot-Google
Allow: /

User-agent: Bingbot
Allow: /

OpenAI and Perplexity both say robots.txt changes can take about 24 hours to take effect. If you use a firewall or bot protection (for example Cloudflare), make sure it is not challenging these bots. Perplexity publishes IP ranges for this.

Sources: [1] [2] [3]

2. Put Product structured data (JSON-LD) on every product page

Google's merchant listing docs require name, image and an offers block with price (greater than zero) and priceCurrency. Recommended fields include availability, gtin, sku, brand, aggregateRating, hasMerchantReturnPolicy and shippingDetails. Google also recommends putting Product markup in the initial HTML, because markup added later by JavaScript can make Shopping crawls less frequent and less reliable. Many AI crawlers do not run JavaScript at all.

Here is a complete example. Replace every value with your real data:

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Oak Cutting Board",
  "image": ["https://example.com/img/board-1x1.jpg"],
  "description": "Hand finished solid oak cutting board, 40 x 25 cm.",
  "sku": "OAK-CB-40",
  "gtin13": "0012345678905",
  "brand": { "@type": "Brand", "name": "Example Woodworks" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/oak-cutting-board",
    "price": 49.00,
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "US",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "https://schema.org/FreeReturn"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": { "@type": "MonetaryAmount", "value": 0, "currency": "USD" },
      "shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" },
        "transitTime": { "@type": "QuantitativeValue", "minValue": 2, "maxValue": 5, "unitCode": "DAY" }
      }
    }
  }
}
</script>

Test a product URL in Google's Rich Results Test, then check the Merchant listings report in Search Console.

Sources: [4]

3. Check what WooCommerce already outputs

WooCommerce core adds Product structured data to product pages. Since WooCommerce 9.2 there is a built-in GTIN field (labeled GTIN, UPC, EAN or ISBN in the product's Inventory tab), and WooCommerce renders a valid GTIN into the product structured data. Invalid numbers are left out. Fill in that field for every product that has a barcode.

If you also run an SEO plugin that writes its own Product schema, view the page source and make sure you do not end up with two conflicting Product blocks.

Sources: [5] [6]

4. Connect Google for WooCommerce

The official Google for WooCommerce extension syncs your catalog to Google Merchant Center and supports the core GTIN field. If you stored GTINs in an older custom field, the extension offers a migration to the core field. Back up first.

Sources: [5]

5. Watch your security plugins and host

On WordPress, the usual reason AI crawlers get blocked is not robots.txt but a security plugin, host firewall or CDN bot setting. After changing robots.txt, run the free check below to confirm the crawlers can actually read a product page.

Sources: [2]

6. Keep price and stock status accurate

Use one availability value per offer, such as InStock, OutOfStock, PreOrder or BackOrder. The price in your markup must match the price a shopper sees. If you sell in more than one currency, Google asks for a separate URL per currency. If you set priceValidUntil, do not let it fall in the past, or your listing may not display.

Sources: [4]

7. Publish return and shipping policies AI can read

Have a plain return or refund page and a shipping page, and link both from your footer. Then describe them in code. Google recommends one store wide MerchantReturnPolicy nested under your Organization markup, with product level policies only for exceptions. Required fields are applicableCountry and returnPolicyCategory, plus merchantReturnDays for a fixed return window. You can also set return and shipping policies in Google Merchant Center or Search Console, which take priority over page markup.

Sources: [4]

8. Show real reviews in your markup

If you collect product reviews, expose them as aggregateRating and review inside your Product markup. Google lists both as recommended and requires reviewer names to be real people or teams, not marketing text. Do not add ratings you did not collect.

Sources: [4]

9. Send a product feed to the shopping engines

Markup helps crawlers. Feeds give the engines your full catalog directly.

Sources: [4] [7] [8] [9]

Check your WooCommerce store for free.

ShopReady reads your homepage and a product page the way AI crawlers do, then gives you a score and your top fixes in about 15 seconds.

Run the free check

Sources

  1. OpenAI: Overview of OpenAI crawlers (OAI-SearchBot, GPTBot)
  2. Perplexity: Perplexity crawlers (PerplexityBot)
  3. Google: List of Google's common crawlers (Google-Extended, Storebot-Google)
  4. Google: Merchant listing (Product, Offer) structured data
  5. WooCommerce: GTIN documentation (built-in GTIN field since 9.2)
  6. WooCommerce PR #50087: Render GTIN in Product structured data
  7. Microsoft Advertising: Agentic commerce and Copilot visibility
  8. TechCrunch, March 24, 2026: OpenAI pivots away from Instant Checkout
  9. CNBC, March 24, 2026: OpenAI revamps shopping in ChatGPT after Instant Checkout

More platform guides

Last reviewed October 29, 2026. Platforms change their settings often, so check the linked sources.