Back to blog
guides11 min read

Shopify robots.txt: The Default Is Fine Until You Have Tag Pages

Shopify's generated robots.txt is right for most stores. Here is what it contains today, the six cases that justify robots.txt.liquid, and how to add rules.

Aditi ChaturvediSeptember 25, 2026
Shopify robots.txt: fine until tag pages, in 4 steps: The default blocks the obvious; It leaves five types open; Edit via robots.txt.liquid; Never block revenue pages.
TL;DR

Shopify writes your robots.txt for you and, for most stores, gets it right. Customise it only when one of these applies:

  • The default already blocks the obvious: Cart, checkout, account, sorted views, multi-tag and multi-filter collection URLs, theme previews. The current file opens with Allow: / and carries 23 Allow and 40 Disallow lines in its main group.
  • It leaves five URL types open: Single-tag pages (/collections/all/red), vendor and type collections (/collections/vendors?q=), single-filter URLs, internal search (/search) on the current default, and every AI crawler.
  • Customise through robots.txt.liquid, never plain text: Keep the for group in robots.default_groups loop, append your Disallow lines inside the User-agent: * group, and add crawler-specific groups after the loop. Shopify keeps updating the defaults for you.
  • Never block products, collections or theme assets: A Disallow on /products/, /collections/ or /cdn/shop/ removes revenue pages from search or stops Google rendering them. Test one money page after every change.

"shopify robots.txt" gets 110 US searches a month at a keyword difficulty of 11 (DataForSEO, US, September 2026). Small query, expensive mistakes.

Most Shopify robots.txt advice tells you to customise a file that is already right. I fetched the live default from nine stores this week. This guide quotes it, names the six cases that justify a robots.txt.liquid template, and shows how to add rules without losing Shopify's updates. Try CrawlRaven free: 1 site, no credit card →

The short answer: leave it alone unless one of six cases applies

Almost every Shopify robots.txt problem I see in a crawl started with someone editing a file that was already right. The nine stores I fetched on September 25, 2026 all serve a generated file that blocks cart, checkout, account, sorted views and multi-filter URLs. The ones in trouble had a hand-written template.

So the answer to "should I edit my Shopify robots.txt" is no, unless you can name the URL type you are blocking. Six qualify: single-tag pages, vendor and type collections, single-filter URLs you never want indexed, internal search on the current default, a second market domain, and AI crawlers you have decided to refuse.

Everything below is quoted from live files and Shopify's own documentation. That matters, because Shopify quietly runs two versions of the default, and the one your store prints depends on whether a theme template exists.

Key Takeaways

  • →Five URL types stay open: Single-tag pages, vendor and type collections, single-filter URLs, internal search (on the current default) and every AI crawler. Those are the only reasons to write a template.
  • →Two defaults are live: A robots.txt.liquid template that loops robots.default_groups still prints the legacy set, with Disallow: /search and /policies/ and extra AhrefsBot and Nutch groups. Deleting the template restores the current file.
  • →Append inside the loop, never replace it: Add rules to the * group with an if on group.user_agent.value, put crawler groups after the loop, and never block /products/, /collections/ or /cdn/shop/.

What Shopify's default robots.txt contains today

