Blunt Findings

ChatGPT shopping and your Shopify store

There is a lot written about integrations, feeds and partner programmes, and most of it skips the part that matters first. Before any integration, ChatGPT reads stores from the outside, the way a search engine does. What it reads is decided by your store's public pages, and on Shopify most of that is set by defaults nobody has looked at.

This guide is about that layer only: what ChatGPT can read from a Shopify store today with no app installed and no feed submitted, and what stops it.

Which crawler does the reading

OpenAI runs more than one crawler, and they do different jobs. OAI-SearchBot is the one that reads pages so ChatGPT can search and shop; if it cannot read your store, ChatGPT search has nothing of yours to show. GPTBot gathers data for training models, and ChatGPT-User fetches a page when a person in a conversation asks for it directly.

Only the first of those affects whether a shopper's question can be answered with your products. That distinction matters because a lot of robots.txt advice online tells you to block everything with "GPT" in the name, and store owners follow it without realising they have just told ChatGPT search to go away.

Open your own robots.txt and look. If OAI-SearchBot appears with Disallow: / beneath it, that is the whole explanation for why you are not appearing.

What a Shopify store gives it for free

More than most owners know.

Every Shopify store publishes its catalogue as JSON at /products.json, with titles, descriptions, vendors, product types, variants, prices and images. It is public, it is paginated, and it is the fastest way for a machine to learn what a store sells. An assistant does not need a feed from you; it already has one.

Every product page rendered by a standard theme carries Product structured data, a JSON-LD block in the page source with the name, price, currency, availability, brand and SKU. Most themes include the barcode as gtin when the barcode field is filled in. That block is the fact sheet an assistant reads first, because it is the one part of the page that states things rather than describing them.

And every store has a sitemap.xml that lists the product pages, so a crawler can find them without guessing.

What Shopify's defaults block

Two things, and both are easy to miss.

The default robots.txt disallows /policies/. That is where Shopify puts the shipping, returns, privacy and contact pages it generates for you. A person reads them fine; a crawler that honours robots.txt never will. So a store with a generous returns policy, written clearly, is invisible on exactly the point an assistant weighs when deciding whether to send a shopper there.

The second is not a default but a common addition. Bot protection, whether Shopify's own or a third-party layer, often blocks unknown crawlers on the whole store, including /products.json. The catalogue that was public a week ago stops being public, and nobody notices because customers are not affected.

What ChatGPT cannot get from a page

It cannot infer a specification from a photograph. If a jumper's weight, fibre and sizing exist only in the image or in a lifestyle sentence, an assistant asked for "a heavy lambswool jumper in a 42 chest" cannot match it. The stores that get matched state these things in words, with units, in the description or the structured data.

It also cannot guess what a product is from a name that does not say. "The Daily" is a fine name for a t-shirt on a store whose visitors can see it. To an assistant filtering by product type it is not a t-shirt at all.

Four things to change

In the order they matter.

1. Unblock the search crawler. In Shopify admin: Online Store, Themes, Edit code, then robots.txt.liquid. Make sure OAI-SearchBot and PerplexityBot are allowed on /products/ and /collections/. Leave any training-crawler decision separate. 2. Publish policies where a crawler can read them. Put the shipping, returns and contact text on ordinary pages, for example /pages/shipping, and link them from the footer. Or allow /policies/ in robots.txt. 3. Fill in barcodes. Each variant has a barcode field in Shopify admin. Fill it, and check the theme outputs it as gtin in the structured data. 4. Make titles and descriptions say what things are. Brand, product type, then the attribute a shopper would ask for. A specification list with units in every description.

None of this requires an app, a feed or a partner programme. It is the layer underneath all of those, and it is the layer that decides whether there is anything for them to work with.

Check your own store

The free check reads a Shopify store the way an assistant does and gives five answers in a few seconds: whether the catalogue can be read, whether a product page carries structured data and a GTIN, which AI crawlers are blocked, and whether the policy pages are linked. No login, no email needed for the answers.

The full audit is the same reading done properly: the whole catalogue, fifteen product pages, policies, speed and eight buyer searches, ranked into a fix list with examples from your own products. £99, within 24 hours.