Running a large enterprise, listings, news media, or eCommerce website means that you’ll likely need to organize thousands or millions of pages in the best way possible — for both your visitors and search engines.
On sites that include large numbers of product pages, job listings, articles, or other types of content, it’s important to give users convenient tools to find exactly what they’re looking for on your site. That’s where faceted navigation (also known as faceted search) comes in.
Faceted navigation is an effective tool for on-site search and filtering — it’s very commonly found on eCommerce and listings websites. It can encourage users to stay within your domain for their search, rather than returning to search engines to begin their query anew. And it’s certainly a nice feature to have!
But faceted navigation can cause serious SEO issues if it’s not properly implemented.
Having a large number of facet combinations available can result in a glut of auto-generated URLs with varying degrees of duplicate content — and a host of related SEO issues that could negatively impact your site’s search engine rankings and organic traffic.
In this guide, we’ll provide faceted navigation examples, outline the associated SEO concerns, and give you concrete tips for avoiding faceted navigation issues.
So, how does faceted navigation work? And how can you optimize faceted navigation systems on your website to avoid SEO issues?
Let’s dig in.
What is faceted navigation / faceted search?
Faceted navigation is an internal search system on websites that allows users to narrow down their search results through a combination of multiple filters.
Each filter included in a faceted navigation system corresponds to a specific attribute — or facet — of a piece of website content (for example, a product being sold).
(Note: We reference products and product pages a lot in this article — that’s because faceted navigation has become fairly ubiquitous on retail websites, so it makes for an easy-to-understand example. Of course, these same filtering and search systems can also be applied to other content types as well — for example, on job listing directories, travel sites, or news article archives. More on that below!)
Here’s an example of faceted search as implemented on Adidas.com:
Faceted search allows users added granularity and flexibility in searching for exactly what they are looking for on a site.
Rather than having to sift through a large number of products grouped under one broad category page, visitors can save time and frustration by searching only for products that meet their exact criteria and needs—such as searching only for t-shirts in their specific size and favorite color.
Facets that you may come across on eCommerce sites, for example, may include:
- Price range
Each filter option in a faceted navigation system corresponds to a specific product or content attribute. So rather than having to browse through all of the products within a large category, users can employ various filter combinations and get very specific with their search.
Why faceted navigation is important for user experience
Websites that use faceted navigation can create a simpler, more effective search process for website visitors and improve user experience overall.
When you provide a more seamless page experience for your users, you’re likely to get a lower bounce rate because potential customers stay on your site longer when they are not frustrated by poor UX. According to Toptal, 88% of online consumers are less likely to return to a site after a bad user experience.
Faceted navigation examples
While faceted navigation is common on retail websites, that’s certainly not the only application for this robust internal search system. Let’s take a look at examples of faceted search across several industries, so you can see the different ways that it can be used.
Faceted search on eCommerce websites
As we’ve covered above, faceted navigation is often associated with large eCommerce websites as they generally offer customers a wide range of products in different colors, sizes, styles, and other attributes.
Here’s an example of faceted navigation on an eCommerce site that many of you may be familiar with:
Example: Faceted navigation on Amazon
Users can filter their results across multiple filters on Amazon, including filtering for customer rating, price, brand, size, and product type.
Faceted search on news media and library websites
Large news media and academic publishing websites — as well as libraries and research databases — often use faceted navigation to help users quickly find the articles or research they need. This can be a crucial feature to include when a publication has an archive of content that spans decades, or when a publisher’s range of topics is expansive.
For sites in the academic or scientific publishing space — as well as for libraries and research databases — faceted search can help researchers and journalists save a lot of time when searching for the most relevant articles, studies, and data for their specific needs.
Example: Faceted navigation on JSTOR.org
For example: rather than forcing users to browse through thousands of pages within loosely grouped categories of research, sites like JSTOR use faceted navigation to allow for more granular article searches.
In addition to general keyword searches, JSTOR users can further refine their searches with filters for multiple criteria, including:
- Content type (article, review, book, research report, etc.)
- Publication date range
- Journal topics
- Specific journal titles
- Access type
Faceted search on listings websites
Listings-focused sites (like travel and hospitality, real estate, or job listings directories) also frequently use faceted navigation.
Airbnb offers a good example in the travel space — their faceted search system lets users search for properties that match their preferences for location, price, amenities, booking options, and property type, among other attributes.
Example: Travel & hospitality faceted search on Airbnb
Faceted search on stock photo and digital asset marketplaces
Stock photo and digital asset sites — such as iStock, Alamy, Unsplash, Kaboompics, and Pixabay — have faceted navigation that makes it easy to skim through millions of images to deliver specific and relevant results to searchers.
Example: Faceted search on digital asset marketplaces: iStock
These filters vary from one stock photo marketplace to another. Searchers are able to filter their queries by attributes including:
- Image orientation
- Image size
- Number of people shown in the image
- Age of people shown in the image
- Date published
What are URL parameters — and how do they relate to faceted navigation?
URL parameters (also called URL query parameters) are important to understand in relation to faceted search because a number of the SEO issues associated with faceted search are actually to do with URL parameter handling.
When a user chooses filter options as part of the faceted search process, their results are shown to them via a process of adding parameters to a base URL.
The resulting URL refers usually looks like this:
The URL parameters are shown above in bold text. They generally refer to everything that comes after a “?” in a URL.
To summarize: in faceted search, URL query parameters are the auto-generated strings of text that follow the base URL after a search is executed. These parameters deliver a user’s desired results according to the filters they’ve selected. (Note: Some digital marketers may be familiar with ‘UTMs’, or urchin tracking modules, which also use URL parameters — in the case of UTMs, URL parameters are used to track metrics on a page.)
For a real-world example of how URL parameters are added by faceted search, let’s look at some Yelp faceted search results:
From the homepage, if you navigate to the main category page for restaurants in San Francisco, you get this URL:
If you then filter by Category and choose Mexican cuisine:
The URL becomes:
(Note the new URL parameters added in bold above.)
If you go ahead to filter by Features and choose “Good for Kids”:
This newly added parameter also reflects in the URL:
(Note, once again, the additional URL parameters added in bold above with the added facets selected.)
How might URL parameters cause problems for SEO?
So while faceted navigation is useful for a family looking for a nice restaurant that makes delicious Mexican dishes in San Francisco, it may negatively impact a website’s search performance if it’s not carefully optimized and implemented.
Common SEO issues associated with faceted navigation
Many SEO concerns relating to faceted navigation are largely the result of issues with URL parameters, as mentioned above.
In the Yelp example above, there are 29 categories, 38 features, 75 neighborhoods, and 5 distance filtering options on the page — this means hundreds of thousands of possible combinations that would each have their own individual URL, but may also contain extremely similar content.
The auto-generation of this many URLs via faceted search can lead to several common SEO concerns, such as:
Faceted navigation and duplicate content
The internal search result pages generated by faceted navigation will have individual URLs but may contain very similar content.
Per Google’s guidelines, it’s best to avoid creating duplicate content. Having multiple URLs with duplicate content means these pages will compete against each other to rank for a target keyword. Duplicate content may also be flagged and penalized by Google as deceptive, in some extreme situations: “Duplicate content on a site is not grounds for action on that site unless it appears that the intent of the duplicate content is to be deceptive and manipulate search engine results. … However, if our review indicated that you engaged in deceptive practices and your site has been removed from our search results, review your site carefully.”
Faceted navigation and crawl budget
Crawl budget refers to the number of pages on a website that a search engine will crawl in a given time period.
Google allocates crawl budgets to sites based on factors like website size, traffic, update frequency, popularity, and relevance.
Your crawl budget is limited and if Google spends more of its crawl budget for your site combing over thousands of low-quality pages auto-generated by faceted navigation, there’s less bandwidth remaining for the search engine to crawl your more important pages.
Faceted navigation and index bloat
Index bloat occurs when numerous URLs housing low-quality content are indexed by search engines.
Having many near-duplicate pages created by faceted navigation — and subsequently indexed by search engines — can create a poor user experience for those coming across your content in the SERPs — in addition to wasting your limited crawl budget. If visitors find your faceted result pages on the SERPs and see that they offer no real value for their particular search query, they may bounce off your website.
Faceted navigation and diluted link equity
Dilution of link equity is another SEO issue that may crop up alongside faceted navigation.
External websites will have to choose which of the duplicate pages they’ll link to. Inbound links may point to multiple URLs, instead of a single page. This spreads the link equity generated by those backlinks across the duplicate content pages, instead of providing more powerful link equity to a single page. (Note: This is where canonical tags can play a helpful role — more on that below!)
6 SEO best practices for faceted navigation
While faceted navigation can be very useful for users, it can also create critical SEO issues if it’s not properly implemented, as we’ve discussed above. Avoid common faceted search SEO mistakes by taking a careful approach and utilizing these technical SEO tactics for faceted navigation:
1) Use canonical tags on faceted search URLs to avoid duplicate content and link equity issues
When multiple URLs house very similar content, as is often the case with auto-generated URLs in faceted search, it’s worth using canonical tags to avoid index bloat and help consolidate link equity. Canonical tags help search engines know which is the ‘official’ version of that content so they know what URL to index.
Let’s look at the Yelp example above:
- The URL for the faceted search result is this: https://www.yelp.com/search?find_desc=Restaurants&find_loc=San+Francisco%2C+CA%2C+United+States&cflt=mexican&attrs=GoodForKids
- But they have implemented this canonical URL on the page to help avoid duplicate content issues: https://www.yelp.com/search?find_desc=Restaurants&find_loc=San+Francisco%2C+CA
2) Use standard URL encoding for faceted search pages
Sometimes faceted search may be set up to use non-standard URL encoding when it generates URLs for users’ results. According to Google, this is not ideal because their crawlers have difficulty with non-standard URLs.
Here are ways to optimize your faceted URLs:
- Use standard encoding and key=value& pairs for parameters instead of non-standard URL encoding.
||vs. non-standard URL encoding
- Use URL parameters rather than directories or file paths like session ID, referrer ID, and timestamps.
- Try to simplify your faceted URLs as much as possible.
- Consider adding relevant faceted URLs (those you do want to rank in search engines) to your XML sitemaps.
3) Block crawling of faceted search URLs with robots.txt
You may want to consider using a disallow directive in your website’s robots.txt to block search engines from crawling unnecessary faceted URLs if you want to avoid crawl budget issues.
However, it is important to understand that search engines, while being pretty good at following rules set out via robots.txt, don’t have to follow them. Not all search engines support robots.txt directives and some crawlers interpret syntax differently.
Make sure that the pages you don’t want to be crawled don’t have links (internal or backlinks) pointing to them so search engines understand that they aren’t relevant. Otherwise, search engines might still crawl and index these URLs, regardless of whether or not a disallow rule is in place.
To add robots.txt crawling blocks for faceted URLs, you can add a rule like this (note that the exact rule will, of course, depend on how your specific navigation works! This example uses ‘color’ as the example URL parameter that you’d like to block from crawls.):
The above rule uses the * wildcard, which works by matching any sequence of characters. Consider this the “any” character. When used following “user-agent” it is instructing any crawler that crawls the website to follow these directives.
That means, the above rule is blocking all search engines from crawling any URL with the “color” parameter in it.
This, however, only works if you want to block search engines crawling entire URL patterns (like the entire color parameter above). If you want to allow certain parameters to be crawled and not others, you would need to mix allow and disallow rules.
For example, if we want to prevent all search engines from crawling all URL “color” parameters except for the color black, your rule will need to look something like this:
Be careful with this as crawl blocking in this manner is effective only when there’s a consistent pattern within URLs. Otherwise, you might miss some faceted URLs or accidentally block crawling of some essential pages.
(See our guide to robots.txt for more details.)
4) Use nofollow directives on internal links to faceted URLs that you don’t want search engines to crawl
If you link to a faceted URL from another page on your site but consider that faceted search content relatively unimportant for your organic search efforts, you can add a “nofollow” tag to these internal links. This way, Googlebot won’t waste your crawl budget on the low-quality faceted search URL.
(Note: While Google uses “nofollow” as a guide for when not to crawl or index a page, John Muller says it’s not a 100% directive.)
5) Noindex faceted search URLs that you don’t want to appear in search engine indices
If Google still crawls and indexes your faceted URLs, you can add a “noindex” tag to the unnecessary pages to prevent them from appearing in Google’s index.
In the <head> of the faceted URLs, add this meta robots tag:
<meta name=”robots” content=”noindex”>
Ensure that crawling is not blocked in robots.txt in this case. Otherwise, the noindex tag will be redundant.
Note that while noindex prevents these faceted pages from being indexed, it won’t prevent crawling and may still waste crawl budget if those pages are being crawled (as pages must first be crawled in order to be indexed).
Using JS solutions could prevent duplicate pages in this sense: Visitors apply filters for a search, but no new URL forms because the process of filtered search happens on the client’s device without involving the web server. This could help to solve the problems of duplicate content, diluted link equity, and saving crawl bandwidth / crawl budget, but again, should be implemented carefully.
Faceted navigation can provide a great user experience that helps boost your website conversions — if it’s done correctly. Be aware of the SEO issues that may also come along with faceted search.
Whether you manage an eCommerce store, listings website, online news publication, or large enterprise site, you can keep faceted navigation SEO issues — including duplicate content, diluted link equity, wasted crawl budget, and index bloat — in check with the right technical SEO tactics.
For more tips on faceted search SEO, check out our SEO Office Hours notes on faceted navigation.