Faceted navigation can be notoriously difficult to get right from an SEO perspective. In this article we’ll be looking at some of the most common mistakes that are made, and how to avoid them.
What is faceted navigation?
Faceted navigation refers to the use of filters to assist users in sorting and finding products, services or information on a website.
Faceted navigation is typically used on e-commerce websites and job listing portals, where users find their desired result (usually a product or set of products) through a process of narrowing down options by applying specific filters.
For an e-commerce site, these filters will usually be attributes like brand name, colour, style, or product type, however, the filters used will depend highly on the type of products on offer (Superdrug wouldn’t have the same filters as Superdry, for example).
For smaller brands it can be challenging finding the time, resources and budget to dedicate to doing the ‘legwork’ that’s required for successful faceted navigation from an SEO perspective. For every category, subcategory and filter, there needs to be considered thought behind it, for example:
- ‘What does this page offer of unique value?’
- ‘Do we want it to be crawled, indexed and ranked?’
Figuring this out takes time and effort, both of which are usually in short supply for your average small and growing business.
Amazingly, faceted navigation is still something that trips up even the largest e-commerce websites. Between the technical set-up and management of filters and filter pages, and the handling of dynamic content, there’s quite a bit to get right. However, the rewards are there for those who persevere.
Common SEO issues with faceted navigation
Although there are several things that can go wrong when implementing faceted navigation, if considered holistically, and with a methodical, technical approach, most of the following mistakes can be avoided.
1. Creating multiple pages with duplicate or thin content
Filters can be a great tool for helping users find the products they want quickly and easily, so it can be tempting to add as many filters as you can think of. However, not only can too many filters overwhelm your users (think paradox of choice), but with each new filter you add to your site you’re potentially creating a multitude of additional URLs. A couple of extra URLs here and there may seem manageable, but scale this up across all of your categories and products and it’s very easy to quickly create tens of thousands of separate pages. This can cause several headaches when it comes to SEO; from thin and duplicate content through to have an impact on crawl budget, so it pays to be mindful of this when building (or reviewing) your website.
2. Filter selection order creating separate, duplicate URLs
Taking a fashion site as an example, let’s look at how one product can end up with multiple URLs depending on the order in which filters are applied. Imagine you’re looking for a black, silk maxi dress for a holiday. Now, depending on how you navigate through the site, you might add your filters in a slightly different order:
- Colour/material/style = /dresses/?colour=Black&material=Silk&style=Maxi
- Colour/style/material = /dresses/?colour=Black&style=Maxi&material=Silk
- Style/material/colour = /dresses/?style=Maxi&material=Silk&colour=Black
- Style/colour/material = /dresses/?style=Maxi&colour=Black&material=Silk
- Material/style/colour = /dresses/?material=Silk&style=Maxi&colour=Black
- Material/colour/style = /dresses/?material=Silk&colour=Black&style=Maxi
Suddenly you’ve got multiple URLs for exactly the same set of dresses! On the surface, this seems like a nightmare, but it’s actually perfectly acceptable if you’ve got one of the following:
- A rule in place to ensure filters are only ever added to the URL in a consistent order e.g. colour/material/style. This means you’ll only ever get one URL and reduces any crawl budget issues.
- A canonical tag declaring which is the master URL.
- A NoIndex tag on all of the duplicate pages.
Options two and three prevent issues with duplicate content, though don’t help with crawl budget issues, so option one is generally the preferred route.
Definitely don’t go down the route of using both a canonical and NoIndex on the same page; you’ll send conflicting signals to Google about whether the page should be indexed or not.
3. Having similar products pages with little or no content differentiation
In instances where you have products with minimal differences (like colour) and each has their own URL, we’d recommend displaying the most popular colour version in search results (based on traffic data from Google Analytics, search volume or conversion data, whichever is most suitable).
The other colour parameterised URLs should then canonicalise back up to the master version, so you only ever have one version being used for indexing purposes. Alternatively, you could disallow the colour parameter via your robots.txt file, which would be an option if crawl budget is a concern.
An alternative is being able to dynamically select colour directly on the product page without updating the URL, but this depends on CMS capabilities, and may not be the best option if you’re seeing a lot of search volume for individual colours.
4. Canonicalising filters upwards
By this I mean canonicalising filter pages back ‘up’ to the subcategory page, or even the main category page. Again, this will usually be done for avoidance of thin content, however, if there’s not enough content on your subcategory pages, a canonical isn’t the answer; you either need to add more content (more on that in a moment) or decide whether to NoIndex the page.
The trouble with using canonicals in this way is that you’re preventing pages which canonicalise elsewhere from being indexed and ranked in their own right. First-level filter pages, and almost certainly subcategory pages, should have enough products and content to merit a self-referencing canonical (or no canonical at all, if that’s your preference), and therefore be available for indexing and ranking for relevant longer-tail queries.
The image above shows a well known clothing retailer canonicalising the filter page for ‘black activewear’ back to the main activewear category page, potentially missing out on considerable traffic.
5. Not implementing pagination correctly
Another mistake to avoid is canonicalising all of the pages in a paginated series to page 1. By doing that you’re essentially saying to Google, ‘hey, all of these pages are the same as page 1’, which could mean you miss out on having your other pages indexed.
On 21st March 2019, much to the surprise of SEOs across the globe, Google announced the retirement of rel=prev/next markup. Previously, rel=”prev”/”next” markup had been the go-to recommendation for pagination, since it was believed that it was useful in clearly indicating to Google that the pages belong as part of a series, and therefore consolidating indexing signals and authority across the set.
So where do we go in the post rel=prev/next era? For most sites, there’s no need to take any action. Those seeing traffic from Bing should certainly not look to remove it, since Bing still uses rel=prev/next markup. There are other options, so before making any changes to your site (or building a new site), ensure you’ve considered all your options for dealing with pagination. Ayima have recently published an article on this very topic, check it out here.
6. Having too many filter pages opened up for indexing
For the majority of sites using faceted navigation, opening up every single filter page is unlikely to be the best way forward. You’ll want to select filters for indexing that offer the best opportunity in terms of search volume and value to users. When you’re looking at pages with multiple filters applied, the keywords that trigger this page will likely be so long-tail or niche that you’ll only be getting a few searches a month for them (if any at all). If these pages are also returning few or no products, then consider whether it’s worthwhile to NoIndex these pages or implement filter rules (more on this in point 10).
7. Having too few filter pages opened up for indexing
At the other end of the scale we’ve had instances where things have gone the other way and clients have had a blanket rule to block all filter pages from indexing, or even crawling in some instances. More often than not, it’s done when there hasn’t been sufficient time or scope to dedicate to sorting through the filters and determining which should be crawled/indexed, and a blanket NoIndex keeps the site on the safe side of thin and duplicate content penalties. We’ve also seen NoFollow directives in place across all of the filter links, which means that they’re generally not even being seen by crawlers.
The problem here is clear: by excluding all your filters from crawling and/or indexing, you’re probably missing out on being visible for a heap of really good keywords, particularly the longer-tail queries that contain a product type with a couple of modifiers (e.g. ‘blue woollen mens jumpers’). If you do end up ranking for that keyword with a different URL, it’s usually not going to be the most optimal page for either SEO or for users, and that’s just lining your users up for a poor experience (and you for a low conversion rate!).
8. Preventing crawling of any filter pages via robots.txt
Yes, this really does happen! We’ve seen one instance arise recently through misguided advice from a client’s previous agency to keep only ‘clean’ URLs ranking in the SERPs, but it can also be done due to time/resource constraints (or just being a bit lazy!). Don’t block crawlers from your filter pages completely, or else you’ll likely never see organic traffic coming into these pages.
9. Not having a clear strategy behind optimising your filters
So how do you decide which filters to open up? Whilst there are multiple ways you can approach this, it pays to have a plan in place and work methodically. Typically we work through a site category by category and conduct keyword research to identify which filters and facets are worthwhile opening for crawling and indexing. However, you may find it easier to approach the task on a filter by filter basis.
In my next blog post, I’ll be publishing a step-by-step guide to undertaking keyword research for optimising facets and filters, so look out for that if this is something you want to learn more about.
10.) Not implementing site-wide rules for managing pages with multiple filter parameters
For many e-commerce sites, inventory churn can cause issues with thin content, particularly when you’ve got bespoke or unusual products, or products that tend to sell out often. Empty product pages are not favourable to Google. The good news is that there are simple ways to keep your skinny pages out of the index. One of the most straightforward is to apply a rule that sets your pages to NoIndex after a certain number of filters have been applied. The exact number will depend on the size of your product range (and how ‘niche’ the filter might be). For most sites, 2 or 3 filters is enough to seriously whittle down the product offering. Any more than that and thin pages start to become more prevalent.
11. Suddenly giving Google free reign to crawl everything
So you’ve identified all of the pages you want Google to crawl and index, hooray! Let’s let the spiders loose, no? Not quite. Approach this in a methodical, staggered way. Why? When you go from having Google only being able to access a relatively limited number of pages, to suddenly having free reign on tens of thousands of facets and filters, you could run into major issues with crawl budget. Prioritise the filters to open up first and roll the rest out over a period of time.
12. Not providing enough content on your category and filter pages
One of the most common problems with optimising category and filter pages is adding content without distracting the user or pushing products below the fold. Typically, SEOs have got around this by placing chunks of optimised text at the bottom of the category and filter pages.
This has proved to work well for many sites, so continues to be used widely. However, in a recent Google Webmasters Hangout, John Mueller advised instead to integrate content into the category pages, rather than ‘just [throwing] content in the footer of the page under the listings for the products’.
This wasn’t met with much confidence from the wider SEO community, however, with many saying they’d still continue to add content to the footer of pages, despite it not being considered best practice by Google. More on that story here.
In the image above, this is the only content that appears on the page besides the products themselves. “
Remember, often smallest things have the biggest effect” . “Remember, category pages should have unique, relevant and ideally integrated content to have the biggest effect”.
13. Not dynamically updating your metadata
When new pages are created once filters are selected, you want the really important content-related elements of the page to update to reflect the filters that have been selected. So if we imagine a user is still trawling Google for that perfect black maxi dress (and using the modifiers ‘black’ and ‘maxi’ in their query), we want to reflect that in elements of our filter page, like the meta title, the meta description, the H1 of the page, and ideally the content.
The ease at which this can be done depending a little on the capabilities within the CMS for dynamically updating your metadata and content – dynamic updating is typically the best option for doing this at scale.
14. Forgetting about internal linking
Don’t forget that once you’ve got your filters up and running, you can use internal linking to help highlight the ones you’ve identified as being important to you.
Consider linking to your valuable filter pages from elsewhere on the site, such as blog posts or new trend pages. If your filter pages use query parameters, it may be worthwhile creating a more user-friendly static URL to use when linking from high authority pages on the site like the homepage or even in the footer. Canonicalise your parameterised versions to your static page to ensure this is the one that appears in Google’s index.
We work with a well-known luxury, ethical e-commerce brand. Some of the issues we came across included subcategory and filter pages being canonicalised back up to categories, sub-optimal pagination and poorly optimised metadata across the site. We reviewed all the filters across each of the categories and subcategories and gave prescriptive recommendations for how to optimise them. Implementation began in earnest in the early Autumn of 2018 and we saw uplift in organic traffic of around 30% towards the end of October and into November.
In terms of organic keyword visibility, we also saw great improvements. The number of keywords the domain appears for increased by 29.68% (an increase in visibility for around 4,500 keywords) with the number of keywords in positions 1-10 increasing by 28.57%.
For a broader overview of how to start off on the right foot with your e-commerce SEO strategy, check out Greg Edwards’ blog: ‘The Beginner’s Guide to Ecommerce SEO’.
For a more in-depth look at faceted navigation and how to avoid sending Google conflicting signals via meta tags and canonicals, take a look at our Head of SEO Sean’s slide deck from Brighton SEO in September 2018
You can also check out Sean’s recent podcast where he chatted to Alina Ghost on this very topic.