/ โ† Agent Readiness Fixes / Shopify
In this guide
  1. Where agent readiness breaks on Shopify
  2. Store access and robots.txt
  3. App content that crawlers never see
  4. Product pages a crawler can use
  5. The fix, step by step
  6. The rest of the audit on Shopify
  7. Staying ready through theme and app changes
  8. Questions and answers

Where agent readiness breaks on Shopify

A Shopify page is built on Shopify's servers by your theme's Liquid templates, then delivered through Shopify's CDN. That gives you complete server-rendered HTML for the theme's own content, without any configuration. What arrives in that HTML, and whether a crawler is allowed to ask for it, is still up to you. The usual trouble spots are:

AreaWhat goes wrongWhere to change it
Store accessPassword protection left on, so every request gets the password pageAdmin: Online Store, Preferences
robots.txtCustom rules added to robots.txt.liquid that block more than intendedTheme code: templates folder
App contentReviews, Q&A, size charts and bundles injected by script after loadApp settings and theme app blocks
Product textShort or supplier-copied descriptions; specs only in images or tabsProduct editor, metafields, theme sections
URLsProducts reachable through collection paths, variant parameters and market subfoldersTheme canonical tag, Markets settings
Structured dataTheme and SEO app both output Product markup, sometimes disagreeingTheme snippets and app settings

Server speed is rarely the issue on Shopify, because you do not run the servers. If the audit reports slow rendering, it is almost always the amount of app script and the content that waits for it.

Store access and robots.txt

The password page

New stores are password protected until they are launched, and some owners switch it back on during a redesign. While it is on, every crawler receives the password page instead of your content. Check under Online Store, Preferences, and fetch your home page with curl to make sure the response is your store rather than a login form.

Editing robots.txt the Shopify way

You cannot upload a robots.txt file to a Shopify store. Shopify generates a default one with sensible rules, such as keeping crawlers out of the basket, checkout, customer accounts and internal search results. To change it, you add a robots.txt.liquid template to your theme, which then controls the output. The template Shopify documents as the starting point reproduces the default rules:

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

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

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

Anything you add goes after that loop. For example, if you decide to opt out of a particular training crawler while leaving AI search crawlers alone, you add a group for that crawler's documented user agent name:

User-agent: ExampleTrainingBot
Disallow: /
โš ๏ธ A crawler follows only the most specific group that names it. If you add a group such as User-agent: SomeAIBot with Allow: /, that bot no longer reads the default rules for all user agents, so it is now allowed into the basket and search pages too. Copy the relevant default disallow lines into any bot-specific group you add.

If the audit says a crawler is blocked, open /robots.txt on your live domain and check whether a robots.txt.liquid template exists in the theme. Themes bought from third parties and edits made by past developers are the usual source of surprise rules. Which crawlers to allow is a business choice; the crawler access guide explains the options, and the Shopify robots.txt and sitemap guide covers the template in more depth.

App content that crawlers never see

Shopify apps usually add content to your storefront in one of two ways. Some use theme app blocks or Liquid snippets that render on Shopify's servers, so the output is in the HTML. Many others add a script that runs in the browser, calls the app's own servers and inserts the content afterwards. For a crawler that does not run scripts, that content does not exist.

Content commonly added this way includes:

To check a product page, fetch it with curl or view the source (not the element inspector) and search for a phrase from a review, a size-guide row and an FAQ answer. Whatever is missing is script-loaded. Then check the app's settings and documentation: some review apps can write a summary to product metafields or render a server-side block, which puts at least the rating and a few reviews in the HTML. Where an app has no such option, and the content matters, consider whether the same information can live in the product itself.

๐Ÿ’ก Uninstalled apps can leave script tags and snippets in your theme. While you are checking, search the theme code for app names you no longer use and remove their leftovers. It reduces script weight and removes empty containers from the HTML.

Product pages a crawler can use

An AI assistant answering "which waterproof walking boots have a wide fit under ยฃ150" needs facts in text: materials, sizes, fit, weight, care, price. On many stores those facts are in a supplier image, a PDF or a tab filled by an app. Put them in the page as text instead.

Specifications in metafields

Create product metafield definitions in the admin under Settings, Custom data, for the specifications you sell on: material, dimensions, weight, compatibility, care. Fill them for each product, then connect them to text or table blocks in the theme editor using dynamic sources. The values are rendered by Liquid, so they arrive in the HTML, stay consistent across products and can also feed your structured data.

Descriptions that answer questions

Descriptions copied from a supplier appear word for word on every store that sells the product, and they rarely say who the product suits. Rewrite the first paragraph for your best sellers so it states plainly what the product is, who it is for and what distinguishes it, then follow with the detail. For a fictional store, Fernside Outdoor, that might read: "A waterproof leather walking boot in wide and standard fits, for day walks on wet ground, with a grippy rubber sole and a 12-month guarantee."

Collection and blog pages

Collection pages with only a product grid give a crawler little to work with. A short introduction explaining what is in the collection and how to choose helps. On the blog, Shopify records the staff member who wrote each article, but most themes show little about them; the author and trust signals guide covers what to add.

The fix, step by step

Step 1

Confirm the store is open and crawlable

In the Shopify admin, go to Online Store, Preferences and check that password protection is off for the live store. Then fetch the home page, a product and a collection with curl using an AI crawler user agent and check each returns status 200 with your real content. If you use a separate proxy, firewall or bot-management app in front of the store, check its settings for rules that block or challenge crawlers.

Step 2

Review the live robots.txt and its template

Open /robots.txt on your domain and read every group. In the theme code editor, check whether templates/robots.txt.liquid exists. If it does, compare its extra rules with what you actually want, remove any that block crawlers you intend to allow, and copy default disallow lines into any bot-specific groups. Make changes on a duplicate theme first, then publish and recheck the live file.

