How to Hide All Products in Shopify Breadcrumbs Without Breaking BreadcrumbList Schema

Learn how to hide All Products or Catalog page from Shopify breadcrumbs without creating missing BreadcrumbList positions like 1,3,4 in JSON-LD structured data.

Many Shopify stores want a cleaner breadcrumb trail on collection and product pages. Instead of showing a generic middle step like All Products or Catalog page, they want the breadcrumb to go straight from Home to the real category, brand, or subcategory.

That is a good UX decision when the catalog step does not add meaning. The risk is technical: if the visible breadcrumb item is hidden, but the JSON-LD BreadcrumbList is not re-numbered, Google can see skipped positions such as 1,3,4 instead of 1,2,3.

This guide explains the issue, how to QA it with Google Rich Results Test, and how Breadcrumbs & Categories should handle the setup when the All Products / Catalog page breadcrumb is intentionally removed.

The real issue: hiding a breadcrumb item is not the same as re-indexing schema

In a typical Shopify breadcrumb hierarchy, a product path may look like this:

  1. Home
  2. All Products or Catalog page
  3. Brand
  4. Subcategory
  5. Product

If the merchant hides All Products, the visible breadcrumb may look correct:

Home > Brand > Subcategory > Product

But the structured data must also be rebuilt as a clean ordered list:

position: 1 → Home
position: 2 → Brand
position: 3 → Subcategory
position: 4 → Product

The broken version happens when the app removes the catalog item from the output, but keeps the original numeric positions:

position: 1 → Home
position: 3 → Brand
position: 4 → Subcategory
position: 5 → Product

That skipped position: 2 is what makes the BreadcrumbList look invalid or suspicious during structured data QA.

Why this matters for Shopify SEO

Breadcrumbs are not only visual navigation. They also help search engines understand where a page sits inside your site hierarchy. Google supports breadcrumb structured data for showing a page's position in the site hierarchy in search results, so the JSON-LD version should be as clean as the visible breadcrumb path.

A missing position usually does not mean the product page cannot be indexed. But it is a quality issue. For ecommerce stores, especially stores with many brands, subcategories, and product lines, structured data should be predictable and easy to validate.

Correct behavior when hiding “All Products” or “Catalog page”

When a store hides a generic catalog crumb, the app should perform two actions together:

  • Remove the item from the visible breadcrumb, so shoppers only see meaningful navigation.
  • Compact the BreadcrumbList positions, so the JSON-LD order remains consecutive.

In Breadcrumbs & Categories, merchants often hide generic labels by configuring the catalog label or using the app's hide convention, such as setting the label to --- when that is the intended behavior. The important part is that the schema should not leave an empty slot behind.

Before and after: JSON-LD examples

Here is the broken pattern:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Brand",
      "item": "https://example.com/collections/brand"
    }
  ]
}

Here is the corrected pattern after the hidden item is removed and all remaining items are re-numbered:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Brand",
      "item": "https://example.com/collections/brand"
    }
  ]
}

The content is almost the same, but the second version is the one you want: every visible breadcrumb item maps to one consecutive schema item.

How to test this in Google Rich Results Test

Use this QA checklist whenever you hide a breadcrumb level in Shopify:

  1. Open a collection or product page where the generic catalog crumb used to appear.
  2. Confirm the visible breadcrumb no longer shows All Products, Catalog page, or any placeholder text.
  3. Run the page in Google Rich Results Test and expand the detected BreadcrumbList.
  4. Check every itemListElement and make sure positions are consecutive: 1,2,3, not 1,3,4.
  5. Repeat on both collection pages and product pages, because some themes render breadcrumbs differently by template.

If the visible breadcrumb is correct but the schema positions are not consecutive, the issue is not your collection tree. It is a schema re-indexing issue after a hidden breadcrumb item is filtered out.

What about products that belong to both brand and category collections?

The same support case often leads to a second question: once the schema is clean, which path should a product use when it belongs to multiple collections?

For example, a professional cosmetics store may want collection pages to keep a category hierarchy like:

Home > Cosmetics > Professional Facial Cosmetics

But on product pages, the merchant may want the product to follow the brand path instead:

Home > Atache > Vital Age Professional

That is a different problem from schema numbering. It is a breadcrumb priority problem.

If your collection pages should keep a category path, but your product pages should always use a brand path, use one of these approaches:

