
Mattress and bedding catalogs are option-dense in different ways. A mattress model in 6 sizes, 3 firmnesses, and 2 heights is 36 SKUs at 6 different price points. A linen sheet set in 5 sizes, 8 colors, and 2 fabric weights is 80 SKUs. Both subcategories blow past the 100-variant cap on Shopify standard plans, and both reward catalog architecture that splits properly. Shopify combined listings for mattress and bedding stores is the architecture pattern that makes the split work without trashing the storefront UX.
This is a catalog architecture post. We build Rubik Combined Listings, and sleep brands have a few category-specific quirks: trial periods, financing, white-glove delivery, and the SEO weight of size-specific bedding queries. The architecture below addresses each.
Same recommendation as our other niche guides. Split by SEO-valuable axes (size, fabric), keep low-SEO axes as native variants (color for bedding, firmness for mattresses in most cases), and group the resulting products with combined listings.
In this guide
- Why mattress and bedding catalogs need combined listings
- Mattresses: size primary, firmness secondary
- Bedding: size + fabric primary, color secondary
- The SEO weight of size-specific bedding pages
- Sheet sets, duvet bundles, and pillowcase pairs
- Bulk grouping for existing catalogs
- Pairing with variant image filtering
- Pricing for catalog sizes
- FAQ
- Related reading
Why mattress and bedding catalogs need combined listings
Three reasons. First, the option count per product is high enough to hit the 100-variant cap on standard Shopify plans, especially for bedding lines that combine size, color, fabric, and weight.
Second, sleep search queries are deeply size-driven. “Queen mattress.” “King memory foam.” “Twin XL bedding.” “Cal king sheet set.” Customers know their bed size and they search dimensions first. A master product page with size buried in a dropdown captures only a fraction of that traffic.
Third, fabric is the second-strongest SEO axis for bedding. “Linen sheets,” “sateen duvet,” “percale pillowcase,” “flannel sheets queen.” Each fabric carries its own search demand. Splitting by fabric (combined with size) means you have one product per intersection that can rank for the exact query.
Mattresses: size primary, firmness secondary
For mattresses, size is the SEO-loaded primary axis. Each size is its own product. Reasons:
- Pricing scales 3x to 4x from twin to king
- Search demand is heavily size-specific
- Shipping class and freight cost differ by size
- White-glove delivery rates differ by size
- Inventory tracking is naturally per-size
Firmness is the secondary axis. Most mattress brands keep it as a native variant inside each size product. The exception is brands that market firmness as a feature (“medium firm hybrid,” “extra firm latex”), where firmness gets its own product split. The combined listings group then contains the size + firmness products.

Bedding: size + fabric primary, color secondary
Bedding is option-dense. Size + fabric combinations carry the SEO weight; color carries less. The architecture we recommend:
- Each size + fabric combination is its own product. So “Linnea Linen Sheet Set, Queen” and “Linnea Sateen Sheet Set, Queen” are two products.
- Color is a native variant inside each size + fabric product. The Linnea Linen Sheet Set Queen has stone, ivory, terracotta, navy as variants.
- Combined listings group all the size + fabric products together.
The collection card shows fabric labels (or fabric swatches) and a size picker. The shopper picks “Linen, Queen,” lands on the size+fabric product page, finalizes color from the on-page picker. Fabric and size are the public-facing axes; color is the private finalization step.

“Excellent support from Zulf. I tried several different apps before this one that were buggy or simply did not work. I was please to see that these guys got me up and running quickly!”
mimish, inc., US, 2026-04-06, Rubik Combined Listings on the Shopify App Store
The SEO weight of size-specific bedding pages
Bedding queries are dominated by size + fabric phrases. Real high-volume queries:
- “queen size linen sheets”
- “king size sateen duvet”
- “twin XL bedding”
- “cal king sheet set”
- “flannel sheets queen”
- “percale king pillowcases”
Each one is real customer intent. They have a specific bed and they want sheets that fit it, in a fabric they prefer. A master “Linnea Sheet Set” product with size and fabric in dropdowns does not capture this traffic as well as a “Linnea Linen Sheet Set, Queen” product whose title, meta description, and structured data all reference the exact query.
For more on the indexation tradeoff, the separate products vs variants SEO decision guide walks through the math. Combined listings is what makes the separate-products path work on the storefront.
Sheet sets, duvet bundles, and pillowcase pairs
Bedding catalogs sell both individual pieces and bundled sets. Different queries, different intent:
- “Queen sheet set” (4-piece bundle, fitted + flat + 2 pillowcases)
- “Queen fitted sheet” (just the bottom sheet)
- “Queen duvet cover” (just the duvet cover)
- “Queen pillowcases pair” (2-piece pillowcase set)
Each set type works as its own combined listings group. So “Linnea Linen Sheet Set” is one group with size + fabric products inside, “Linnea Linen Duvet” is a separate group, “Linnea Linen Pillowcase Pair” is a third. This matches how customers search and how SEO landing pages should be structured.
Bulk grouping for existing catalogs
Most sleep brands arrive with each size + fabric already as separate products. Bulk grouping handles this in three ways:
- Title pattern. “Linnea Sheet Set, Linen, Queen” / “Linnea Sheet Set, Sateen, King” auto-detects the prefix.
- Product tags. Tag with
RUBIK::linnea-sheet-set::fabric::linen::#D4C8B4. - Metafield grouping. Group by
parent_collection_idmetafield.
For mattress catalogs (smaller product count, fewer groups), manual grouping is also viable. Each mattress model is one group. Setup time is under 2 minutes per group. The bulk grouping deep dive walks through each method with examples.

Pairing with variant image filtering
Combined listings handles cross-product navigation between size + fabric combinations. It does not filter the gallery on a single product page when the shopper picks a color variant inside that specific product. That is variant image filtering, handled by Rubik Variant Images.
Bedding stores almost always need both. Combined listings handles “switch fabric or size.” Variant images handles “switch color” inside each size + fabric product. The shopper experience: collection card shows linen + sateen swatches plus size picker → click linen + queen → land on Linnea Linen Sheet Set Queen → see linen photos → pick “stone” color → gallery filters to linen + stone photos.
Pricing for catalog sizes
| Plan | Price | Product groups | Sleep catalog fit |
|---|---|---|---|
| Free | $0 | 5 | Single mattress model, trying it out |
| Starter | $10/mo | 100 | Boutique sleep brand, 3 to 5 mattress models + bedding |
| Advanced | $30/mo | 500 | Mid-market sleep retailer, full bedding line |
| Premium | $50/mo | 5,000 | Multi-brand sleep marketplace |
Annual billing saves 17%. The cap counts groups, not products inside. A bedding line with 24 size + fabric products is one group on your plan.
See the live demo store, watch the AI features tutorial, or read the getting started guide.
FAQ
Should each mattress size be its own product, or a variant?
Separate products. Mattress size carries strong SEO weight, pricing scales steeply, and shipping operations differ by size.
How do I handle firmness options?
Native variants inside each size product, in most cases. Firmness usually doesn’t carry per-firmness SEO value strong enough to justify splitting.
For bedding, should I split by size, fabric, or both?
Both. Each size + fabric combination is its own product. Color stays as a native variant inside each.
Will combined listings slow down my site?
No measurable hit. Rubik Combined Listings is metafield-based with no external API calls.
How do I handle sheet sets vs individual pieces?
Each set type (sheet set, duvet, pillowcase pair) typically gets its own combined listings group. Cleaner SEO, simpler shopper navigation.
Does it require Shopify Plus?
No. Rubik Combined Listings runs on every Shopify plan.