How to make a Shopify store citable by ChatGPT and Perplexity

AI assistants recommend products from structured data and the right crawler settings, not your brand copy, so getting cited is mostly a data-hygiene job you can do in an afternoon. This walkthrough takes you through it in order: check whether you show up today, let the right crawlers in, fix the Product schema that actually matters, add your reviews to the markup, signal freshness honestly, and verify. Each step has the exact configuration or code, and it ends with the two mistakes that keep most stores invisible.

DC · 3 September 2026 · 10 min read

How to make a Shopify store citable by ChatGPT and PerplexityAI generated

One thing worth saying before the steps: ChatGPT's shopping results are organic and unsponsored, ranked on relevance, so you cannot buy your way in [1]. You earn it with clean data, which is the whole reason this is a job you can do yourself rather than a budget you have to find.

Step 0: check where you actually stand

Before you change anything, find out whether you have a problem. Open ChatGPT and Perplexity and ask, as a customer would, what to buy in your category: best waterproof dog coat for a labrador, UK. See whether your brand and products come up, and who comes up instead. Ten minutes, and it tells you whether you are invisible, mentioned, or already cited. Do it now, and note what you see, so you can measure the change in a fortnight.

Step 1: let the right crawlers in

The most common reason a store is invisible is the dullest: its robots.txt is quietly blocking the crawler that feeds AI search. The important point is that these crawlers are separate levers, and people confuse them, blocking the training bot to protect their content and accidentally taking themselves out of search too [2].

CrawlerControlsIf your goal is AI-search visibility
OAI-SearchBotWhether you appear in ChatGPT search answers.Allow. Blocking it hides you from ChatGPT search.
PerplexityBotWhether you appear in Perplexity's answers.Allow. Blocking it takes you out of Perplexity.
GPTBotOpenAI model training only. Does NOT affect ChatGPT search.Your call. Block it to stay out of training; you still appear in search.
The three crawlers that matter, and what each one actually controls.

On Shopify you cannot fully hand-edit robots.txt, but you can customise it with a robots.txt.liquid template. If your goal is to be found in AI search, allow the two search crawlers explicitly and decide the training crawler on purpose:

The trap: a store that pastes in a blanket block all AI bots rule to feel safe locks itself out of the exact citations it wanted. Decide each crawler on purpose, not in one nervous sweep [2].

Step 2: fix the Product schema that actually matters

This is the core of it. An assistant reads your Product structured data and ranks you on what it can parse. Most Shopify themes emit thin Product schema, often just a name and a price, which is close to nothing for a machine to work with. Here is the difference between invisible and legible. First, what many stores ship:

Now the version that gets read. The highlighted lines are the ones the thin markup leaves out, and they are exactly the fields an assistant ranks on:

Those property names are the schema.org standard, not a preference [3]. Google, whose rules still shape what crawlers expect, needs name plus an offers block with price and priceCurrency for a merchant listing, and treats brand, sku, gtin and availability as recommended [4]. Recommended does the quiet work here: the stores that get read are the ones that fill the recommended fields in too, because that is the data an assistant ranks on. On Shopify this lives in your theme's product template, or a metafield-driven JSON-LD block; add the fields your theme omits. In short, add these:

nameWaterproof Dog CoatRequired
offers.price39.00Required
offers.priceCurrencyGBPRequired
brandYour BrandRecommended
skuWDC-LAB-01Recommended
gtin135012345678900Recommended
offers.availabilityInStockRecommended
aggregateRating4.7 from 212 reviewsRecommended
The Product fields that move you from invisible to legible. Sort by status to see what is required versus recommended.

Step 3: put your real reviews in the markup

If you show ratings and reviews on the page for humans, mirror them in aggregateRating and review so a machine can read them [3]. Reviews are one of the signals assistants weigh, and a store that displays 4.7 from 212 reviews but does not mark it up is handing the machine nothing. Most Shopify review apps can inject this; confirm yours actually does, because plenty render stars as images with no structured data behind them, which looks fine to a shopper and is invisible to a crawler.

Step 4: signal freshness, honestly

Freshness helps a little, and only when it is real. Analysis of millions of cited URLs found assistants cite slightly fresher pages on average, though cited pages still averaged nearly three years old [5]. So set a correct dateModified when you genuinely revise a page, and do not churn the date on a page you did not change. Fix the substance, then let the timestamp be true.

Step 5: verify

Close the loop. Three checks, in order:

  1. Validate the Product schema on three real product pages, using Google's Rich Results Test or the Schema.org validator, checking name, image, brand, sku, gtin, and an offers block with price, priceCurrency in GBP and availability.
  2. Confirm robots.txt allows OAI-SearchBot and PerplexityBot, and that your GPTBot decision is the one you meant to make.
  3. Re-ask ChatGPT and Perplexity the Step 0 question in a week or two and see if you have moved. Citation is not instant, but readable data is the precondition for it.

What still trips stores up

Two things, and they are both mundane. The first is blocking the wrong bot, from Step 1: a blanket AI-bot block that quietly removes you from search while leaving training access open. The second is broken or missing schema, which is more common than it should be.

57.5%
of 180 top-ranking ecommerce pages had any schema markup at all, and 15 to 30% of those that did, including big brands, had invalid markup. Roughly four in ten had nothing for a machine to read. [6]

The reassuring part is that what works is not exotic. The peer-reviewed study that coined generative engine optimisation found structured, well-cited, statistic-bearing content lifted a page's visibility in AI answers by up to 40% [7]. Be legible, be specific, be verifiable. On Shopify, that is mostly the five steps above, done properly once.

If you would rather have it checked

This is a job most store owners can do in an afternoon, and this walkthrough is meant to let you. If you would rather have someone confirm your schema is valid across the catalogue and your crawler settings are doing what you think, that is what an AI-visibility audit covers. Either way, the five steps are the same; the only question is whether you want a second pair of eyes on the catalogue.

Glossary

GEO / AEO
Generative (or answer) engine optimisation: making your pages easy for AI assistants like ChatGPT and Perplexity to read, trust and cite, rather than optimising only for a blue-link result.
Structured data / schema
Machine-readable labels on your pages, using the schema.org vocabulary, telling a crawler exactly what each thing is: this is the price, this is the brand, this is the stock status.
Product schema
The schema.org Product type and its Offer, carrying the fields an assistant ranks on: name, brand, sku, gtin, price, currency, availability, ratings and reviews.
GTIN
Global Trade Item Number, the barcode (EAN or UPC) that uniquely identifies a product so an assistant can match your item to the same one sold elsewhere.
robots.txt
The file at your site root that tells crawlers which paths they may fetch, and where you allow or block specific AI crawlers. On Shopify, customised via robots.txt.liquid.
OAI-SearchBot / GPTBot / PerplexityBot
The crawlers for ChatGPT search, OpenAI training, and Perplexity respectively. They are controlled separately, which is the point most stores miss.
aggregateRating
The schema.org field that carries your average review score and review count in machine-readable form.
dateModified
A schema.org timestamp declaring when a page was genuinely last updated, used as one freshness signal.

Sources

WRITTEN BY DC

15 years building and auditing ecommerce systems. This is what I do, in public. If your numbers feel off, I'll tell you where they're going.