Unleash your faceted navigation: How I increased a company’s organic traffic by 230% in 2 months

Andy Chadwick
Faceted navigation results

I was recently introduced to a friend of a friend who had launched a start up, bespoke furniture company just over a year ago. They’d been trading for 7 months already before they contacted me as they weren’t getting the enquiries they’d anticipated. 


Having looked at the site, which had very little domain authority, I decided the quickest way for this small company to get results was to concentrate on longer tail queries. This is an obvious recommendation, and one which you’ll read about in many “keyword research guides”. However, almost all these guides frame “long tail keywords” in the context of “informational” queries and blogs. For example, the guides talk about producing content to rank for “where is the best place to buy a t-shirt” or “how to iron my shirt”. It’s a great strategy; if you can rank for less competitive and helpful content, with some well placed CTA’s or some clever retargeting, you increase the likelihood of the customer purchasing from you. 


Nonetheless, where I see many e-commerce websites leaving a lot of opportunity on the table are “transactional long tail queries”. An example of a “transactional long tail query” might be “men’s slim fit white dress shirt” (480/month global search volume). Web owners struggle to rank for these because, quite simply, many CMS’s just aren’t set up to deal with something called “faceted navigation”. By correctly managing my friend’s facets, we decreased the amount of URLs on the site from 1500 to 150 (another benefit I’ll go into) and increased traffic by 230% in 2 months. 


Don’t get me wrong, we’re not talking big numbers – I’ve increased average weekly traffic from 200-250/month to 750-800/month. The exciting thing is, despite it being an incredibly competitive niche (we’re competing with such behemoths as Etsy, Next, Oak Furniture Land, Made and Argos), the trend is continuing to go up and we’re outranking Etsy and Made for some pretty cool terms:




What is faceted navigation?


 Quite simply, the various options and selections that help customers narrow options down on a website, usually in the form of filters, is known as faceted navigation. It allows people to customise their search based on what they’re looking for on the website:


Next faceted navigation


They’re normally associated with e-commerce sites but you’ll also find them on publishing sites (to filter by content type etc), job sites (to filter by salary, job type etc), real estate sites (to filter by house prices, property types etc) and many more. 


The problem with faceted navigation


The problem with faceted navigation is, if it’s not controlled, your site can end up with (quite literally) billions of URLs with low value or duplicated content. Imagine if an indexable URL was created every time a new filter was applied? This is where “crawl budget” (the amount of URLs Googlebot will crawl on your site before it gets bored and jumps to the next site) really will become an issue. 

Using Gymshark as an example, there are over 28 available filters under the category “Mens”:


gymshark facet


As the filters can be applied in any order, and any amount, there are quite literally 3.3145523113e+40 (33145523113253374862572728253364605812736) different combinations… And this is just looking at the men’s clothes. 

Luckily, CMS’s like Shopify have built in systems to manage this for you. Again, using Gymshark as an example, I’ve applied the filter “black” on “men’s shorts”:


gym shark black filter


This is the URL generated:


However, Shopify automatically adds a canonical pointing back to the main category page:


Shopify canonical


Meaning it’s not indexable. 

In fact, Shopify actually blocks search engines from even crawling these various facets at the robots.txt level:


Shopify robots txt


Which is great, it means we’ll never run the risk of bloating our site with billions of URLs.


Other websites get around it by using an AJAX powered filter. Essentially this uses javascript to dynamically change the content on the page without altering the URL at all. 


However, there’s an unfortunate side effect to both of these solutions. One that calls for a little bit more customisation. By disallowing all the facets, a site with low domain authority will find it difficult to rank for longer tail transactional queries (like “men’s slim fit white dress shirt” which has 480/month global search volume). In fact, what we often find is a product page will rank instead of a category level page for these types of queries, which is misaligned with user intent. 


Of course you can try and target these by creating another collection to capture it, or utilising the “tag” feature within Shopify. The problem with creating lots of collections is it makes your site structure incredibly flat and it may get difficult to manage.


The problem with using tags is it won’t make the URLs indexable or update page titles, descriptions and on-page copy unless you use a 3rd party app (or a combination of them). Even when you do use said 3rd party app, and allow a user to select multiple options, it either creates no indexable URL or every single permutation leading to our URL bloat issue. This wouldn’t have been a problem except I wasn’t able to then edit the robots.txt file or sitemap to tell it which URLs I actually did want to be indexed. Moreover, depending on how you play around with the settings (one for another blog) it also creates more collection pages thus making our site structure flat again.


In fact, when I ran Gymshark’s site through our proprietary OCF analysis where keywords that are optimised are green, keywords that require optimisation flag up as yellow, and keywords that don’t rank at all rank as red, we can see there is a significant lack of organic visibility around our ‘3rd level category’; the long tail facet modifiers.



It was the same case for my client who had a need for various colour and style combination facets to be indexable for their furniture. 


