What is Faceted Navigation?

Faceted navigation is a panel located on the sidebar of websites that allows users to filter and sort results based on various product attributes.

The most common product attributes are size, color, price, and material.

Here is an example of faceted navigation to help users find products based on shoe size and color:

Faceted Nav

(Faceted navigation on a clothing brand's website.)

While faceted navigation helps visitors easily navigate a site, it creates a nightmare for SEO. Each filter selection creates multiple URLs that can lead to serious repercussions for your organic search efforts.

The main three issues boil down to:

  • Duplicate content,
  • Diluted link equity, and
  • Wasted crawl budget

How Faceted Navigation Impacts SEO

Despite its benefit for the end user experience, faceted navigation presents many troubles for search engine optimization purposes. Primarily, it creates duplicate content with many combinations of pages.

#1. Duplicate Content

When filters are applied on a page, new URLs are created even though the content stays the same, for the most part. This, of course, creates a duplicate content issue since you have multiple pages that serve the same purpose.

(Duplicate content occurs when two or more unique URLs contain the same content​.)

If, for example, you land on a page that sells wedding shoes and you first select a color (e.g. purple) and then the heel height (e.g. high heel) it will create a page:


If you select the heel height first and then the color, it would create a page like this:


These pages both serve the same purpose, and are duplicate pages.

This is just one level duplication: imagine if you have more than two facets, and how many combinations of pages it will create then.

Another example of this is the option to sort products by price, which could create multiple pages with the same products on it, just in a different order.

#2. Diluted Link Equity

Having duplicate content as a result of faceted navigation filters results in diluted or split link equity between duplicate versions and can result in search engines not indexing the optimal page.

Internal linking will be spread across multiple pages. Instead of one variation of a page to link to, there may be hundreds. Instead of one page getting the benefit of all the links to it, some of those links go to duplicates.

This is why you want users to be able to navigate as they please, but have a canonical tag on the backend that ties everything together and gives Google a clear page to index.

#3. Wasted Crawl Budget

Faceted navigation can also lead to crawl waste: Google will spend time on duplicate pages and may miss and/or not have time to crawl your valuable pages.

Faceted navigation can create an almost endless combination of your core URLs — this is called a spider trap because bots literally get trapped crawling.

Faceted Navigation and the End User Experience

Faceted navigation is important for the end user experience because it makes accessing and navigating a site — and locating specific products (or information) — a simpler process.

If you choose to index long-tail pages, then those faceted pages can appear on the SERPs, so users don’t have to 1. Navigate to a site 2. Find the search bar or filter column 3. Narrow down the results to the items they’re interested in.

Instead, faceted navigation allows users to search for “Nike running shoes” and be brought to a site with the brand filter “Nike” and the product filter “Running Shoes” already applied.

Enhancing the shopping experience in this way can work to earn more conversions, since users are more likely to quickly and easily find the product that matches what they’re looking for, as opposed to getting lost in the site and returning to the SERP.

However, you don’t need to create facets just for the sake of doing so. Your main priority for the user should be relevance. You first need to determine what faceted navigation filters would make sense to create for your site.

It would be a poor search experience to create too many faceted pages that do not connect with actual searchers’ needs.

Let’s take a more in-depth look at our running shoes example using seoClarity’s Topic Explorer.  

(Summary information from seoClarity's Topic Explorer.)

There are more than 70,000 keywords related to this topic! To help us uncover how people search for this topic, we can look at the list of associated topics, sorted by count of keywords, or search volume.

(Discovering how people search for "running shoes".)

Here are a few topics that stand out:

  • Men/Women: Indicate a demand for gender-specific shoes.
  • Running/Trail: Indicate a demand for activity-specific shoes.
  • Nike/Brooks/Adidas/Asics: Indicate a demand for brand-specific shoes.
  • Black: Indicates a demand for color-specific shoes.

To dive even deeper, we can use the Keyword Patterns to uncover all the specific variations of how people search for running shoes. This view also shows you search volumes and CPC value. 

Running Shoes - Keyword Patterns GIF

(Uncovering keyword variations and their respective search volume demands.)

This is a great way to find your opportunities to form your facet roadmap. You can even filter down by searcher intent to narrow in on the transactional intent keywords: these are all popular topics that would make great faceted filters, since the data just proved that they are in fact relevant to the user, and in demand. 

Should You Index Faceted Pages?

Many people wonder if they should index their filtered pages, or canonicalize them to their parent category.

It may be worthwhile to index your faceted pages, depending on a few factors.

The demand for a faceted page should be your determining factor for indexing that page.

If you do decide to index a filtered page, let’s say the Black Running Shoes category that lives under the main category of Running Shoes, you increase your chances to rank for that specific query.

Just be sure that 1. There is enough demand for that specific query/item, and 2. You optimize the page to be unique to avoid duplicate content issues and make it a worthy page for Google to rank.

Otherwise, you rely on your site’s overall authority and relevance to rank for the parent category of Running Shoes, where users would land, and then filter down to “black”.

Another factor that affects whether or not you should index faceted pages is the amount of content. You always want to provide enough information to prove useful to the users, and avoid thin content.

If there are not enough results on the faceted page (i.e. less than 3 to 5 products) then don’t index that page — rely on the main category page instead.

Here’s an analogy I use to explain this to clients: The content should be similar to if someone were to ask a store associate about the product category and what they carry in the store. If you only have one item, that store associate wouldn't have much to say. The same goes for your website: If there’s not much to say, there’s no need to index.

Aleyda Solis put together a useful infographic to follow to determine if you should index your faceted pages:

(Image Source: Aleyda Solis)

If you determine that some or all of your faceted pages should not be crawled, there are a few options you can take to solve this challenge.

  • Noindex
  • Robots.txt
  • Canonicalization

Noindex Tag

A noindex tag will tell web crawlers like Googlebot which pages to not include in the index. These pages will, however, still be crawled, and will therefore still take up crawl budget and dilute link equity. The noindex tag should not appear alongside a canonical tag.

Robots.txt File

Implementing a robots.txt disallow protocol can keep Google away from unimportant pages and out of the index, but Google is also known to index content blocked from these protocols even if they do not crawl it.


A canonical signals to Google that a group of similar pages has a preferred page. This preferred page (or the “canonical page”) should save link equity, although all the pages may be crawled.

Auditing Faceted Navigation

If you’re working with a site with faceted navigation in place or just getting started, it’s good to start with an audit of your pages.

Here are the questions that an audit of faceted navigation can bring answers to:

  1. Are you blocking pages that are not supposed to be blocked?
  2. Are you indexing pages that are not supposed to be indexed?
  3. Are you wasting crawl budget?
  4. How many pages created by faceted navigation are duplicate content?

The site you manage may have thousands or millions of pages with faceted navigation in place — and only the sites that present it in a valuable way without duplicates stand to benefit from an SEO perspective.

That’s why we created our built-in crawler with no artificial limits and full customization. It’s even been battle tested on a 48-million-page site.

Let’s break down each of the questions about and how to find their respective answers.

#1. Are you blocking the wrong pages?

Let’s take a look at this scenario with our web crawler. We want to discover if we block pages are blocked that we actually want to be indexed.

Let’s say, for example, you work in the gift industry and block the price facets, but find out that people do in fact search for gifts by price.

(Topic Explorer in the seoClarity platform.)

Now that you have the data-backed knowledge that gifts by price is a popular search pattern, you can leverage seoClarity’s Actionable Insights to instantly identify if you’re blocking these pages with a robots.txt protocol.

You can also identify if these pages have are noindex.

If you have these pages blocked, you miss the important opportunity to rank for these long-tail keywords.

#2. Are you indexing the right pages?

With your crawl data in the seoClarity platform, you can review the crawl by page depth. This lets you see if you’re indexing those deep-level pages that are not supposed to be indexed.

With faceted navigation, you will have an end point — that is, there will be a section of your site that you don’t want to be indexed at a certain level.

You can also use bot logs to identify if Googlebot is crawling at a depth 4 or 5 pages more than your depth 1 and 2. That means that you’re wasting your crawl budget!

To summarize: by looking into the page depth and log file data, you can identify if any of your pages are being crawled and indexed that shouldn’t be.

#3. Are you wasting the crawl budget?

Bot Clarity, GSC, and GA can uncover if you’re wasting your crawl budget.

If page depth 4 or 5 takes up a large portion of the crawler's budget (they get more hits from Googlebot than any other pages on your site) and those pages do little to pull in organic search traffic, your crawl budget is being wasted.

Recommended Reading: How to Find SEO Insights From Log File Analysis

#4. How many pages are duplicate content?

To answer this question, you’ll use the crawl data to identify any instances of duplicate content, but before you do that, there’s some things to consider.

Is there a hierarchical order of how faceted are appended to your URLs? (Color facets are always first, and size facets are always second, for example.) If you know these details, you’ll have an easier time locating duplicate pages.

Remember our weddings shoes example form earlier. With a site that sells shoes, the wedding shoes category page URL may look something like this:


If a site visitor applies a color facet, the URL would look like this:


And with both color and size applied:


Now let’s assume that the user applies a size filter first, then the color filter. We'd be left with something like this:


These two pages are identical and duplicate content.

Based on the preferred hierarchical order, this is the page that I want to be indexed and rank:


In this case, you’ll need to add a canonical tag on this page, https://example.com/wedding shoes/high-heel/blue/ to avoid duplicate content.

Based on your crawl data, you will be able to identify and detect if the canonical tag exists on this page or not.

Creating Faceted Navigation With Ecommerce Platforms

Because of its benefits for the user experience, many of the leading ecommerce platforms have the ability for faceted navigation built in. Site owners can activate this configuration to take advantage of it for SEO and user experience purposes.

If you have one of these popular ecommerce website platforms, follow the respective link to learn how to implement faceted navigation.


Salesforce users can create facets with a simple 8-step approach. All users need to do is manage their filters internally to set and save your filter selection.

The Product Category filter is set by default, and so you can’t change it.  

Commerce Cloud

Oracle’s Commerce Cloud lays out the steps to add facets, and users have different options to select and order the facets:

  • Specify default facets
  • Create a list of ordered faceted for a collection
  • Create a list of ordered facets for search terms


Magento explains their approach to filterable attributes, including how to make facets filterable so users can dwindle down the product offerings with more than one filter.  


Sitecore users can configure their facets by specifying the item field name, or they can specify a reference to a class in the facet filter field.

Faceted Navigation Best Practices

If you plan to create new faceted navigation, whether for the first time or adding more to a page, there are best practices to follow to ensure its implementation.

For those just starting out with faceted navigation, Google Search Central offers a comprehensive list of best practices.

The Search Central blog also offers best practices for existing sites with faceted navigation, too.

Common Mistakes With Faceted Navigation

#1. Non-Standard URL Format

Filters applied to a page tend to affect the page’s URL, as we saw with our examples throughout this post.

Search engine crawlers have a difficult time parsing non-standard URL encoding which may result in pages not being crawled or indexed.

In cases like this, Google recommends you “connect key=value pairs with an equal sign (=) and append multiple parameters with an ampersand (&).”

#2. URL Directories

Search engine crawlers are not able to differentiate useful values such as a category distinction (e.g. /jeans/) from a useless value like a session ID within URL structure. Since session IDs don’t actually change the page content, they should be left out of the URL.

Other values that don’t change the page content and therefore provide no value are:

  • Tracking IDs
  • Referring IDs
  • Timestamps

#3. User-Generated URL Information

User-generated values such as latitude and longitude, time stamps, etc. should not be included in parameters that can be crawled and indexed. These user-specific elements could combine to create a near infinite number of useless URLs.

You can put these user-generated values into their own directory and apply a robots.txt disallow to that directory.

#4. URL Parameters Without Logic

Creating URL parameters without applying logic only increases duplicative content and creates more problems for web crawlers.

Google offers a good example of this faceted URL issue.

Here, we have a URL with extra, irrelevant parameters that confuse search engine crawlers:

example.com/gummy-candy/lollipops/gummy-candy/ gummy-candy/product?swedish-fish

Best practice here would be to write the URL as:

example.com/product? item=swedish-fish&category;=gummy-candy

#5. Extra Refinement Options

Allowing users to select more filters for further refinement when the page already returns zero items can cause a poor user experience and issues for search engine crawlers.

If no items exist, remove the ability to apply more filters.

This prevents users from trying to fruitlessly apply more filters in hopes of finding an item, and prevents crawlers from landing on and crawling useless pages.


Faceted navigation presents an easy, accessible search experience for users, but creates a complicated path for search engine bots.

That doesn't mean you should avoid faceted navigation altogether! You just need to be aware of potential pitfalls so you can avoid them, and save your crawl budget while doing so.