Skip to content
Available for new work

Shopify AI search: get cited by ChatGPT

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

Shopify AI search: get cited by ChatGPTAI-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.

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.

For the wider picture, including ChatGPT’s shopping research and Instant Checkout, and what they mean for stores on any platform, see what ChatGPT shopping means for a store like yours.

Shopify is already sending your products to AI

Before the crawler and markup work, it helps to know what Shopify now does on its own. According to Shopify’s guide to product discovery for agentic storefronts, eligible products are automatically discoverable by AI channels through Shopify Catalog, which acts as the product data feed to those storefronts. It sends each product’s title, description, options, images, price, availability and other key attributes.

Which assistants it reaches

Shopify’s guide names ChatGPT, which merchants can opt out of; Microsoft Copilot, which can be switched on or off; Google’s AI Mode and Gemini, through the Google & YouTube sales channel, which it describes as rolling out to eligible stores; and Meta’s surfaces through the Facebook and Instagram channel. It doesn’t mention Perplexity, which still relies on crawling your pages.

What that changes about this walkthrough

It means the quality of your product data now travels further than your own site. The feed uses the same titles, descriptions, options and images you keep in the Shopify admin, so a product with a two-word title and a supplier’s description is as thin in ChatGPT as it is on your store. The schema work below still matters for crawlers such as Perplexity’s and for Google, but the first job is the product data itself.

How to control it

Setting a product’s status to Unlisted hides it from AI channels, though Shopify notes it also hides the product from sitemaps, search engines and your own store search. Shopify also lets a theme add agents.md.liquid, llms.txt.liquid and llms-full.txt.liquid templates to customise the files AI agents read. Treat those as a bonus: Google’s guidance on AI features says you don’t need new machine-readable files, AI text files or markup to appear in its AI Overviews and AI Mode.

My view: fix the product data first

If you only have an afternoon, spend it on the twenty products that sell most: a clear, specific title, your own description with sizes, materials and use, every option named properly, and good images. That improves the Catalog feed, the schema your theme outputs and the page a customer lands on, all at once.

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].

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. Themes built on Shopify’s structured_data filter already output a reasonable baseline: a Product, or a ProductGroup when there are variants, with the name, brand, description, images and offer. Older themes, and markup added by hand or by apps, often carry far less, sometimes 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 a thin store ships:

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.

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.

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.

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 question from the first check in a week or two and see if you have moved. Citation is not instant, but readable data is the precondition for it.

Google’s AI answers play by Google’s rules

Everything above is aimed mostly at ChatGPT and Perplexity. Google’s AI Overviews and AI Mode work differently, and more simply.

No special files or markup

Google’s guidance on AI features says you don’t need new machine-readable files, AI text files or special markup to appear in them. A page needs to be indexed in Google Search and eligible to show a snippet. That’s all.

So ordinary SEO is the work

For Google, being in its AI answers starts with being in its ordinary results. If the store isn’t indexed, or a page is set to noindex or nosnippet, it can’t appear in either. The guide to a Shopify website that isn’t showing up on Google covers that side.

Check a page in two minutes

The free AI visibility checker on this site reads a page the way these crawlers do: whether each one is allowed in, whether the content is there without JavaScript, and whether the structured data parses. Run it on a product page and a collection page, not just the home page.

◆ Questions store owners ask

What still trips stores up

Two things, and they are both mundane. The first is blocking the wrong bot, from the crawler section: 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

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

Available for new work

UK based · PHP · Python · JS · TS. Every first call is free.