Here is another example from another site:



This page will not rank for “womens black dress” (2,900/month), as, technically, the URL doesn’t exist as it’s unindexable. 


I’d like to disclose that this isn’t a slight at Shopify, it’s the same (or with slightly different problems) for every CMS I’ve tried to use out of the box (WooCommerce included). 

The solution


So this is where it gets tricky and why I said a little more customisation is needed. If you’ve been following along you’ll have made the following observations. In an ideal world, we need a filtering system that does the following:

  • If the facet has search volume, we’d like it to result in an indexable URL.
  • If more than one filter is applied, and the resulting page still has search volume, we’d like the URL to always resolve to one permutation (i.e. we don’t want “/womens/black/dress” and “womens/dress/black” to be created).
  • If the facet does have search volume, we’d like to be able to customise the page title, meta description and add some on page copy (in the above example we’d like the page title to be “women’s black dresses” with an appropriate meta description and some on-page copy). 
  • If the facet doesn’t have search volume, we’d like the menu to either intelligently switch to some sort of AJAX based logic, so that a new URL isn’t even generated, or we’d like the URL that is generated to be blocked by robots.txt and noindexed.

At the moment I’ve found no app, plugin or out of the box solution that allows you to define these rules. In the case of my client, I moved the site from Shopify to WordPress, and worked with the site owners to find a plugin which did 70% of what we needed which happened to be the Premmerce product filter. We then got in touch with the plugin developers to get them to make the rest of the changes we need. 


The end result wasn’t perfect, but had incredible results. The facets we chose included colour, material, style, price and size options and ensures the following: 


  • Whenever one or two facets are chosen (excluding price as we didn’t want to create indexable URLs for these as there was no search volume for price based long tail queries) the URL that is created is indexable and has relevant on page copy as well as optimised page titles and meta descriptions. 
  • If two filters from the same “category” are chosen, the URL will be unindexable (i.e. if “red” and “black” filters are applied). 
  • If more than 2 filters are applied, the URL will be unindexable. 
  • If filters are applied in differing orders, the URL will always resolve to the same one.  


The reason it isn’t a perfect solution is because the URL is still created, it just canonicalises back to the seed category. In a perfect world I would have preferred the filter to switch into some sort of AJAX powered logic and not create the URL at all. 


An example of the sorts of pages we were now visible for, without having heaps of category pages or using multiple tags, are the following:


  • Dining tables (main category)
  • Oak dining tables (main category + 1 material filter)
  • Black oak dining tables (main category + 1 colour filter + 1 material filter)
  • Live edge oak dining tables (main category + 1 style filter + 1 material filter)
  • Pine dining tables (main category + 1 material filter)
  • Farmhouse style dining tables (main category + 1 style filter)
  • Farmhouse pine style dining tables (main category + 1 style filter + 1 material filter)


Each page has relevant on page copy and optimised metadata. 


An example of the sorts of pages that won’t be indexable due to our logic would be:


  • £700 oak dining tables (the price would make this URL unindexable)
  • Black, grey oak dining tables (the fact two facets are from the same category, colour, would make this unindexable)
  • Black, live edge, oak dining tables (the fact there are more than 2 facets would make this unindexable)
  • Live edge, farmhouse dining tables (the fact two facets are from the same category, style, would make this unindexable)


Again, it’s worth noting that you don’t necessarily need to move off of Shopify to do this. I migrated this particular site because I’m more familiar with WordPress and know more WordPress developers. The site was also relatively young and didn’t rank for much so the risk was minimal.

The result


The first noticeable result was that we had reduced the amount of URLs from 1,500 to 150 but were still visible for the same, important queries. On a bigger site, I’d say this would benefit our crawl budget. On a site this small, however, it’s pretty negligible. However, it does mean our site architecture wasn’t as flat and our internal linking strategy was made much simpler. 


Secondly, we became visible very quickly for a lot more longer tail keywords (with decent search volume). Within 2 months we’ve improved organic visibility by around 230%… and it’s still rising. 


Faceted navigation results

Other examples


I’m going to use this section to point out some other, great examples of a solid faceted navigation strategy. Starting with my favourite, Wayfair.

Looking at this URL, which is targeting the “beds” category: https://www.wayfair.com/furniture/sb0/beds-c46122.html



Wayfair faceted navigation


It ranks for 1,900 keywords and gets around 18.5k of traffic a month:



When I apply a filter, in this example I’ll do “bed size” and select “single/twin”, an indexable URL is created: https://www.wayfair.com/furniture/sb1/twin-beds-c46122-a115~125.html

This indexable URL also has updated the H1:



And ranks for 417 keywords receiving around 5,400 organic visitors a month:



It’s worth noting that it can be improved further by updating the page title and meta description:



If I apply another filter, in this instance the colour “white”, another indexable URL is created with an updated H1, www.wayfair.com/furniture/sb2/twin-white-beds-c46122-a115~125-a122~150.html:



