How to Noindex Shopify Pages and Hide Them from Search Results
Shopify noindex settings keep specific pages or products out of search results while leaving them live on your store. Shopify gives you three built-in ways to do it: the seo.hidden metafield, the unlisted product status and a robots meta tag added through your theme code.
Each method hides a page from search engines, but they differ in what else they hide. Some also remove the page from your own store search and collections, which matters a lot for products you still want customers to find. Choosing the right one starts with knowing those differences.
Ways to Noindex Pages in Shopify
The table compares the main options. The biggest difference is how much of your store each one hides the page from, beyond search engines.
| Method | Works on | What it hides the page from | Best for |
|---|---|---|---|
seo.hidden metafield |
Products, pages and blog posts | Search engines, your sitemap and your online store search | Landing pages, test pages and outdated posts you want to keep live |
| Unlisted product status | Products only | Search engines, your sitemap, collections, store search and product recommendations | Private sale items, warranties and free gifts reached by direct link |
| Theme code | Any page, product or template you target | Search engines only | Hiding pages from Google while keeping them in store search and collections |
One common option isn’t on the list. Editing robots.txt.liquid controls which URLs search engines may crawl, not whether a page appears in results, and a page blocked from crawling can still be indexed if other sites link to it. Shopify’s default robots.txt is already set up for most stores, so it’s best left alone unless you have a specific reason.
Shopify doesn’t noindex your regular pages by default. It does keep crawlers out of areas such as the cart, checkout and customer accounts through its default robots.txt rules, so you don’t need to noindex those yourself.
The seo.hidden metafield is Shopify’s built-in switch for hiding a page from search engines without code. Setting it to 1 adds noindex and nofollow meta tags to the page, removes it from your sitemap and hides it from your store’s search, while the page stays viewable by direct URL.
Create the metafield definition
The metafield field doesn’t appear on your pages until you create its definition. You only need to do this once for each resource type:
- In your Shopify admin, go to Settings > Metafields and metaobjects.
- Under metafield definitions, choose Products, Pages or Blog posts, then click Add definition.
- Enter a clear name, such as “SEO Hidden,” and set the namespace and key to
seo.hidden. - Set the type to Integer, choose one value and set the maximum value to 1.
- Click Save, and repeat for any other resource types you need.
If Shopify says the namespace and key are already taken, an app is already using seo.hidden. In that case, you can add a definition for the existing metafield so you can manage it from the admin.
Hide a page and check it worked
Open the product, page or blog post you want to hide, enter 1 in the SEO Hidden field and save. To reverse it later, clear the value and save again.
Always confirm the result. Open the live page, view its source and search for noindex. Some merchants have reported cases where the tag didn’t appear as expected, so checking the page source is the only way to be sure.
Know what else it hides
Because seo.hidden also removes the page from your store’s search, customers can’t find a hidden product by searching your store. Products stay in collections, recommendations and third-party sales channels, but if internal search matters, use theme code instead.
The added nofollow also tells search engines not to follow the links on that page. That’s fine for a one-off landing page, but it’s a less suitable choice for a page whose links help search engines discover other parts of your store.
When to Use the Unlisted Product Status
Unlisted is a product status for items that should only be reached through a direct link. An unlisted product gets noindex,nofollow tags, is removed from your sitemap and Shopify Catalog, and disappears from collection pages, store search, predictive search and product recommendations.
It suits products such as a private-sale item sent to a customer list, a warranty or service add-on, or a free gift used in a promotion. Shoppers can still buy an unlisted product from its URL, and it works like an active product in the cart and at checkout.
There are two limits to keep in mind. Unlisted products can’t be published to the Shop channel, and if a product is both unlisted and has seo.hidden set, the unlisted status takes priority.
How to Noindex With Theme Code
Theme code is the right choice when you want a page out of search engines but still visible everywhere on your store. It adds a robots meta tag to the pages you choose and changes nothing else. Duplicate your theme before editing, then go to Online Store > Themes, choose Edit code and open theme.liquid in the layout folder.
Noindex a specific page or product
The simplest condition checks the page’s handle. Paste code like this inside the <head> section, replacing the handle with the one you want to hide:
{% if handle contains 'spring-campaign-landing' %}
<meta name="robots" content="noindex">
{% endif %}
Use the exact handle, and pick one that’s unique. Because contains matches part of a handle, a short handle such as “sale” could also hide other pages whose handles include that word.
Control noindex with a metafield of your own
For more than a handful of pages, a custom true-or-false metafield is easier to manage than editing code each time. Create a definition such as custom.noindex for collections or products, then add a condition like this to theme.liquid:
{% if template.name == 'collection' and collection.metafields.custom.noindex.value == true %}
<meta name="robots" content="noindex, follow">
{% endif %}
Turning the metafield on for a collection then hides it from search engines, while the collection stays in your store search and navigation. Using noindex, follow keeps the page out of results but still lets search engines follow its links to your products. A similar condition using product.metafields works for products.
Noindex a whole template
Some page types never need to appear in search, such as your store’s internal search results. Shopify’s own example uses a template condition:
{% if template contains 'search' %}
<meta name="robots" content="noindex">
{% endif %}
Use template-wide rules carefully. A condition aimed at the collection or product template would remove every collection or product from search results.
What to Noindex and What to Leave Alone
Noindex is for pages that serve a purpose on your store but don’t belong in search results. Good candidates include:
- Campaign landing pages built for ads or email, especially near-copies of other pages.
- A/B test variants that duplicate an existing page.
- Thank-you and confirmation pages that only make sense after an action.
- Tag-filtered collection views that duplicate a real collection.
- Internal search results, which create endless thin pages.
- Outdated blog posts you want to keep live for existing readers but not promote in search.
Leave your main collections, best-selling products and any page that already brings in search traffic indexed. Check Google Search Console before hiding a page, because noindexing one that ranks well removes that traffic.
Common Noindex Mistakes
A noindex tag is simple to add. A few common mistakes, though, can stop it working or hide more than you intended:
- Blocking the page in robots.txt as well. If crawlers can’t visit the page, they never see the noindex tag, and the page can stay in results.
- Combining noindex with a canonical tag to another page. The two send conflicting signals. Use a canonical to consolidate duplicates and noindex for pages that shouldn’t appear at all.
- Noindexing a whole template by accident. Double-check any condition that targets collections or products broadly.
- Forgetting hidden pages. Keep a list of noindexed pages, so you can remove the tag when a page should rank again.
- Expecting instant removal. Search engines drop a page only after recrawling it, which can take days or weeks. Use the URL Inspection tool in Search Console to request a recrawl for important pages.
Conclusion
Shopify noindex options cover most needs: seo.hidden for a quick, code-free hide, unlisted status for products reached only by link and theme code when a page should stay visible across your store. Matching the method to what you want hidden, and checking the page source afterward, keeps the right pages out of search without losing the ones that bring customers in. We hope this guide helps you use Shopify noindex settings with confidence.