I fetched /robots.txt from tentree.com, colourpop.com, brooklinen.com, mvmt.com, deathwishcoffee.com, allbirds.com, gymshark.com, kyliecosmetics.com and rothys.com. Five of them serve the same file once you strip the domain and shop ID. That is the current default, and its User-agent: * group runs like this:

  • An explicit Allow: /, then 22 Allow lines that rescue product, collection, page and blog handles containing the words account, orders or checkout (for example Allow: /products/checkout).
  • Private and transactional: Disallow: /admin, /cart/, /checkout, /checkouts/, /orders and /account, with Allow: /account/login as the exception.
  • Shopify-internal endpoints: Disallow: /services, /sf_* and /cdn/wpm/*.js (the web pixels script).
  • AJAX surfaces: Disallow: /cart.js and /recommendations/products.
  • Filter, sort and preview traps: Disallow: /collections/*sort_by*, /collections/*+*, /collections/*filter*&*filter*, /blogs/*+*, and the ls, oseid, preview_theme_id and preview_script_id parameters.
  • One more group and a sitemap: a User-agent: adsbot-google group repeating the checkout and internal rules, then Sitemap: https://yourstore.com/sitemap.xml.

That is 23 Allow and 40 Disallow lines in the main group, two groups in total. The file also opens with a comment block for AI agents (agents.md, UCP endpoints), which you never need to edit.

Default rule groups

What Shopify's generated robots.txt protects

Current default, * group
23 Allow / 40 Disallow
Legacy groups, * group
0 Allow / 44 Disallow
Groups in the file
2 current / 5+ legacy
Rule family
Example rules
What it protects
Private and transactional
/admin/cart//checkout/checkouts//orders/account
Pages unique to one customer. Nothing here should ever rank.
Shopify-internal endpoints
/services/sf_*/cdn/wpm/*.js
Platform plumbing and the web pixels script, not storefront pages.
AJAX surfaces
/cart.js/recommendations/products
JSON endpoints the theme calls; a crawler gets nothing useful from them.
Filter, sort and preview traps
/collections/*sort_by*/collections/*+*/collections/*filter*&*filter*/*?*preview_theme_id=*
Sorted views, multi-tag and multi-filter combinations, theme previews.
Legacy only
/search/policies//apple-app-site-association/.well-known/shopify/monorail
Still printed by robots.txt.liquid templates that loop the default groups.
Fetched from live Shopify stores on September 25, 2026. Counts are for the User-agent: * group; the current default adds one adsbot-google group, the legacy set adds adsbot-google, Nutch, AhrefsBot and AhrefsSiteAudit groups.

Two default files are live: current and legacy

The other four stores print the older rule set: no Allow lines, a first line of Disallow: /a/downloads/-/*, plus Disallow: /search, /policies/, /apple-app-site-association and /.well-known/shopify/monorail. On rothys.com, the cleanest example, that is 44 Disallow lines, followed by separate groups for Nutch, AhrefsBot and AhrefsSiteAudit.

Shopify's Help Center page on editing robots.txt.liquid explains the split: a template that outputs the default rule groups "can include rules that the default file no longer has, such as Disallow: /search and Disallow: /policies/", and deleting the template restores the current default.

What to look forCurrent default (no template)Legacy groups (template loops default_groups)
Opening ruleAllow: / plus 22 Allow exceptions for handles like /products/accountNo Allow lines; starts at Disallow: /a/downloads/-/*
Disallow lines in the * group4044
Groups in the file2 (*, adsbot-google)5 (*, adsbot-google, Nutch, AhrefsBot, AhrefsSiteAudit)
Internal search /searchCrawlableDisallow: /search
Policy pages /policies/CrawlableDisallow: /policies/
Sorted viewsDisallow: /collections/*sort_by*Same
Multi-tag pagesDisallow: /collections/*+*Same
Multi-filter pagesDisallow: /collections/*filter*&*filter*Same
Single-tag, vendor, type, single-filter URLsCrawlableCrawlable
AI crawlersNo group, so allowedNo group, so allowed

The one-line test: if your file contains Disallow: /search, you have a template. On the four legacy stores, that search block is the only legacy rule worth keeping.

Why the default is right for most stores

A robots.txt file has one job: stop crawlers spending requests on URLs that will never rank. Google's introduction to robots.txt is explicit that it is "not a mechanism for keeping a web page out of Google". On a store, the URLs worth blocking fall into three buckets, and the default covers all three:

  • Per-customer pages. Cart, checkout, orders, account. Blocked in every version of the file.
  • Infinite combinations. Sort orders, stacked filters, stacked tags. Google's faceted navigation guidance recommends robots.txt for exactly this, and the default blocks the combinations that explode. The platform-agnostic order for facets, pagination and crawl budget is in technical SEO for ecommerce.
  • Platform plumbing. AJAX endpoints, preview parameters, the pixels script. Shopify blocks these before you would think to.

It is also maintained: the current file dropped /policies/ and gained the Allow exceptions without anyone touching a theme. And a store with a few hundred products is nowhere near a crawl budget problem; our SaaS SEO vs ecommerce SEO comparison covers when facets start to matter.

Opinion· Aditi's take
In the Shopify crawls I read through CrawlRaven's ecommerce mode, robots.txt is rarely the finding. Collection-path duplicates, blank collection descriptions and app scripts are. When it is, it is usually a plain-text template pasted from an old blog post, and the fix is to delete it. Write a template when you can point at the URL type it blocks.

The six cases that justify a robots.txt.liquid template

Each case names a URL type the default leaves crawlable, gives the rule, and says when noindex is the better tool. Google's noindex documentation sets the constraint: a page blocked by robots.txt can never show Google its noindex tag, so the two do not combine.

Tag pages under /collections/*/tag-handle

