← Back to blog

What AI Crawlers Can See on Your Shopify Store (and How to Check in 30 Seconds)

A product page as a shopper sees it, next to the raw HTML an AI crawler reads, where the reviews and price are missing
The short answer

Two things decide what an AI crawler gets from your store: whether robots.txt lets it in, and whether the facts that matter are in your page's raw HTML. Many AI crawlers don't run JavaScript, so a price, review or spec that loads by script is invisible to them. To check in 30 seconds, open yourstore.com/robots.txt, then open a product page's source (Ctrl+U) and search it for your price and a line from a review. If something you can see on the page isn't in the source, many AI crawlers can't see it either.

When a shopper opens your product page, their browser downloads the HTML, runs your theme's and apps' JavaScript, loads the reviews widget, converts the currency and draws the finished page. It all happens in a second, so it's easy to forget that it's several steps.

Many AI crawlers stop after the first step. They download the HTML, read the text that's in it, and move on. Anything that only appears once a script runs (often the reviews, sometimes the price, often the size chart) doesn't exist as far as they're concerned. And if your robots.txt turns them away, they never get even that far.

This guide shows you how to check both in a few minutes, what typically goes wrong on Shopify stores, and how to fix it.

The three kinds of AI crawler

"AI crawlers" aren't one thing. The big AI companies each run several, for different jobs, and robots.txt rules apply to them by name. That matters, because blocking the wrong one can quietly take you out of AI answers.

Three columns: training crawlers such as GPTBot and ClaudeBot, search crawlers such as OAI-SearchBot, PerplexityBot, Googlebot and Bingbot, and on-request fetchers such as ChatGPT-User, with what blocking each kind does
The crawler names are what you write in robots.txt. Blocking a training crawler and blocking a search crawler have very different effects.
  • Training crawlers (such as GPTBot, ClaudeBot, CCBot) collect public pages that may be used to train future AI models. Blocking them is a business decision about your content. It doesn't remove you from search results.
  • Search and answer crawlers (such as OAI-SearchBot, Claude-SearchBot, PerplexityBot, plus Googlebot and Bingbot) build the indexes assistants search when someone asks a question. Block these and that assistant can't find or cite you.
  • On-request fetchers (such as ChatGPT-User, Claude-User, Perplexity-User) open a specific page because a person asked the assistant to look at it, or because it's checking a detail while answering. Some providers say robots.txt rules may not apply to these, because a person started the request.

Two names need special care:

  • Google-Extended isn't a separate crawler. It's a robots.txt token that controls whether Google may use your content for its Gemini models, including grounding answers in Gemini apps. It doesn't affect Google Search, and that includes AI Overviews and AI Mode. Those follow Googlebot.
  • Applebot-Extended works the same way for Apple's AI models. Plain Applebot powers Siri and Spotlight search results.

Crawler names and rules change. Before you write rules for a specific crawler, check that provider's own documentation for its current names.

The 30-second check

Do this on one important product page first, then on a collection page and your home page.

1 Are AI crawlers allowed in? Read your robots.txt

Open https://yourstore.com/robots.txt in a browser. It's a plain-text list of groups, each starting with User-agent: and followed by Disallow: and Allow: rules.

What a block looks like:

User-agent: OAI-SearchBot
Disallow: /

Disallow: / under a crawler's name means "stay out of the whole site". Also look at the catch-all User-agent: * group. Shopify's default rules there keep crawlers out of the cart, checkout, account and internal search pages, which is fine. A Disallow: / under * is not.

What's normal: Shopify's default robots.txt doesn't block the main AI crawlers. If you see AI crawlers listed by name, someone (you, a developer or an app) has customised the file.

2 Can they read what matters? Search the page source

