Considerations for Facets and Filters in eCommerce

On simple blogs or websites, navigation is usually quite straight-forward. You organize your site into categories, or funnels, of information or articles. You link to your most important pages and try to minimize duplicate content.

When you have a large ecommerce, travel, or other large site, however, sometimes this is not enough. If you have millions of pages, and want as many as possible to be indexed and ranking well, you simply cannot, nor would you want to, link to every page. Imagine this scenario where the only difference is color –


Let’s be honest. It’s going to be impossible to make all of these pages unique and ranking-worthy.

Or to use a skiing example, where the only difference is length –


Once again, useful and original content for all three of these pages is going to be near impossible.

So how can you fulfill  the dual goal of having as many pages as possible indexed and having as many of those pages as possible ranking well? Let’s explore the difference between facets and filters for site navigation.

Difference between Facets and Filters

Let’s quickly review what facets and filters are.

Facets are sidebar links that are followable by search engines. Facets usually lead to other categories where the page contains content relating to a specific, rankable keyword. Filters are links in the sidebar that are NOT indexable by the search engines because they usually use AJAX or other ways to hide from the crawlers, so that duplicate content will not become an issue.

Let’s illustrate it with our handy robot (courtesy of SEOmoz):

Here is an example from in their climbing chalk section:

On this page, REI wants to have the crawlers index chalk bags and climbing chalk (and I agree, REI could do a lot with these pages, but that’s for another post). They do not want the chalk products created by the different brands you see or the other “features” indexed, so they are facets that, when clicked, filter (see what I did there) the products that you see in the main area.

Funny enough, REI actually calls this section “Facets” for their DIV classes in their code:

Why would they not want these indexed? Well, let’s think.

If REI chose to link to the Arc’teryx page on their site, they would be linking to the chalk-only Arc’teryx products that they offer on the site instead of the main Arc’teryx page, which is the one that they desire to rank for the term Arc’teryx. If they linked to the chalk-only Arc’teryx products they would be diluting their internal linking and thus be less able to rank for that term, which is 55% competitive and has 90,500 exact monthly searches on a high-margin item. I’d say that’s an important term for REI to rank for!

What if you can’t use filters?

Some of you may be thinking now “Hey John, that’s great and Im’ma let you finish, but I can’t drop 10k on a filtered nav setup right now”. This is completely understandable, so there are some ways that we can get around this issue.

Canonical tags

One way to get around this issue, if you still wanted to only show the products within the category that the person has clicked to, is to use a rel=canonical tag BACK to the main page that you are displaying the product for.

For example, with the above Arc’teryx example on REI, if they were not able to use filters they should put the following code on their Arc’teryx climbing gear page, which points to their Arc’teryx page:

<link rel=”canonical” href=”” />

This would serve the purpose of eliminating two different pages receiving link equity through the “Arc’teryx” internal anchor text, while still allowing them to filter down to the specific products, which is good for user experience.

Smarter Internal Linking

The next option would be to be forced to hurt the user experience by either:

  • not linking to the products by brand, thus making the user go through all of the products themselves; or
  • linking to the full brand page and then requiring them to filter manually.
Either way, the user experience is hurt. Personally, my choice would probably be to link to the brand page and require the user to go through all the products to find what they want, as this would increase internal linking for these difficult terms, but either way the user experience is hurt.

On-page Filtering

Another way to “filter” results when you are unable to do so on a page-basis is to provide the option on a product-level basis. This is not “filtering” in the normal sense of the word, though, as what you are doing is using your shopping cart/checkout option to allow your users to select their size/color/etc when they check out.

This is what REI does. Check out their Salomon Shogun skis page:

Zappos does something interesting, which I am not quite sure of. They have their main product page (looking at the Sanuk Chiba page here):

But then they also have the following URLs for the main colors of the product:

Interestingly, they rank 11 for “sanuk chiba tan” in I wonder if they are doing a test to see if they can rank for individual colors as well to rock the long tail. You must be careful here, though, as the content must be unique enough to carry the page and not get you slapped by the thin content Panda algorithm.

Do you deal with faceted and filtered navigation a lot? What other options have I missed?

4 thoughts on “Considerations for Facets and Filters in eCommerce

  1. Interestingly, for a site I am working on right now with about 600K URLs, Google (through webmaster tools) is flagging duplicate content issues with products that are not even as closely related as the examples you give here.

    It seems having a similar image and some descriptive commonalities is enough to trigger Google’s angry switch.

    1. Interesting stuff, Iain. I have no access whatsoever to Zappos’ Analytics or WMT, so I’d have no way to see if they are being flagged as well, but since they’re top of the second page for that secondary term (term + color) I’d assume they are getting the advantage of Google’s brand bias.

  2. Pingback: Praxistipps zur Optimierung der Facetten Suche & Filternavigation

Comments are closed.