This guide explains how to hide out-of-stock variants on Shopify collection pages without affecting SEO or modifying your theme’s core files.
If you’re using product variants in Shopify (color, size, material, etc.), you’ve probably noticed something frustrating:
👉 Even when a variant is out of stock, it can still appear in your collection page grid.
This creates:
- A cluttered product grid
- Poor user experience
- Lower click-through rate
- Lost sales opportunities
In this guide, you’ll learn how to hide out of stock variants on Shopify collection pages — step by step — without breaking your SEO or editing complex theme code.

⚠️ Important: This guide focuses on hiding out-of-stock variants on the collection page, not on the product page dropdown selector.
Why Hide Out-of-Stock Variants on Collection Pages?
When customers browse your collection pages, they expect to see:
- Available products
- Clickable items
- Items they can actually purchase
Showing unavailable variants in the product grid can:
- Reduce trust
- Increase bounce rate
- Create frustration
- Make your store look poorly managed
Hiding them improves:
- Conversion rate
- Visual clarity
- Inventory perception
- Merchandising control
How Shopify and Themes Handle Out-of-Stock Variants by Default
By default, Shopify:
- Can hide sold-out products
- But does not automatically hide individual variants at the collection grid level
However, this behavior also depends on how your Shopify theme renders collection cards.
Here’s why:
Shopify groups variants under a single parent product.
Most themes display the product object in collections — not individual variant inventory logic.
So even if:
- A specific variant is out of stock
- Or only some variants are unavailable
The collection grid still renders the parent product.
When variants are displayed as separate items in collections, the theme does not automatically filter them by inventory status.
That’s where additional logic (or an app) is required.
3 Ways to Hide Out-of-Stock Variants on Shopify Collections
Method 1 – Duplicate Products (Not Recommended)
Some merchants duplicate products and manually remove unavailable variants.
Problems:
- Inventory desynchronization
- SEO duplicate content risk
- Manual maintenance nightmare
- Broken reporting
Not scalable.
Method 2 – Edit Your Theme Code
You can modify:
- card-product.liquid
- Collection templates
- Inventory conditions in Liquid
But this approach:
- Requires developer knowledge
- Breaks on theme updates
- Risks SEO structure override
- Can conflict with filtering apps
This is fragile and technical.
Method 3 – Hide Out-of-Stock Variants with a No-Code App (Recommended)
The safest and most scalable method is using an app that:
- Splits variants correctly
- Maintains Shopify’s native markup
- Filters inventory at the collection level
- Does not duplicate products
- Keeps SEO structure intact
For example, with Variantify, you can:
- Display variants as separate products
- Hide out-of-stock variants
- Show only discounted variants
- Control visibility per collection
All without editing your theme.
.png)
.png)
Step-by-Step: Hide Out-of-Stock Variants in Shopify Collections
Step 1 – Install Variantify
Install the app from the Shopify App Store and enable the App Embed in your theme settings.
No coding required.

Step 2 – Open Your Collection Settings
Inside the app dashboard:
- Select the collection you want to manage
- Enable variant display (if not already active)

Step 3 – Enable “Hide Out-of-Stock Variants”
In the display settings:
✔ Activate “Hide out-of-stock variants”

Now:
- Unavailable variants disappear from the collection grid
- Only in-stock variants remain visible
- Your collection stays clean and optimized
Final Thoughts
If you’re splitting variants on Shopify collection pages, controlling inventory visibility is essential.
Hiding out-of-stock variants:
- Cleans up your grid
- Improves perceived availability
- Reduces friction
- Increases conversion potential
If you want a no-code, SEO-safe solution:
👉 Install Variantify and manage your variant visibility with full control.