This is the step most people get wrong, because the obvious tool, Inspect, shows the page after JavaScript has run. You need the raw HTML instead:

  1. Open a product page.
  2. Press Ctrl+U (Windows) or ⌥+⌘+U (Mac), or right-click and choose View page source. This opens the HTML exactly as the server sent it.
  3. Press Ctrl+F / ⌘+F and search for:
    • the price, written as it appears on the page (e.g. 24.00)
    • a sentence from one of your reviews
    • a key fact from the description or specs (a material, a dimension)
    • the size guide or another tab's content

Reading the result: if you can find it in the source, crawlers can read it. If it's on the page but not in the source, it's loaded by a script, and crawlers that don't run JavaScript won't see it.

Why reviews are the usual casualty. Many review apps load reviews into the page with JavaScript after it opens. Shoppers see them, but the source often contains only an empty placeholder. If an assistant can't read any reviews, it has nothing to draw on when it compares your product with a competitor's.

3 Is the page telling them to stay away? Check the directives

Still in the page source, search for robots and nosnippet:

  • <meta name="robots" content="noindex"> keeps the page out of search results altogether.
  • nosnippet stops Google from showing text from the page in results, and that includes using it in AI Overviews and AI Mode.
  • data-nosnippet on an element hides just that part of the page from snippets.

These are sometimes added by an app or theme setting and then forgotten. On a product page you want found, none of them should be there.

+ Optional: test as a crawler with curl

If you're comfortable with a terminal, you can request a page with a crawler's user-agent name to see whether anything in front of your store refuses it:

curl -I -A "OAI-SearchBot" https://yourstore.com/products/your-product

A 200 status means the page was served. A 403, a 429 or a challenge page suggests a bot-protection rule is turning crawlers away. This doesn't perfectly imitate the real crawler (some firewalls verify crawlers by their IP address), but it catches the common problems.

What usually goes wrong on Shopify

ProblemHow you'll spot itFix
A copied "block AI bots" snippet in robots.txt.liquidAI crawlers listed by name with Disallow: /Decide which crawlers you actually want to block (see below). Keep search and on-request crawlers allowed.
Reviews loaded by scriptReview text missing from the page sourceCheck your review app's settings for an option that puts reviews or a review summary in the page HTML. At minimum, make sure your star rating and review count are in your structured data.
Price rewritten by an app (currency, subscription or discount apps)Price missing from the source, or a different price in the sourceMake sure the theme still outputs the base price in HTML and in structured data. Check the app's settings for a server-rendered option.
Key facts in tabs, pop-ups or imagesSpecs or size guide missing from the source, or only in an image or PDFPut the key facts in the product description or a metafield the theme outputs as text. Keep images as an addition, not the only copy.
Bot protection or geolocation redirectscurl returns 403, 429 or a redirect to another country's storeAllow-list known search and AI crawlers in the app or firewall, and don't force-redirect crawlers by IP location.
A leftover noindex or nosnippetDirective found in the page sourceFind the app or theme setting that adds it and remove it on pages you want found.
Storefront password still onEveryone, crawlers included, sees the password pageRemove it under Online Store → Preferences once you launch.

Editing robots.txt on Shopify, safely

Shopify generates robots.txt from a theme template called robots.txt.liquid. It doesn't exist until you create it: Online Store → Themes → … → Edit code, then under Templates choose Add a new template and pick robots.

The safe pattern is to keep Shopify's default rules and add yours after them. Shopify's default template is:

{% for group in robots.default_groups %}
  {{- group.user_agent }}

  {%- for rule in group.rules -%}
    {{ rule }}
  {%- endfor -%}

  {%- if group.sitemap != blank -%}
    {{ group.sitemap }}
  {%- endif -%}
{% endfor %}

To block a single crawler, for example a training crawler you've decided to keep out, add a new group after the loop:

User-agent: GPTBot
Disallow: /
Be careful with this file. A mistake in robots.txt can block search engines from your whole store. Don't delete the default loop, don't add Disallow: / under User-agent: *, and check the result at yourstore.com/robots.txt right after saving. The template belongs to the theme, so if you switch themes, re-create it in the new one.

AI shopping agents: a different route in