Step 3

Find app content that loads by script

View the source of a product page and search for text from each app-driven block: a review, a question, a size-guide row, an FAQ answer. List the blocks that are missing and which app provides each. Check each app for a server-rendered option, such as a theme app block or metafield output, and switch it on. Remove leftover script tags and snippets from apps you have uninstalled.

Step 4

Put specifications into the theme as text

Create product metafield definitions under Settings, Custom data, for the specifications customers ask about, and fill them for your main products. In the theme editor, add a text or collapsible block to the product template and connect it to the metafields with dynamic sources. Collapsible blocks in most themes keep their content in the HTML. Retire specification images once the same facts appear as text.

Step 5

Rewrite the first paragraph of key products

Start with your best-selling and highest-margin products. Replace supplier opening lines with one or two sentences that say what the product is, who it suits, the key measurements or materials and anything that sets it apart, using the words customers use. Keep the rest of the detail below. Check the product title is descriptive rather than just a brand name and model code, and make sure the same facts appear in the price and variant options.

Step 6

Check canonicals, variants and markets

Open a product through a collection link and view the source: the canonical tag should point to the plain /products/ address, not the collection path. Do the same with a ?variant= address. If you sell through Markets with subfolders or separate domains, confirm each version has its own canonical and hreflang tags. Check the theme and any SEO app are not both printing canonical or Product markup.

Step 7

Retest a product, collection and article

Run the Agent Readiness Audit on one product, one collection, one blog article and the home page. Fetch each again with curl and confirm the specifications, the new opening paragraph and at least a summary of reviews now appear in the raw HTML. Keep a note of the theme version and installed apps alongside the results, so you can compare after the next theme update or app installation.

The rest of the audit on Shopify

Several findings work the same on Shopify as anywhere else. Use the general guides for these, with the Shopify notes below:

Staying ready through theme and app changes

  1. Before installing an app that adds storefront content, ask whether it renders in the HTML or loads by script, and test it on a duplicate theme.
  2. After each theme update, check that robots.txt.liquid, the canonical tag and your structured data survived, since updating a theme can mean moving to a fresh copy of its code.
  3. Keep specifications in metafields so a theme change keeps the data, and you only need to reconnect the blocks.
  4. Re-run the Agent Readiness Audit on a product, a collection and an article every few months and after any major store change.

If you also want AI agents to be able to add to basket or check out, rather than read your pages, that is a separate question covered in the Shopify agent compatibility guide.

Questions and answers

1. Does Shopify block AI crawlers by default?

Shopify generates a default robots.txt with rules that keep all crawlers out of areas such as the basket, checkout, customer accounts and internal search. Those rules are meant to stop crawlers wasting time on pages with no public value. Check your own live robots.txt file to see exactly what applies to your store, because a robots.txt.liquid template in your theme, or a third-party proxy or firewall in front of the store, can add further blocks that the default file does not contain.

2. How do I edit robots.txt on Shopify?

In the theme code editor, add a new template and choose robots, which creates robots.txt.liquid. It starts with Liquid code that outputs Shopify default rules, and you add your own lines after that loop. Shopify recommends keeping the defaults, and its support team may not be able to help with custom rules, so test on a duplicate theme, keep the change small and check the live robots.txt file after you publish the theme.

3. My reviews app shows stars, so why does the audit not see reviews?

Many review apps insert their widgets with a script that runs in the visitor's browser after the page loads. People see the reviews; a crawler that reads only the HTML from the server does not. Check the page source for a phrase from one review to confirm. Then look in the app settings for an option that writes review data to metafields or renders a server-side block, which puts at least the rating and some review text into the HTML.

4. Are collapsible tabs on product pages a problem for AI crawlers?

It depends on how they are built. The collapsible blocks in most current Shopify themes put the full text in the HTML and only hide it visually until clicked, so crawlers receive it. Tabs added by some apps load their content from the app servers only when opened, so the text is not there at all. View the page source and search for text from inside a closed tab to find out which kind you have.

5. Should I rewrite supplier product descriptions for AI?

For your most important products, yes. Supplier descriptions are often identical across many stores, rarely say who the product suits and often leave the key facts in an image. A clear opening paragraph with what the product is, who it is for and its main measurements or materials gives any reader, human or machine, a precise summary to work from. There is no need to rewrite a large catalogue at once; start with best sellers.

6. Can I add llms.txt to a Shopify store?

Not as a simple file upload, because Shopify does not let you place files at the root of your domain. Workarounds include serving the content from a page or template and redirecting the llms.txt address to it, or using an app built for the purpose. Remember that llms.txt is an optional proposal with limited confirmed support among AI providers, so fix store access, app content and product text first. The Shopify llms.txt guide covers the options.

7. Will these changes affect my Google Shopping or product listings?

They should only help. Server-rendered specifications, accurate structured data and a single canonical address per product are the same things Google uses for product results and Merchant Center matching. The main risk is structured data changes: if you remove a duplicate Product block, make sure the one that remains still includes price, availability and identifiers such as GTIN where you have them, and check Search Console for new errors after publishing.

Check what AI crawlers can read on your Shopify store

The Agent Readiness Audit requests your page with real AI crawler user agents, checks robots.txt and llms.txt, reviews JSON-LD coverage and semantic HTML, tests how much depends on JavaScript and measures how easily the content can be extracted.

Open Agent Readiness Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All Agent Readiness Fixes  ·  Shopify robots.txt and Sitemap Fixes  ·  llms.txt on Shopify  ·  AI Agent Compatibility on Shopify  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.