Which method should I use?
| What you want to hide | Method | Code needed | Also hides from your store search? |
|---|---|---|---|
| One page (for example an old sale page) | seo.hidden = 1 | No | Yes |
| One blog post | seo.hidden = 1 | No | Yes |
| One product | seo.hidden = 1, but think first | No | Yes, shoppers cannot find it in search |
| All tag pages | Liquid in theme.liquid | One line | No |
| Vendor and type pages | Liquid in theme.liquid | One line | No |
| Blog tag pages | Liquid in theme.liquid | One line | No |
| Cart, checkout, account, search | Nothing, Shopify blocks them | No | n/a |
Method 1: the seo.hidden metafield (no code)
Shopify documents seo.hidden as a way to hide a page, blog post or product from sitemaps, search engines and your online store search (Shopify).
Create the definition once:
- In the Shopify admin go to Settings > Metafields and metaobjects > Metafield definitions.
- Choose the resource type: Pages, Blog posts or Products.
- Click Add definition. Name it "Hide from search engines".
- In Namespace and key, type exactly
seo.hidden. - Set the type to Integer and save.
Use it on an item:
- Open the page (Online Store > Pages) or post (Content > Blog posts).
- Scroll to the Metafields section, find "Hide from search engines" and enter 1.
- Save. Then view the live page source and search for
noindexto confirm, and check that the URL left /sitemap.xml.
To bring a page back, clear the value and request indexing in Search Console > URL inspection.
Why to think twice on products: a product with seo.hidden = 1 also disappears from your store's own search box. For a product you still sell, that costs sales. For a product you stopped selling, a 301 redirect to its closest replacement is usually better than hiding it.
Method 2: one Liquid line for whole page types
Shopify creates some page types you never asked for. These point their canonical at themselves (we checked a live store on October 14, 2026), so they can be indexed as thin pages.
- Online Store > Themes > three dots > Duplicate your live theme.
- On the copy: three dots > Edit code >
layout/theme.liquid. - Inside
<head>, add the lines you need:
Collection tag pages (/collections/shoes/red):
{% if template contains 'collection' and current_tags %}
<meta name="robots" content="noindex, follow">
{% endif %}Vendor and product type pages:
{% if request.path contains '/collections/vendors' or request.path contains '/collections/types' %}
<meta name="robots" content="noindex, follow">
{% endif %}Blog tag pages (/blogs/news/tagged/tips):
{% if template contains 'blog' and current_tags %}
<meta name="robots" content="noindex, follow">
{% endif %}- Preview a tag page on the copy, view source, confirm one robots tag. Publish.
follow lets Google keep following the product links on those pages, so your products still get found.
Before you noindex every tag: some tags match real searches, like "red running shoes". For those, a proper collection with its own title, meta and intro text will rank far better than either a tag page or nothing. Make the collection, then noindex the tag.
The mistake: noindex plus robots.txt
Many Shopify guides say to noindex tag or vendor pages and also add Disallow lines for them in robots.txt.liquid. Do one or the other. Google's documentation is clear: if robots.txt blocks a page, Google cannot crawl it, so it never sees the noindex tag, and the URL can stay in results, just without a description (Google).
- Want a URL out of Google: noindex, and let it be crawled.
- Want Google to stop crawling a huge set of junk URLs, and you do not mind a few staying indexed for a while: robots.txt.
How to check it worked
- View source on the page and search for
noindex. There should be exactly one robots tag. - In Search Console, use URL inspection > Test live URL. It should say "Excluded by 'noindex' tag".
- After Google recrawls, the page moves to Indexing > Pages > "Excluded by 'noindex' tag". This can take days or weeks for pages Google visits rarely.
What not to noindex on Shopify
- Collection-scoped product URLs (/collections/x/products/y): they already canonicalize to the product.
- Paginated collections (?page=2): they help Google reach products deeper in the list.
- Products you still sell, unless you have a strong reason.
- Policy pages: Shopify's default robots.txt already blocks /policies/. That is fine and needs no action.
How to use this with an AI assistant
Connect SEOmatic at https://seomatic.ai/mcp and ask: "Use check_site on mystore.com and list any page that carries a noindex tag. After I connect Search Console, run site_audit and show me noindex pages that still get impressions." check_site is free and needs no sign-in. Nothing changes on your store until you approve it.
More from the Shopify SEO checklist
- The checklistSEO for Shopify: the 2026 checklist, with the exact admin path for every fix
- GuideShopify duplicate product URLs: what is actually broken, and the one fix that matters
- GuideShopify URL redirect not working? Start here
- GuideShopify tag pages and SEO: which to keep, which to kill
- GuideShopify robots.txt: what the default file blocks and when to edit it
- GuideHow to change your Shopify home page SEO title and meta description
- GuideWhat to do with a deleted Shopify product's URL