Which itself ranks for 144 keywords and receives around 555 organic traffic a month:




It’s also worth noting, it didn’t matter what order I applied those two filters, the URL would always resolve to the same one which is super important. 


Finally, I apply a third filter, another colour – this time “grey”, and the page H1 reverts back to the core category, “beds”:




And the URL is unindexable as it canonicalises back to this URL:



As you can see, Wayfair’s faceted navigation has created indexable, customised pages for thousands of longer tail queries (2 filters deep or less), without any danger of duplicated content.


Another great example of faceted navigation for a clothing site can be seen on https://www.next.co.uk/.


Remember how we saw that Gymshark struggled to rank for colour based queries (i.e. a 3rd level category type keywords)? Next’s faceted navigation ensures they’re much more visible for these longer tail searches. For example, when I type in “men’s white t shirt” they currently rank first from the date of this publication:



The URL that ranks is: https://www.next.co.uk/shop/gender-men-productaffiliation-tops/category-tshirts-colour-white#1_0


Which has an optimised page title and meta description:



As well as a relevant, optimised H1:



As you can see, it’s not a dedicated “collection” or category page; it’s simply the Men’s t-shirt category with a “white” filter applied. If I apply more filters, the page becomes unindexable by canonicalising back to the main category. 




If you run a website which uses filters, make sure you maximise your chances of ranking for longer tail queries by unleashing the power of your facets. Generally, your filtering system should follow these rules:


  • If the facet has search volume, we’d like it to result in an indexable URL.
  • If more than one filter is applied, and the resulting page still has search volume, we’d like the URL to always resolve to one permutation (i.e. we don’t want “/womens/black/dress” and “womens/dress/black” to be created).
  • If the facet does have search volume, we’d like to be able to customise the page title, meta description and add some on page copy (in the above example we’d like the page title to be “women’s black dresses” with an appropriate meta description and some on-page copy). 
  • If the facet doesn’t have search volume, we’d like the menu to either intelligently switch to some sort of AJAX based logic, so that a new URL isn’t even generated, or we’d like the URL that is generated to be blocked by robots.txt and noindexed.


Unfortunately, I haven’t seen an “out-of-the-box” solution for this yet so you may have to get a bit of developer help. As a point of reference, I managed to achieve the following on WordPress for under £1k. It’s also important to note, I am only referring to category facet URLs and not those generated by site search. 



Further, valuable tips


Before posting this article I asked Luke Carthy for his thoughts on the topic. If you don’t know him, Luke is considered an expert in the world of e-commerce SEO. The further insights he gave I felt were incredibly valuable so have included them below:


When is the right time to leverage long tail keywords via faceted nav?

There isn’t exactly a perfect time to implement optimised faceted navigation, but there are two distinctive and precise times when I’d strongly recommend you don’t:


  • At site launch – When you’re launching a new e-commerce website, you want to keep things watertight, lean and simple, which means preventing all faceted nav URLs from being accessible to search engines.

    Keeping things simple and pages to a minimum will encourage Google and other search engines to get a thorough and comprehensive perspective of your new site first; especially those essential products and categories.

    This is even more important if you’re starting with a brand-new domain name with zero authority. Focus on the fundamentals such as providing a clean UX, maximising sales, improving site speed and cleaning up bugs first before tapping into opportunities within your facets.


  • If you’ve tech SEO gaps elsewhere – It’s really important to remember that improving your long tail keyword reach is a ‘nice to have’ and doesn’t fall into the space of critical technical SEO.

    To use an example, you could have a sexy faceted nav that’s designed to target great long-tail queries; but if you’ve key flaws in your tech SEO or site functionality (say millions of duplicate search URLs accessible to search engines, slow site speed and a tedious checkout process) your optimised faceted nav is going to be hindered massively.

    It’s essential that your technical SEO and core e-commerce functions are working well before you invest in optimising your faceted navigation to maximise return and double-down successfully on the newfound traffic.


When to turn a long tail faceted URL into a landing page

Once you’re really cooking on gas with your long tail faceted URLs, you may begin to see that specific keywords are really doing the numbers; either from a traffic or sales perspective.


If this is the case for you and depending on how much product you’ve available that relates to that specific query, it could move the needle further by turning that faceted nav URL into a fully merchandised landing page instead.


By building a properly well-thought-out landing page, you could improve your rankings even greater for those golden keywords and simultaneously provide your potential customers with a much-improved shopping experience too.

For more great Shopify tips check out Burst Commerce’s excellent guides. For an app which helps manage faceted navigation on Shopify check out Boost Commerce’s faceted navigation app.

Andy Chadwick Online Marketing


Businesses approach me to generate more leads via the web.

I've developed my own tools that use industry leading machine learning and artifical intelligence meaning you'll get more accurate insights, quicker. Contact me for a data driven approach to SEO that is truly different.

Share This