Foundations and Technical Traps
Product Variants Size Colour and Attribute Pages
Deciding whether each colour or size gets its own URL, or shares one with a selector, has direct consequences for duplicate content, crawl budget and conversion rate.
Reading time · unlocks the next lesson
0:00 / 5:00 · pausedTwo Valid Patterns
Pattern one: a single URL per product with a JavaScript or dropdown selector for colour and size, updating images and stock without changing the URL. This consolidates all ranking signals (reviews, links, engagement) onto one page — usually the right default when variants don't have independent search demand.
Pattern two: a unique URL per significant variant (typically colour, rarely size) when each variant has its own product images and enough independent search volume — for example "nike air force 1 white" and "nike air force 1 black" both getting meaningful separate search volume. Size almost never justifies a separate URL because nobody searches by size alone at meaningful volume relative to colour.
Choosing Correctly
Check search volume for variant-specific queries before deciding. If "[product] + colour" queries show real, separate demand for at least two colours, split those into unique URLs with canonical-free unique content (different images, different H1, unique enough copy to avoid duplicate content flags). If demand is flat or near-zero for individual colours, keep one URL and let the selector do the work — it also protects conversion rate by keeping reviews and stock consolidated.
When you do split into separate URLs, cross-link every variant to every sibling variant clearly (a colour swatch row that links, not just JS-swaps) so authority and crawl paths flow between them, and consider a lightweight comparison table linking back to the parent style page if one exists.
Common Failure Modes
The most common mistake is splitting every variant into its own URL by default because the platform makes it easy, then ending up with ten near-identical pages competing against each other in search results — classic keyword cannibalisation. The second most common mistake is the opposite: consolidating everything onto one URL even when a colour variant has genuine independent demand and unique enough content to deserve its own ranking page, leaving traffic on the table.
- Check: does this variant have independent, meaningful search volume?
- Check: does this variant have unique enough content (images, description nuance) to avoid thin/duplicate flags?
- Check: will splitting fragment reviews and reduce social proof on any one page?
- If unsure, default to one URL with a selector — it's the lower-risk option
Spotting Variant Cannibalisation in RankAudit
Run RankAudit's keyword overlap report across product URLs sharing the same base product name. If three or more variant URLs are ranking for the same non-variant query, they're cannibalising each other and you should consolidate or strengthen canonical signals toward the strongest performer.
Key takeaways
- ✓Only split variants into separate URLs when independent search demand and unique content both exist
- ✓Size variants almost never need their own URL — colour sometimes does
- ✓Cross-link sibling variants with real anchor links, not just JS toggles
- ✓Use RankAudit's keyword overlap report to catch variant cannibalisation early
Why this lesson matters
This lesson belongs to Foundations and Technical Traps, the part of E-Commerce SEO where the goal is: understand what makes e-commerce seo structurally different and fix the technical issues that quietly bleed crawl budget and rankings.
Read it once, then do it straight away on a real site inside RankAudit. Nothing here is theory for its own sake — every step produces something you can show a client.
Do it now
- 1Open RankAudit with sample data already loaded, so you are not stuck on setup.
- 2Crawl a site and triage the issue list.
- 3Run a RankAudit crawl of your store and export the URL count by template to see how big your faceted navigation problem really is.