GoalRecommended setupBest for
Breadcrumb follows the visitor's real journeyEnable Smart BehaviourStores where the same product is meaningfully browsed through many collections
Product always uses one fixed brand pathSet the product's Default Collection in Shopify metafieldsHigh-value products or stores that need strict brand-first consistency
Many products have same-depth brand/category pathsUse the Category Tree order as the tie-break priorityLarge catalogs where product-by-product default assignment is too much work

The multi-collection breadcrumbs guide explains the default collection, Smart Behaviour, direct-access fallback, and deepest collection logic in more detail.

Why Category Tree order is useful for large catalogs

For small catalogs, setting a default collection on a product is easy. For large catalogs with thousands of SKUs and high product turnover, assigning a default collection manually to every product can become slow and error-prone.

A cleaner workflow is to let the Category Tree order help decide priority when multiple valid breadcrumb paths have the same depth. For example, if both brand and category branches are equally deep, the branch placed earlier in the tree can become the preferred path.

This lets the merchandising team control product breadcrumb behavior by organizing the tree, instead of editing thousands of individual product metafields.

QA checklist before publishing breadcrumb schema changes

  • Hide the generic All Products / Catalog page breadcrumb only if it does not help shoppers.
  • Verify the visible breadcrumb no longer shows an empty item, extra separator, or placeholder dash.
  • Inspect the rendered JSON-LD and confirm position values are consecutive.
  • Test at least one collection page, one product page with a single collection, and one product page with multiple collections.
  • For multi-collection products, decide whether you want Smart Behaviour, a fixed Default Collection, or Category Tree order priority.
  • Keep product URLs clean unless your theme intentionally uses collection-context URLs.
  • Re-test after major theme changes, because themes may render breadcrumb blocks differently across templates.

Common mistakes to avoid

  • Only hiding the text visually: CSS hiding can leave stale JSON-LD behind.
  • Leaving an empty schema item: An empty catalog crumb should be removed, not output as a blank ListItem.
  • Skipping Rich Results Test: The breadcrumb may look fine in the browser while the schema still has missing positions.
  • Using one rule for every product: Brand-first stores often need different product priority logic than category-first stores.
  • Manually setting thousands of defaults too early: Use tree priority where possible before committing to large-scale metafield maintenance.

Conclusion

Hiding All Products or Catalog page from Shopify breadcrumbs is safe when the visible breadcrumb and the JSON-LD BreadcrumbList are rebuilt together. The key is simple: after an item is removed, the remaining schema positions must be consecutive.

For stores with complex category and brand structures, Breadcrumbs & Categories helps manage both sides of the problem: clean breadcrumb schema and practical product path priority across multiple collections.

For related setup examples, you may also find these guides helpful: default product breadcrumb paths, Smart Mode troubleshooting, and catalog page subcategory setup.

FAQ

Can I hide All Products from Shopify breadcrumbs?

Yes. You can hide a generic All Products or Catalog page breadcrumb when it does not help shoppers. The important part is that the JSON-LD BreadcrumbList must be rebuilt so the remaining positions are consecutive.

Why does my BreadcrumbList show positions 1, 3, and 4?

This usually happens when a breadcrumb item was hidden or removed visually, but the schema positions were not re-indexed afterward. The hidden item leaves an empty position, so the remaining schema items keep their old numbers.

Should BreadcrumbList positions always be consecutive?

Yes. A clean breadcrumb schema should output an ordered list such as 1, 2, 3, and 4. If a breadcrumb item is hidden, the remaining items should be compacted into a consecutive order.

Does hiding All Products hurt SEO?

Not by itself. Hiding a generic breadcrumb can improve clarity when the item is not meaningful. The SEO risk comes from leaving broken or inconsistent structured data after the item is hidden.

How do I test Shopify breadcrumb schema?

Open the page in Google Rich Results Test, expand the detected BreadcrumbList, and check that every itemListElement has a consecutive position value. Test both collection and product templates.

What should happen when a product belongs to multiple collections?

The breadcrumb app needs a priority rule. In Breadcrumbs & Categories, this can be handled with Smart Behaviour, a product Default Collection, deepest collection fallback, and Category Tree order priority for same-depth paths.

Does setting a product default collection remove it from other Shopify collections?

No. A default collection only controls the breadcrumb path. The product can still remain assigned to all of its Shopify collections.

When should I use Category Tree order for breadcrumb priority?

Use Category Tree order when many products belong to multiple same-depth paths and manually setting a Default Collection for every product would be too much maintenance.

Hide All Products Without Breaking BreadcrumbList Schema | Breadcrumbs & Categories