Multi-collection breadcrumbs
Complete guide for handling products in multiple collections with smart, dynamic breadcrumbs
Smart breadcrumb behavior
The app offers two powerful modes for handling products in multiple collections:
🪄 Smart mode: follow visitor navigation path (recommended)
When enabled in Settings > Smart behaviour: The breadcrumbs dynamically adapt to show the actual path your visitors took to reach the product, creating a natural browsing experience while maintaining SEO stability.
Same product in different brand collections (Volvo, Scania, Mercedes)
Products in both category and seasonal collections (winter jackets + men's clothing)
Multi-category products (smartphones + new arrivals + featured)
How it works
Visitor browses from collection A → product → breadcrumb shows collection A path
Same visitor navigates from collection B → same product → breadcrumb shows collection B path
Direct access (Google, bookmarks) → shows default collection (if set) or deepest collection
JSON-LD structured data → always uses default collection (if set) or deepest collection for stable SEO
Why this matters for SEO
Clean URLs like /products/turbo-t5000 are concise, easy to share, and preferred by search engines
Long URLs like /collections/volvo-parts/products/turbo-t5000 can dilute SEO value, are harder to remember, and look cluttered
Google's guidance: Keep URLs simple and descriptive, focusing on the content (product) rather than navigation structure
Benefits
✅ SEO-friendly URLs - maintains standard /products/product-name format
✅ Zero setup complexity - works with your existing theme and URL structure
✅ Natural user experience - breadcrumbs match actual journey
✅ Consistent navigation experience throughout the shopping journey
✅ Consistent SEO - structured data uses default collection (if set) or deepest collection
✅ Smart fallback - uses default collection when no path exists
📌 Classic mode: fixed collection priority
When Smart behaviour is disabled: The app determines which collection to show using this priority order:
Priority 1: default collection (manual override)
You manually set a "default collection" for the product in Shopify metafields.
✅ Always takes priority
🎯 Best for SEO consistency
📌 Set once, applies everywhere
Priority 2: URL collection context
Customer navigated from a collection page (URL path: /collections/[handle]/products/[handle])
✅ Dynamic & context-aware
🎯 Best user experience
🔗 Respects customer journey
Priority 3: deepest collection level
App automatically selects the collection with the highest depth/level in your hierarchy.
✅ Automatic fallback
🎯 Most specific path
📊 No configuration needed
Understanding collection depth/level
The depth is how many levels deep a collection is in your hierarchy. The app automatically calculates this:
✅ More specific category = better user context
✅ More detailed breadcrumb path
✅ Better SEO with longer, descriptive paths
Home (Level 0 - Root)
│
├── Vehicles (Level 1)
│ │
│ ├── Trucks (Level 2)
│ │ │
│ │ ├── Volvo (Level 3) ← Depth = 3
│ │ ├── Scania (Level 3) ← Depth = 3
│ │ └── Mercedes (Level 3) ← Depth = 3
│ │
│ └── Cars (Level 2)
│ │
│ └── Sedans (Level 3) ← Depth = 3
│
└── Heavy Duty (Level 1)
│
└── Industrial (Level 2) ← Depth = 2Real example: multi-brand truck store
Let's walk through a complete example with a truck parts store:
Home
│
├── 🚛 Trucks
│ ├── Volvo Trucks (Level 2)
│ │ ├── Volvo Engines (Level 3)
│ │ ├── Volvo Parts (Level 3)
│ │ └── Volvo Accessories (Level 3)
│ │
│ ├── Scania Trucks (Level 2)
│ │ ├── Scania Engines (Level 3)
│ │ ├── Scania Parts (Level 3)
│ │ └── Scania Accessories (Level 3)
│ │
│ └── Mercedes Trucks (Level 2)
│ ├── Mercedes Engines (Level 3)
│ └── Mercedes Parts (Level 3)
│
├── 🔧 Parts
│ ├── Universal Parts (Level 2)
│ └── Engine Components (Level 2)
│
└── 🆕 New Arrivals (Level 1)Product example: "Turbocharger T5000"
This product belongs to 4 collections:
✅ Trucks > Volvo Trucks > Volvo Parts (Level 3)
✅ Trucks > Scania Trucks > Scania Parts (Level 3)
✅ Parts > Universal Parts (Level 2)
✅ New Arrivals (Level 1)
Scenario walkthrough
Scenario 1: customer browses Volvo collection
Customer journey: 1. Customer lands on your store 2. Clicks "Trucks" → "Volvo Trucks" → "Volvo Parts" 3. Clicks "Turbocharger T5000"
URL generated by Shopify:
/collections/volvo-parts/products/turbocharger-t5000
Breadcrumb displayed:
Home > Trucks > Volvo Trucks > Volvo Parts > Turbocharger T5000Scenario 2: customer browses Scania collection
Customer journey: 1. Customer searches Google for "Scania turbocharger" 2. Lands on Scania Parts collection page 3. Clicks "Turbocharger T5000"
URL generated by Shopify:
/collections/scania-parts/products/turbocharger-t5000
Breadcrumb displayed:
Home > Trucks > Scania Trucks > Scania Parts > Turbocharger T5000Scenario 3: customer arrives from Google (no collection context)
Customer journey: 1. Customer searches Google for "turbocharger T5000" 2. Clicks your product directly from search results 3. Lands on product page
URL (direct product link):
/products/turbocharger-t5000
Breadcrumb displayed:
Home > Trucks > Volvo Trucks > Volvo Parts > Turbocharger T5000Scenario 4: you set a default collection
Your action: You decide that for SEO purposes, this product should always show under "Universal Parts" in search results. You set default collection: Parts > Universal Parts
Breadcrumb displayed (all cases):
Home > Parts > Universal Parts > Turbocharger T5000How to set default collection for a product
Follow these steps to manually set a default collection:
Step 1: Go to Shopify Admin → Products → Click on the product
Step 2: Scroll down to the "Metafields" section (usually near the bottom)
Step 3: Look for the "Breadcrumbs" namespace
Step 4: Find the field "Product's default collection"
Step 5: Click the dropdown and select your preferred collection
Step 6: Click "Save" at the top right
Step 7: Verify on storefront - breadcrumb should now show your default collection
Real-world use cases
Use case 1: multi-brand store (Volvo, Scania, Mercedes)
Challenge: You sell truck parts for multiple brands. The same part (e.g., "Oil Filter OF-500") fits Volvo, Scania, and Mercedes trucks.
Product Collections: Volvo Parts (Level 3), Scania Parts (Level 3), Mercedes Parts (Level 3), Universal Parts (Level 2)
Customer browses Volvo → Breadcrumb: Home > Trucks > Volvo > Volvo Parts > Oil Filter
Customer browses Scania → Breadcrumb: Home > Trucks > Scania > Scania Parts > Oil Filter
Customer browses Mercedes → Breadcrumb: Home > Trucks > Mercedes > Mercedes Parts > Oil Filter
Customer from Google → Breadcrumb: Home > Trucks > Volvo > Volvo Parts > Oil Filter (first Level 3 collection)
Optional: Set default to "Universal Parts" for consistent SEO
Use case 2: seasonal + category collections
Challenge: You have a "Winter Jacket" that belongs to both seasonal and category collections.
Product Collections: Men's Clothing > Jackets > Winter Jackets (Level 3), Winter Collection (Level 1), Sale Items (Level 1)
Customer browses Winter Jackets → Breadcrumb: Home > Men's Clothing > Jackets > Winter Jackets > Product
Customer browses Winter Collection → Breadcrumb: Home > Winter Collection > Product
Customer from Google → Breadcrumb: Home > Men's Clothing > Jackets > Winter Jackets > Product (Level 3 wins)
Recommendation: Set default to "Men's Clothing > Jackets > Winter Jackets" for better SEO
Use case 3: new arrivals + regular categories
Challenge: New products are in both "New Arrivals" and their regular category.
Product Collections: Electronics > Smartphones > iPhone (Level 3), New Arrivals (Level 1), Featured Products (Level 1)
Customer browses iPhone category → Breadcrumb: Home > Electronics > Smartphones > iPhone > Product
Customer browses New Arrivals → Breadcrumb: Home > New Arrivals > Product
Customer from Google → Breadcrumb: Home > Electronics > Smartphones > iPhone > Product (Level 3 wins)
Recommendation: Don't set default - let dynamic breadcrumbs work automatically
Best practices & recommendations
When to set default collections
✅ DO set default collections when:
Product belongs to 3+ collections
You want consistent breadcrumbs in Google search results
Product is in both category and promotional collections (e.g., "Winter Jackets" + "Sale")
You have a clear "primary" category for the product
SEO is a priority for this product
❌ DON'T set default collections when
Product only belongs to 1-2 collections
You want fully dynamic breadcrumbs based on navigation
Product is equally important in all collections
You prefer automatic depth-based selection
Collection hierarchy tips
✅ Best Practices:
Keep hierarchy depth between 2-4 levels (max 5)
Use descriptive collection names
Organize by most specific to least specific
Group related collections under parent collections
Use consistent naming conventions
❌ Avoid
Too deep hierarchies (6+ levels) - confuses customers
Too flat hierarchies (1 level) - loses context
Inconsistent naming patterns
Duplicate collection names at different levels
Quick reference guide
Decision tree: which collection will show?
START: Customer views product page
│
├─ Has DEFAULT collection set?
│ ├─ YES → Show DEFAULT collection ✅ (Priority 1)
│ └─ NO → Continue...
│
├─ URL has ?collection= parameter?
│ ├─ YES → Show URL collection ✅ (Priority 2)
│ └─ NO → Continue...
│
└─ Find DEEPEST collection
└─ Show collection with highest depth ✅ (Priority 3)Quick action guide
Want consistent SEO breadcrumbs? → Set default collection (Priority 1)
Want dynamic breadcrumbs based on navigation? → Don't set default, let Priority 2 & 3 work automatically
Product in many collections? → Set default to most important collection
Product in 1-2 collections? → No action needed, automatic selection works great
Common questions
No! Setting a default collection only affects the breadcrumb display. The product remains in all its collections and can still be found when browsing any of them.
Yes! Each product can have its own default collection. This is perfect for stores with diverse product catalogs.
The app will automatically use Priority 2 (URL parameter) or Priority 3 (deepest collection). This works great for most stores!
Absolutely! The breadcrumb only affects the navigation path display. Products remain searchable and browseable in all their assigned collections.
The app automatically calculates depth based on your collection hierarchy. You can see the depth level in your app dashboard when managing collections.