Crawlers aren't the only way AI reads your store any more. Shopify now gives AI shopping agents a structured way to search your catalogue and check out. Open yourstore.com/llms.txt and you'll probably see Shopify's own "agent instructions" file pointing agents to it.

Agents using that route don't read your theme at all. They get your product data straight from Shopify: title, description, product type, category, tags, variants and options. So the quality of the data in your Shopify admin decides what they see.

When we looked at what this catalogue returned for a real store we use for testing (61 products sampled), a lot was missing that a shopper on the website would never notice:

  • the category field came back empty for every product, and the product type was blank
  • about half the products with a single variant called "Default Title"
  • more than a third of products with no tags
  • no rating data for any product

None of that affects how the store looks. All of it affects how well an agent can match a product to a request like "a gift under $50 for someone who likes hiking". The fix is ordinary product hygiene: set the standard Category on every product, fill in product type and tags, name your variant options properly, and write descriptions that state the facts. Our Shopify Product SEO Checklist covers each of these.

Should you block AI crawlers at all?

It depends on what you want. Here are the three common positions:

ApproachWhat it meansGood for
Allow everything (Shopify's default)Training, search and on-request crawlers can all read the storeMost stores. Maximum chance of being found, cited and recommended.
Block training, allow answersDisallow GPTBot, ClaudeBot, CCBot and similar, but keep OAI-SearchBot, PerplexityBot, Claude-SearchBot and the on-request fetchersStores with original content (photography, detailed guides) they don't want used for training, but who still want to appear in AI answers
Block all AI crawlersDisallow every AI crawler by nameRarely the right call for a store that wants sales. You'll largely disappear from AI assistants' answers and links.

For a store, the second option is usually the most you'd want: your products stay findable, and your content isn't collected for training. Whichever you choose, make it a deliberate decision rather than the side effect of a snippet copied from a forum.

A 15-minute fix list

#Do thisWhere
1Read your robots.txt and note any AI crawler rulesyourstore.com/robots.txt
2Decide: allow everything, or block training onlyYour call (table above)
3Search one product page's source for price, a review sentence and a key specCtrl+U, then Ctrl+F
4Check for noindex and nosnippet on that pagePage source
5If reviews are missing from the source, look for a server-rendered option in your review appReview app settings
6Move any facts that only live in images or tabs into the description or a metafieldProduct editor / theme
7Set Category, product type, tags and variant option namesProduct editor
8Repeat steps 3–4 on a collection page and the home pagePage source

FAQ

If I block GPTBot, will ChatGPT stop recommending my store?

Not by itself. OpenAI uses GPTBot for training and OAI-SearchBot for ChatGPT's search features, and documents them separately. Blocking GPTBot while allowing OAI-SearchBot keeps you eligible to appear in ChatGPT's search results. Blocking OAI-SearchBot is what removes you.

Do AI crawlers run JavaScript?

Google's crawler renders JavaScript, and Bing's does to a large extent. Many AI crawlers have been observed fetching only the raw HTML. Since you can't be sure which ones render, don't rely on it: anything important should be in the HTML.

Does llms.txt control which crawlers can read my store?

No. llms.txt is a guide that points AI tools to useful content. It doesn't grant or refuse access. Access is controlled by robots.txt (and by anything sitting in front of your store, like a firewall).

Can I see which AI crawlers visit my store?

Shopify doesn't give merchants raw server logs, so you can't see every crawler request. You can see the visits AI assistants send you in your analytics: look for referrers such as chatgpt.com, perplexity.ai and copilot.microsoft.com. Our guide to checking whether AI assistants recommend your store explains how.

Where Yieldso helps

The free AI Crawler Checker runs checks 1 and 3 on any store in seconds. In the Yieldso app, every plan also checks your live product pages for prices, descriptions and reviews that only appear after JavaScript runs. It lets you edit robots.txt from the app with one-click revert (this needs a theme permission you grant only if you use it), counts which AI crawlers fetch your llms.txt, and shows the visits AI assistants send your store.

Score your Shopify store — free