We use cookies. You have options. Cookies help us keep the site running smoothly and inform some of our advertising, but if you’d like to make adjustments, you can visit our Cookie Notice page for more information.
We’d like to use cookies on your device. Cookies help us keep the site running smoothly and inform some of our advertising, but how we use them is entirely up to you. Accept our recommended settings or customise them to your wishes.

Ecommerce SEO: Product Variations, Colors, and Sizes

I recently asked twitter for some writing ideas, and Will Scott replied with the following:

This can be a tricky scenario to get right.

This article will outline the appropriate SEO method for handling product versions, colors, sizes and variations on ecommerce sites. You might also find this video on product variations and SEO useful.

SEO for Product Variations: Questions to Ask

Before starting out, ask yourself the following questions to better understand the problem:

  • Are product variations competing in the SERPs, causing duplication and/or cannibalization?
  • Are product variations causing crawl problems or inefficiencies?
  • Has the "wrong" product type been selected as the canonical?
  • Are there business goals tied to long-tail performance where color variants matter?
  • Are color variants, sizes, and models of particular importance (or not) in your industry/niche?

It's common for product variations to cause problems in SEO with duplication, cannibalization, and crawl inefficiencies. This happens most frequently because of complicated URLs generated with many parameters and IDs. That said, it's always a good exercise to do a little digging in analytics. Let the data inform your overall strategy.

There are several ways to handle this, and I'll run through them below.

Tools to Use

The web has evolved to the point where often product variations (such as color) are best presented in the interface. This has the advantage of maintaining a canonical URL by default.

While this is true, there are still a myriad of common problems and poor implementations out there. Your best tool is going to be the rel canonical tag. Ideally, product variations such as color and size can be annotated with rel canonical tags to a 'parent' URL that is the ranking candidate for that product set.

Oftentimes certain types of product variations - especially color - have associated search volume. Users are looking for 'mens green adidas originals', and pages relevant to that query (possibly on a dedicated URL) will perform best. Some product categories show strong search trends towards color, or even size, while others do not. Investigate.

The Ideal Approach

The best way today to handle this problem is via the interface. Product colors can be displayed via a hover or click event, with the URL remaining unchanged. Then, a drop-down selector can be displayed for visitors to choose which item to place in their cart.

This preserves a single, canonical URL at all times for ranking purposes. However, the opportunity to rank for color-specific queries may be lost (or at least sacrificed).

A great example of this technique implemented well is on REI.

color and size selection on rei.com

Excellent implementation of color/size selection on REI.com

Note how color selection doesn't impact the URL, which makes it easy to view different colors of the product without re-loading the page. This is a solid approach, with the aforementioned downside: REI may not be eligible to rank for color-specific queries of this product. That may (or may not) be a big deal to your business, and that's why you need to check analytics before deciding which way to go.

Other Approaches

Another method for attacking this problem can be demonstrated by OnlineShoes. Color-specific URLs are created for variations, as in the example below.

onlineshoes.com color variations

OnlineShoes.com creates URL-specific color variations

Each of the URLs for a specific color variation has a self-referencing rel canonical tag.

While this allows OnlineShoes to compete for color-specific variations in SEO, the downside is that these pages are not highly differentiated and are therefore likely to compete with each other. Additionally, there may not be search volume for every type of product, leading to a situation where URL duplication and inflation is a concern.

Zappos has a different approach. Each color variation is given its own URL, as was the case with OnlineShoes...

Color variations have unique URLs on zappos.com

Zappos uses unique URLs for colors.

However, each color-specific URL is "collapsed" to a parent, canonical URL (somewhat defeating the purpose of having the specific URLs).

zappos rel canonical tags

Color variants are "collapsed" to a canonical URL.

There is an elegance to this approach. However, I would re-visit it today in light of changes in the SEO world.

What About Sizes, Models, etc?

We typically view sizes, models, and different types of the same product to be of secondary concern in SEO. Therefore, these are best displayed as information on the page and in drop-down selectors for "add to cart" functionality. If unique URLs are being generated for many types of product variations (as is often the case with faceted or guided navigations), use rel canonical annotations along with parameter handling tools (depending on the specific scenario) to improve crawling and canonical signals.


First, go back and read the beginning of this article: All decisions need to be based on an analysis of the specific situation, the site's strengths, weaknesses, and obstacles, as well as your primary business objectives and your SEO channel's goals.

Now that we have that out of the way, read on.

  1. Unless your analytics and business goals preclude it, place color, size and product type variations in the interface (ideally appearing in source code as plain text, not just in images or with javascript / ajax). Don't create unique URLs and pages for these.
  2. If you already have unique URLs for color variants, add rel canonical annotations to a primary ranking URL on all variants. If the colors are specified via parameters in the URL query string, then make use of Google and Bing webmaster consoles to have these ignored in the crawl as an additional step.
  3. Exception to the above advice: If you already have unique URLs for color variants, and the URLs are clean and devoid of excessive parameters and IDs, it is perfectly acceptable to leave the strategy in place. In these cases, add self-referencing rel canonical tags to the color variants to ensure they remain canonical.

There are certainly unique scenarios where our recommendations would change. Let me know in the comments if you have specific problems to address.

Thanks for reading!