Shopify seo.hidden Metafield or Unlisted: Which Should You Use?
Choose between Shopify’s seo.hidden metafield and Unlisted status by checking collections, app recommendations, sales channels, and the purchase route you need.
Use the Shopify seo.hidden metafield when you want a published item excluded from search and the sitemap while retaining product visibility in collections and recommendations. Choose Unlisted for a product that should also disappear from Shopify-powered browsing surfaces, while remaining purchasable through its direct URL; check third-party apps separately.
That distinction matters when you sell a campaign-only item, a replacement part, or an add-on that should remain purchasable without appearing throughout the catalog. “Hidden” needs a more precise definition than “I cannot find it in search.” This guide explains the setting, its limits, and how to verify and later reverse a visibility change without guessing.
Decide where the product should still appear
Start with the merchant's intended experience. Write down whether customers should find the item through a collection, a recommendation widget, a campaign link, or another sales channel. Treat those as separate requirements. A setting that solves one discovery problem can be the wrong choice for another.
Shopify's searchability comparison distinguishes two useful arrangements. An Active product with seo.hidden can remain in storefront collections and recommendations while being excluded from search. Unlisted also removes it from Shopify-powered collections and recommendations. Neither arrangement turns the direct product URL into a private page.
- Keep an item in a curated collection, but out of search: consider
seo.hidden. Confirm that retaining collection visibility is intentional. - Sell through a shared link without ordinary catalog discovery: consider Unlisted, then test any app-controlled surfaces.
- Prevent purchases altogether: review product status and publication instead of relying on a search setting.
- Restrict who can view or buy: define an access-control requirement. A URL that someone can forward does not establish customer eligibility.
For example, imagine a replacement lid that existing customers need to buy from a support email. The support team wants the link to work, while merchandising wants the lid out of normal browsing. That is an illustrative requirement, not a client case study. It points toward Unlisted rather than using a search-only exclusion and assuming the catalog is covered.
If collection discovery matters to your merchandising plan, review our guide to structuring Shopify collection pages before removing products from those surfaces. Decide which customer journey you want the collection to support.
Three questions settle the choice
Must the item remain in a normal collection?
If yes, start by evaluating the metafield. A merchant may want customers browsing a specific collection to see an accessory without returning that accessory in general search. Write that desired exception into the review sheet. Do not choose Unlisted merely because it sounds like a stronger version of hidden; its broader exclusion would conflict with this merchandising requirement.
Must another sales channel keep selling it?
If yes, check the channel constraints before changing status. Unlisted is not the default answer for a multichannel item. A search-exclusion setting and a channel's publication requirements need separate review. Ask the channel owner to approve the intended outcome, particularly when the same product supports both a campaign and ordinary channel sales.
Is the requirement actually restricted access?
If yes, neither option alone meets it. “Send the link only to existing customers” describes how you distribute a URL, not how the store verifies who opens it. Scope the access and purchase rules first. You can then decide whether search exclusion is also useful, without mistaking it for the restriction itself.
If you choose seo.hidden, configure the exact field
For a new definition, Shopify documents this path in its search-exclusion instructions:
- Open Settings > Metafields and metaobjects.
- Under metafield definitions, select Products, Pages, or Blog posts, then Add definition.
- Use a readable name such as SEO Hidden. Set the namespace and key to exactly
seo.hidden. - Choose Integer, then One value, and set the maximum validation value to
1. - Save the definition. Open the particular resource, find its metafields, enter
1in this field, and save again.
The definition and the resource value are separate steps. Creating a field does not select which products should be hidden. Start with one deliberately chosen item and record its URL before applying the change to a larger group.
Keep the exact key in your handover notes. A friendly label such as “Hide from Google” might sound narrower than the behavior you are enabling. I would label the field description with the expected search and sitemap effects so the next staff member does not mistake it for a merchandising toggle.
If Shopify says the namespace and key are already taken
Stop before creating a differently named substitute. Shopify identifies seo.hidden as a system field that apps can use. A field called custom.seo_hidden is not the documented control simply because its display name looks similar.
Review the existing field and the app that manages it. Shopify's existing-metafield instructions describe View unstructured metafields, sometimes under More actions, and adding a definition to an existing namespace and key. They also warn that a new definition can interfere with an app's expectations.
Ask whoever maintains that integration whether staff should edit the value manually. Record the answer beside the setting. If an app is intended to manage visibility, changing the value without understanding that workflow is an incomplete fix, even if the first storefront check looks correct.
If you choose Unlisted, confirm channel and app compatibility
To use Unlisted, open Products > your product, choose Unlisted in the Status section, and save. Shopify's product-status documentation says the direct URL stays the same and customers can still add the product to their cart unless the store has customized that behavior.
Check channel requirements before choosing this status. Unlisted products can be sold through Shopify POS, but cannot be published to third-party sales channels. Shopify also warns that apps without support for the status may treat the item as Active or continue displaying it in search and recommendations.
That makes Unlisted useful for some add-ons and direct-link offers, but unsuitable as a blanket setting for every product that you do not want on Google. If another channel must keep selling the item, assess its publication requirements before changing the status. Do not discover that conflict after sending the campaign.
An app can have its own visibility rules
Rebuy provides a concrete example in its hidden-product documentation. It filters Unlisted products from algorithmic data sources, but an explicit product return that pins an Unlisted item can still surface it. For Active products, seo.hidden does not replace Rebuy's own data-source filtering.
For an Unlisted replacement lid pinned in a Rebuy support offer, my acceptance test would require it to appear in that approved offer and disappear from ordinary discovery; its presence in the offer alone would not mean Unlisted had failed. This follows from the two documented controls, rather than from a claimed client result. I would test the actual widget that customers see. A successful native search test cannot certify an app's recommendations. Equally, a deliberately pinned add-on appearing in its intended offer is not automatically a failure. Decide whether that placement is permitted, then test against that decision.
Verify the places customers can discover it
Use one simple review sheet with these columns: product URL, surface tested, expected result, actual result, and reviewer. Include a normal product that should remain discoverable as a control. If both products vanish from a widget, you have not demonstrated that the targeted exclusion works correctly.
- Direct link: open the exact campaign URL in a signed-out browser. Check the correct product, variant selection, and intended purchase path.
- Storefront search: search the product's distinctive title. Check both the suggestions shown while typing and the full results page.
- Collections: visit the collections where the product previously appeared. Compare the result with the visibility arrangement you chose.
- Recommendations: check the product-page, cart, and other widgets your store actually uses. Record which app or theme feature supplies each one.
- Manual placements: review campaign landing pages and explicitly selected product cards. Decide whether each remaining placement is intentional.
- Search-engine evidence: inspect the public page's indexing instructions and the relevant sitemap, then check what Google has last crawled.
My acceptance rule is simple: a hidden-product change is complete only when the intended purchase route works and every unwanted discovery route has been checked with its actual provider. Checking just the product's admin screen leaves the most useful questions unanswered.
Keep the checks proportionate. A small store with native search and no recommendation app has fewer surfaces to review than a store with several merchandising tools. Do not invent a complicated test environment; inventory the real routes a customer can use today.
Separate the live page from Google's last visit
Open the published URL's page source and look for its robots meta tag. Shopify's noindex walkthrough shows the noindex,nofollow output associated with seo.hidden. Inspect the live output rather than assuming that a saved admin value proves what a crawler receives.
Google's noindex documentation explains that it must crawl an accessible page to see the instruction. Blocking that URL in robots.txt can prevent Google from reading it. Search results can also lag behind the change because Google has not revisited the URL yet.
Use Search Console's URL Inspection tool to examine the crawl evidence. Record the inspection date and last crawl rather than promising that the listing will disappear immediately. A live tag check answers what the page serves now; an indexed result reflects what Google has processed.
For the sitemap check, follow our Shopify sitemap guide to the relevant child file. Keep that observation separate from Google removal: absence from a sitemap is not proof that a previously indexed URL has already disappeared from search results.
Plan restoration before the campaign ends
Record the starting product status, field value, publication settings, and any app-specific exclusions before making changes. Add an owner and a review date. This small record is more useful than asking someone to remember which combination made the product disappear three months earlier.
To undo the metafield's restriction, Shopify instructs you to clear its value so it is blank and save. If you also changed the product to Unlisted, review that status separately. Returning one control to its earlier state does not undo the other control.
- Confirm the merchant now wants ordinary discovery restored.
- Restore the intended status and publication settings, and clear the exclusion value where appropriate.
- Review any app filters or explicit placements changed for the campaign.
- Repeat the same discovery and purchase checks, this time with the restored expectations.
- Inspect indexing instructions again and allow for Google's recrawl before judging search visibility.
Do not delete the metafield definition across the store just to restore one item. Keep the change scoped to the resource and workflow you intended to alter. If the item should stop selling when the campaign ends, choose that outcome explicitly instead of restoring its visibility by habit.
For a straightforward native setup, these checks may be all your team needs. When search apps, upsells, several channels, and access requirements overlap, our Shopify development services can help map those dependencies and implement a visibility workflow your merchandising team can maintain.