Shopify's tag filtering documentation describes the URL: append /tag-handle to a collection, so /collections/frontpage/new, and stack tags with a plus sign, so /collections/frontpage/new+sale. The default blocks the stacked form only, because Disallow: /collections/*+* needs a plus in the path. A single-tag page has none: colourpop.com/collections/all/vegan returned a crawlable 200 when I checked.

With 30 tags and 20 collections that is up to 600 near-duplicate listings, each carrying the collection's copy and a subset of its products. Block by tag handle, and pin the end of the URL:

Disallow: /collections/*/red$
Disallow: /collections/*/red?*
  • The $ matters. Without it, /collections/*/red also swallows /collections/shirts/products/red-dress, and those collection-path product URLs must stay crawlable so Google can read their canonical.
  • The second line catches paginated tag pages, which carry a query string.

If Search Console already shows tag URLs as indexed, blocking leaves them indexed without a snippet. Add a noindex on current_tags in collection.liquid first (our Shopify SEO checklist shows how), and block once they drop out.

Vendor and type collections

Two Liquid filters generate listing pages you never created. url_for_vendor outputs /collections/vendors?q=Vendor+Name and url_for_type outputs /collections/types?q=health. Many themes link to both from product pages. Neither default blocks them; kyliecosmetics.com has added its own Disallow: */vendors?q=* for that reason.

Disallow: /collections/vendors?q=*
Disallow: /collections/types?q=*

Block these unless a vendor page is doing real work for a brand query; if it is, give it a proper collection with its own handle and copy.

Single-filter URLs the default leaves open

