Unlisted product status
Unlisted is a ProductStatus that hides a product from internet search (by adding noindex and nofollow meta tags to the Online store product page), your store's sitemap, and Shopify Catalog. An unlisted product doesn't display in Shopify-powered collection pages, search results including predictive search, or product recommendations in your storefront.
This is useful for scenarios like private sales, warranties, or "free gift with purchase" products that you don't want discovered outside of their intended uses.
Unlisted is available as a new product status value in the latest GraphQL Admin API and Webhooks API. Note: Older versions of Admin API (prior to 2025-10) return product status for unlisted products as active.
Review considerations for setting a product's status as Unlisted.
Anchor to How to query and set unlisted as a product statusHow to query and set unlisted as a product status
- GraphQL Admin API: You can query and set the unlisted status through the new
unlistedenum inProductStatus. - Webhooks API: You can query the unlisted status with the Webhooks API on
products/updatetopics.
Unlisted products are hidden across the following buyer-facing surfaces:
- Shopify storefront search, collections, and recommendations
- Internet Search (for online store product pages):
<meta name="robots" content="noindex,nofollow">headers are added on the online store product details page.- Won't be listed in
sitemap.xml.
- Shopify Catalog
Anchor to How unlisted products are discovered across buyer surfacesHow unlisted products are discovered across buyer surfaces
Unlisted products aren’t indexed or linked by default. They’re available only when referenced directly. In cart, checkout, orders, and other post‑purchase surfaces, unlisted products behave like active products.
Note: Shop App is not supported.
Anchor to Storefront APIStorefront API
- Metafield of type
variant_referenceandproduct_reference(see list of data types). idorhandle:- Example:
query getProduct { product(handle:"unlisted-product-handle"){ title } }
- Example:
Note: Can't be accessed via the
queryparam on any root.
Anchor to Liquid APILiquid API
- If a buyer can access the product URL, the page will render the product object. Buyers might obtain the URL via a guessable handle, data from the Cart AJAX API, a previously shared link, or an app.
- Any page with:
- Metafield of type
variant_referenceandproduct_reference(see list of data types). all_productsdrop and the product handle (see liquid all_products).
- Metafield of type
Buyers could obtain a link to an unlisted product if linked on the storefront or an external website.