Skip to content

Shopify Catalog

Why my Shopify products aren't in Catalog (diagnostic flow)

Published

The diagnostic order for Catalog eligibility failures

Eleven gates fail in a predictable order. Walk store-level gates first because one failure disqualifies every product. Then walk product-level gates per failing product. Then check hidden/Unlisted status separately, because the seo.hidden metafield silently disqualifies products in a way the eligibility flag doesn't expose. Most stores fail on one of three: private mode (the storefront password), account standing, or product status (Draft / Unlisted / Archived).

The eligibility list comes from Shopify's requirements page1; the hidden-status edge cases come from the hide-a-page doc3. Walking the diagnostic in store-then-product order saves time — one store-level fix can flip thousands of products into eligible.

Store-level failures (one breaks everything)

Six store-level gates. Each one, if it fails, disqualifies every product in the store. Most common failures: private mode (the storefront password) left on, plan downgraded to free trial state, an account Shopify is still reviewing for standing and history, or store-level Acceptable Use Policy issue (typically affects regulated categories). Shopify's requirements page no longer has a shipping-country gate.

  1. Plan is below Starter (Shopify Lite, Pause, free trial, deactivated). Fix: upgrade plan.
  2. Private mode (the storefront password) is on (Online Store > Preferences > Store access). Fix: turn off.
  3. Account standing and history not yet established. Shopify says standing "is reviewed over time"1. Fix: verify your email, turn on two-step authentication, set up a passkey if available, complete identity and business verification when prompted, pay Shopify invoices on time, keep chargebacks low, and resolve open policy issues. Then wait; there is no switch.
  4. Acceptable Use Policy violation flagged by Shopify (categories with regulatory issues). Fix: contact Shopify support.
  5. Products are not published to Online Store / Hydrogen / Headless sales channel. Fix: publish to one of the three.
  6. Hydrogen / Headless without correct route format. Fix: confirm Storefront API route format matches Shopify spec.

Product-level failures

Five product-level gates per product. Most common failures: a product imported via CSV with empty title or empty media library, a free product with $0.00 price (typically promo or sample SKUs), or a product whose status got bumped to Draft during a bulk edit and never reverted.

  • Title is empty. Fix: set a non-empty product title.
  • No image attached. Fix: add at least one media item.
  • Price is $0.00. Fix: set price > $0 (use a sample/gift workflow for free items).
  • Status is Draft or Archived. Fix: set Status to Active.
  • Product status is Unlisted (the Status field on the product page). Fix: change the status to Active.

Hidden / Unlisted edge cases

Shopify exposes three ways to hide a product from search engines: Unlisted status, the seo.hidden metafield, and a noindex meta tag added via theme.liquid. Unlisted is the one most likely to silently disqualify Catalog inclusion because it's a per-product status flag many merchants don't know exists.

Per Shopify3, Unlisted status 'hides the product from internet search, Shopify Catalog, and your store's sitemap.' The seo.hidden metafield set to 1 has the same effect. The third method (theme.liquid noindex on a template or handle) blocks search engines but doesn't necessarily disqualify Catalog — Catalog is an internal Shopify feed, not a search-engine crawl.

The diagnostic checklist

Walk these in order. If any store-level gate fails, stop and fix it first — every product is disqualified until the store passes. After store-level gates pass, sample three products and walk the product-level gates per product.

  1. Confirm Settings > Plan shows Starter or higher.
  2. Confirm private mode is off (Online Store > Preferences > Store access).
  3. Confirm the account is verified: email confirmed, two-step authentication on, identity and business verification done if Shopify asked for it.
  4. Confirm the account is in good standing: no unpaid Shopify invoices, a low chargeback rate, no open policy or compliance issues.
  5. Open three random products. Confirm Status = Active, not Draft.
  6. Confirm each has a non-empty title.
  7. Confirm each has at least one image.
  8. Confirm price > $0.
  9. Confirm none of them has Unlisted status.
  10. Open Settings > Metafields and metaobjects > Products. If a seo.hidden definition exists, confirm no product you want in Catalog has it set to 1.
  11. If on the Agentic plan: confirm external product URL is set per product.