The default blocks /collections/*filter*&*filter*, which needs two filter parameters joined by an ampersand. A URL with one filter, such as /collections/shirts?filter.v.option.color=red, stays crawlable. That is deliberate: a single facet can be a legitimate landing page for "red shirts".

  • Keep crawlable: the two or three facets with search demand, ideally with their own copy.
  • Block by parameter: price and availability, which never carry intent. Disallow: /collections/*filter.v.price* and Disallow: /collections/*filter.v.availability*.
  • Leave alone: sort_by, already blocked.

This is the one rule the legacy file had and the current file dropped. /search?q=anything is an unbounded URL space with no unique content, and one linked query can send Googlebot into thousands of variants. Add it back:

Disallow: /search

Under Google's robots.txt specification, a path matches everything that starts with it, so /search also covers /search?q=shirt.

Staging previews and market domains

Shopify has no staging path on the live domain. Theme previews use preview_theme_id, already blocked, and a development store sits behind a password. The real case is Shopify Markets, where one theme serves several domains. Shopify's customize robots.txt guide shows host-specific rules through request.host:

{%- if request.host == 'example.fr' -%}
{{ 'Disallow: /en/' }}
{%- endif -%}

AI crawlers: GPTBot, ClaudeBot, PerplexityBot

No version of the default names an AI crawler, so every one follows the User-agent: * group and is allowed. Whether to change that is a business decision, and the vendors split their bots so you can refuse training without leaving AI search:

VendorTraining crawlerSearch and user agents to keep open
OpenAIGPTBotOAI-SearchBot (ChatGPT search), ChatGPT-User (user fetches)
AnthropicClaudeBotClaude-SearchBot (search), Claude-User (user fetches)
PerplexityNone; PerplexityBot is search onlyPerplexityBot (search), Perplexity-User (user fetches)

OpenAI's crawler overview says sites opted out of OAI-SearchBot "will not be shown in ChatGPT search answers". Anthropic's page separates ClaudeBot from Claude-SearchBot and Claude-User. Perplexity's page says PerplexityBot "is not used to crawl content for AI foundation models". To refuse training only, add groups after the loop:

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /
Block / don't block

Every Shopify URL type against the default robots.txt

URL type
Example
Default today
Verdict
Why
Product pages
/products/handle
Crawlable
Never block
The pages that make money. A Disallow here removes them from search.
Collection pages
/collections/handle
Crawlable
Never block
Head-term landing pages. Same rule as products.
Theme assets
/cdn/shop/t/…/assets/
Crawlable
Never block
Google needs the CSS and JavaScript to render and understand the page.
Single tag page
/collections/all/red
Crawlable
Block
One near-duplicate per tag per collection, with no unique copy.
Multi-tag page
/collections/all/red+sale
Blocked
Already handled
The default Disallow: /collections/*+* already covers it.
Vendor and type collections
/collections/vendors?q=Acme
Crawlable
Block
Auto-generated listings that duplicate your real collections.
Single filter
?filter.v.option.color=red
Crawlable
Your call
Keep the few facets with search demand; block the rest by parameter.
Two or more filters
?filter.v.a=1&filter.v.b=2
Blocked
Already handled
Covered by Disallow: /collections/*filter*&*filter*.
Sorted views
?sort_by=price-ascending
Blocked
Already handled
Covered by Disallow: /collections/*sort_by*.
Internal search
/search?q=shirt
Crawlable on current default
Block
Unbounded URL space; Shopify itself blocked it in the legacy file.
Cart, checkout, account
/cart/, /checkout, /account
Blocked
Already handled
Private per customer. Already in every default group.
AI training crawlers
GPTBot, ClaudeBot
No group, so allowed
Your call
Blocking them does not affect search or Shopify Catalog syndication.
AI search crawlers
OAI-SearchBot, Claude-SearchBot, PerplexityBot
No group, so allowed
Never block
Blocking them removes you from ChatGPT, Claude and Perplexity answers.
"Default today" is the generated file as fetched on September 25, 2026. Stores with an older robots.txt.liquid template may still block /search and /policies/.

What you must never block on Shopify

Three URL families carry the store, and each is one careless wildcard away from a Disallow:

  • /products/ and /collections/. The money pages. In an August 2025 Shopify Community thread a merchant was sure robots.txt was blocking products; the reply: "Robots.txt does not have any disallow line items blocking product pages". No default does.
  • /cdn/shop/ theme assets. Your theme's CSS and JavaScript are served from /cdn/shop/t/…/assets/ on your own domain; the default blocks only /cdn/wpm/*.js. Google's intro says not to block resources when their absence makes "the page harder for Google's crawler to understand".
  • A bare Disallow: /collections/* to catch tags. It catches every collection too, because Google matches on prefix. Write the tag path in full.
Wildcard matching: in plain English

Google reads a path as a prefix: Disallow: /collections matches /collections/shirts and /collections-guide. The * matches any run of characters and $ pins the end of the URL. When rules conflict, Google picks the longer, more specific one, and on a tie the less restrictive. A broad Disallow with a narrow Allow can still block more than you meant.

How to edit robots.txt.liquid without losing Shopify's defaults

Shopify's robots.txt.liquid template reference allows plain text but says "it's strongly recommended to use the provided Liquid objects whenever possible", because "the default rules are updated regularly". The five steps below keep the loop intact.

Step 1: Create the robots.txt.liquid template

  1. In Shopify admin, open Online Store, find the published theme, and click Edit code.
  2. Under Templates, click Add a new template, choose robots as the type, and click Create template.
  3. Shopify pre-fills it with the default loop. Do not clear it.
  4. Remove any earlier workaround first, such as Cloudflare rules rewriting robots.txt. The Help Center says to do this before editing.

Two cautions from the same page: it is an unsupported customisation, and uploading a theme through the admin does not carry robots.txt.liquid across (command-line uploads do).

Step 2: Keep the default groups loop

The generated template is short. Every rule group lives in the robots.default_groups array, and the loop prints the user agent, each rule, and the sitemap:

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

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

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

Only robots, group, rule, user_agent, sitemap and request resolve here; anything else leaves you a blank file.

Step 3: Append rules inside the * group

To add a Disallow to the main group, test the group's user agent inside the loop and print your lines after the rules. This is Shopify's own pattern from the customize guide, with the vendor, type and search rules from above:

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

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

  {%- if group.user_agent.value == '*' -%}
    {{ 'Disallow: /collections/vendors?q=*' }}
    {{ 'Disallow: /collections/types?q=*' }}
    {{ 'Disallow: /search' }}
  {%- endif -%}

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

Removing a default rule works in reverse: wrap the rule output in an unless on rule.directive and rule.value. Do it sparingly.

Step 4: Add crawler-specific groups after the loop

Bot groups go below the endfor as plain lines. Google's specification adds a detail that catches people out: a crawler follows only the most specific group matching it, and "user agent specific groups and global groups (*) are not combined".

  • Blocking a bot entirely is safe: User-agent: GPTBot, Disallow: /, and nothing else applies.
  • Giving a bot a partial group silently drops every * rule for it. A User-agent: Bingbot group with one extra Disallow lets Bingbot crawl your cart. Repeat the defaults inside it or do not create it.
  • Extra sitemaps can go anywhere: Sitemap: lines are not tied to a group.

Step 5: Test the live file, then a money page

  1. Save, then load yourstore.com/robots.txt in a browser. Look for Liquid error text, a blank file, or your rules inside the wrong group.
  2. Test one URL per new rule and one product URL against the file with the tester below.
  3. Wait a day, since Google caches robots.txt for up to 24 hours, then read Search Console.
Customise and test

The robots.txt.liquid loop: decide, edit, verify

Decide3 steps
Fetch /robots.txt
Read the live file, not the theme
Match URL types
Tag, vendor, filter, search, AI bots
Confirm a real case
If none applies, stop here
Edit4 steps
Create robots.txt.liquid
Templates folder, Add template, robots
Keep the default loop
for group in robots.default_groups
Append inside * group
if group.user_agent.value == '*'
Add bot groups after
User-agent: GPTBot, Disallow: /
Verify3 steps
Test a URL per rule
Robots.txt tester, indexability checker
Check a money page
One product, one collection, one asset
Watch Page indexing
Blocked by robots.txt should only grow where you meant it
Changes to robots.txt.liquid go live the moment you save the published theme. Google caches robots.txt for up to 24 hours, so test the live file, then wait a day before reading Search Console.

How to test a Shopify robots.txt change

Start with the robots.txt report in Search Console, which shows the fetched file, its last crawl and any parse warnings, and lets you request a recrawl. It does not test a URL against the rules, so pair it with three checks:

  • Rule-level: paste your store into the free robots.txt tester. It shows which search and AI crawlers are blocked, which sitemaps the file declares, and syntax Google would ignore.
  • Page-level: run one product, one collection and one tag URL through the page indexability checker, which reads the robots.txt rule, meta robots tag, X-Robots-Tag header and canonical together. Product and collection must come back crawlable.
  • Template-level: if you would rather not hand-write the Liquid, the Shopify robots.txt.liquid generator builds the loop with your tag, vendor, search and AI-crawler choices in the right group.

Then ask what the block was worth. CrawlRaven joins Search Console, GA4 and a 200-point crawl into one ranked plan, and in ecommerce mode it lists every URL Google reports as "Blocked by robots.txt" beside its clicks before the block. A tag page at zero clicks is a win; a collection at 400 is a rollback.

Lifetime licences launched at $49 for 3 sites. Lifetime pricing steps up as licenses sell, so check the pricing page for the current batch. See pricing.

Why pages are still blocked, or still indexed, after the change

Search Console still shows "Blocked by robots.txt" on a URL I unblocked. Google caches robots.txt for up to 24 hours. Confirm the live file, request a recrawl in the robots.txt report, then use URL Inspection. If the file still shows the old rule, your published theme is not the one you edited.

A tag page I blocked is still in the index. Expected. Google's intro says a disallowed URL "can still be indexed if linked to from other sites", and it now cannot see a noindex either. Remove the block, add noindex in the theme, wait for "Excluded by noindex", then block.

"Indexed, though blocked by robots.txt" on my homepage or a collection. Shopify's Help Center says this usually means Google's data is stale rather than the file being wrong. Fetch the file and confirm no Disallow matches the URL. If one does, that rule is the bug.

  • The file is blank or shows Liquid text. A typo in the template. Delete the template to restore the default, then re-add your lines one at a time.
  • An app rewrote the file. Some Shopify SEO apps install their own robots.txt.liquid. Check the template before assuming Shopify wrote it; the Shopify SEO audit walks through app-side changes worth reversing.

Shopify robots.txt FAQs

The default file

Does Shopify have a robots.txt by default? Yes. Every store serves a generated file at /robots.txt. The current version opens with Allow: / and disallows admin, cart, checkout, orders, account, sorted views, multi-tag and multi-filter collection URLs, theme previews and internal AJAX endpoints. Shopify updates it centrally.

Why does my file still block /search and /policies/? Your theme has a robots.txt.liquid template that prints the older rule groups. Shopify's Help Center names those two rules as ones the current default no longer has, and says deleting the template restores the current file. Save your custom lines first.

Editing robots.txt.liquid

Can you edit robots.txt on Shopify? Yes, through a theme template named robots.txt.liquid. In the code editor, add a new template of type robots. It renders the default groups through a Liquid loop, and you add rules around that loop. Shopify Support does not help with edits.

How do I reset it? Delete the template from the theme code editor. Shopify serves the current generated file again, including any rules it changed while your template was in place. Copy your custom lines somewhere first.

Blocking and indexing

Should I block AI crawlers on Shopify? Block training crawlers (GPTBot, ClaudeBot) if you want; keep OAI-SearchBot, Claude-SearchBot and PerplexityBot open or you leave those assistants' answers. Shopify Catalog syndication is unaffected either way.

Will blocking a URL remove it from Google? No. A blocked URL can still be indexed from links, and it shows without a description. Blocking also hides the page's noindex tag from Google. Noindex first, block after the URLs drop out.

Where robots.txt sits in the Shopify SEO plan

Robots.txt is a ten-minute job on a Shopify store, and for most stores the ten minutes are spent confirming the default and closing the tab. If Google has found your tag pages, vendor links or search box, write the template, keep the loop, and test a product page before you walk away.

Sources

Frequently asked questions

Does Shopify have a robots.txt file by default?

Yes. Every Shopify store serves a generated robots.txt at /robots.txt with no setup. The current default, fetched from live stores in September 2026, opens with Allow: / and disallows admin, cart, checkout, orders, account, sorted collection views, multi-tag and multi-filter collection URLs, theme previews and internal AJAX endpoints. Shopify updates it centrally.

Can you edit robots.txt on Shopify?

Yes, through a theme template called robots.txt.liquid. In the theme code editor, add a new template of type robots. The template renders the default rule groups through a Liquid loop, and you add or remove rules around that loop. Shopify Support does not help with edits, so test every change on a product and a collection URL.

Why does my Shopify robots.txt still block /search and /policies/?

Because your theme has a robots.txt.liquid template that prints the older rule groups. Shopify's Help Center notes that a template outputting the default groups can include rules the current default no longer has, naming Disallow: /search and Disallow: /policies/. Deleting the template restores the current file, so save your custom lines first.

Does Shopify's robots.txt block tag pages?

Only combined ones. The default rule Disallow: /collections/*+* blocks URLs that stack two or more tags, such as /collections/all/red+sale. A single-tag page like /collections/all/red has no plus sign and stays crawlable. If you use many tags, add Disallow lines for the tag paths you never want crawled, or noindex them in the theme.

Should I block AI crawlers like GPTBot on my Shopify store?

Block training crawlers if you want to, but keep search crawlers open. OpenAI uses GPTBot for training and OAI-SearchBot for ChatGPT search; Anthropic uses ClaudeBot for training and Claude-SearchBot for search; PerplexityBot only surfaces sites in Perplexity results. Blocking a search bot removes you from that assistant's answers. Shopify Catalog syndication is unaffected either way.

What should you never block in a Shopify robots.txt?

Product pages, collection pages and theme assets. A Disallow on /products/ or /collections/ removes revenue pages from search. Theme CSS and JavaScript are served from /cdn/shop/ on your own domain, and Google's documentation says not to block resources that make a page harder to understand. Check one of each after every edit.

Will blocking a URL in robots.txt remove it from Google?

No. Google's documentation says a URL blocked by robots.txt can still be indexed if other pages link to it, and it will show without a description. Blocking also stops Google seeing a noindex tag on that page. For URLs already in the index, noindex them first and block only after they drop out.

How do I test a Shopify robots.txt change?

Fetch yourstore.com/robots.txt in a browser and confirm your lines rendered without Liquid errors. Run a URL that should be blocked and one product URL through a robots.txt tester, then check the product with an indexability checker. Google caches robots.txt for up to 24 hours, so read Search Console's Page indexing report a day later.

How do I reset Shopify robots.txt to the default?

Delete the robots.txt.liquid template from the theme code editor. Shopify then serves the current generated file again, including any rule changes it made while your template was in place. Copy your custom lines somewhere first, because deleting the template discards them and you will have to add them back by hand.

Does a robots.txt change on Shopify take effect immediately?

The file changes the moment you save the published theme, and you can see it by reloading /robots.txt. Crawlers react later: Google caches robots.txt for up to 24 hours, and Search Console statuses move over days or weeks. OpenAI and Perplexity both say their systems take about 24 hours to reflect a change.

Aditi Chaturvedi
About the Author

Aditi Chaturvedi

15+ years of growing SaaS websites through SEO | Author, 200-Point Audit Checklist

Aditi has spent 15+ years helping SaaS companies scale organic traffic through technical SEO and content strategy. She is the author of the CrawlRaven 200-Point Audit checklist used by agencies and in-house teams to systematically improve search performance.

shopify robots.txtshopify robots.txt.liquidedit robots.txt shopifyshopify robots txt defaultshopify block tag pagesshopify disallowshopify ai crawlers robotsshopify seorobots.txtcrawl budget

Reader runs or audits a Shopify store and wants to know whether robots.txt is costing them rankings, and what a blocked path is actually worth before they touch the template.

See what a blocked path is costing before you edit the template

Search Console's indexing report, read against a full crawl of the store

CrawlRaven joins Search Console, GA4 and a 200-point crawl into one ranked plan, with an ecommerce mode for Shopify. It lists every URL Google reports as blocked by robots.txt next to the crawl's view of that URL, so you can tell a tag page from a money page. Free plan for 1 site, no credit card required.

CrawlRaven connects Google Search Console and GA4, runs 200+ technical SEO checks, and joins all three into one prioritized fix list, so you know what is broken, what it is costing you, and what to fix first.

✓ No credit card required·200+ checks·GSC + GA4 + full-site crawl
Free plan — no credit card

Stop exporting. Start shipping.

Connect Search Console, import your Ahrefs or Semrush lists, and get one ranked plan. Start free with one site, or grab a limited lifetime deal from $39, only 5 licenses left.

3
Data sources joined
200+
Point audit checks
1
Ranked plan out