3 Gut-wrenching SEO Filters Lessons from an Enterprise In-house SEO


A few words from Kristina, author of MarketingSyrup: my friend Zain once shared the issues he faced while implementing filter-based facets on the Home Depot website. I’ve been talking about SEO benefits of eCommerce filters and facets for years, so I thought it would be really beneficial for my audience to get a real-life case study, especially from such a massive brand. I’m sure you’ll love Zain’s tips and benefit from the lessons he’ll be sharing in the post!

About Zain: Zain Husain is currently an SEO Manager at The Home Depot Canada and has been in SEO for 9 years. He’s worked from agency to in-house, taught SEO at Hacker You, and ran a digital marketing team at Staples Canada for 5 years. In his off time, you’ll catch him nerding out on astronomy, music, photography, cooking and more. Feel free to reach out to his LinkedIn here and say hello!


Indexing facets is one of the coolest and terrifying experiences for any SEO. You get to show hockey stick growth to your boss and team and enjoy the crisp high-fives. You also get to experience when things go wrong, and you’re like:

This is fine - KC Green
Illustration credit: KC Green

I’ll share with you valuable stories of what things went wrong. I’ll also explain how I solved them. My experiences came from both working at Staples Canada and The Home Depot Canada as an SEO manager, which I’m very fortunate to have been part of. We’ll take a look at different ways you can set up a system for indexing facets. Keep in mind that as a result of working on both massive e-commerce sites the system I’m proposing may have more than what you need, but hopefully, I can show you enough that gives you and your business room to grow.

Let’s Start from the Top of SEO Filters

SEO filters or indexing filters is a simple idea in one sense. You’re taking a page filled with products, and whenever a filter is applied, you’re exposing that to Google. Here’s an example of SEO filters in action: an e-commerce site with a page about running shoes. You apply a filter for “Black,” you’ll get a page that says, “Black Running Shoes.” This term has 1,000 searches per month, and now it’s in Google and you can drive even more traffic and sales.

eComemece SEO filters

Of course, you could just create that page – but we want to work smarter, not harder. That’s where SEO filters come into play. You create a system that decides what filter pages will be indexed in Google and which ones won’t be.

Before we move on, let me set the stage for you to help build our foundation on SEO filters:

A quick recap: SEO filters are pages that have a filter applied and the title of the page reflects the content such as “Black Running Shoes” and is now able to show up on Google.

Digging a little deeper what exactly changes when SEO filters is in action?

Taking the “Black Running Shoes” example let’s break down what changes.

Title tag: the tag that is the title of your page and is shown on the Google search results page

eComemece SEO filters - title tag

H1: It’s the header of your content. References headers like you would have in an essay. H1 is the most important and goes up to H6 which is the least important

eComemece SEO filters

URL: the web address of the page

eComemece SEO filters

Canonical: a tag that tells Google which version of the URL to crawl and prevents duplicate content issues. Webpages have many different versions of the same content. https://www.nike.com/ca/w/running-shoes-37v7jzy7ok is the canonical but that URL could also be https://www.nike.com/ca/w/running-shoes-37v7jzy7ok?asds or without the “www” https://nike.com/ca/w/running-shoes-37v7jzy7ok. Content is the same on all pages but the URL is unique. Canonical says forget the rest and focus on this URL, please!

eComemece SEO filters

All the pieces change dynamically when we see an SEO filters page enabled! Check how the H1 changes right before your very eyes like magic!

eComemece SEO filters

Now, look at what happens to all the tags when we go from the parent category page of “Running Shoes” to the SEO filters page “Black Running Shoes” What do you notice changes?

SEO Pro extension
Before filter is applied
SEO Pro extension
After filter is applied

Screenshot: SEO Pro extension

If you said: Title, Canonical, and URL – you’re correct! Bonus points for description as well 🙂 And as we’ve seen in the GIF above the H1 changes too! This all happens dynamically which makes SEO filters such a cool feature for e-commerce sites!

Okay, the last piece are two terms I’ll be using throughout are:

Facet – Name of the group of filters. i.e. Brand

Filter – Name of the value that lives under a facet. i.e. Adidas

What Do You Need for Indexing Filters?

You need filters that are properly named and facets that are organized. What do I exactly mean by that? For example, let’s say I want to target people looking for touchscreen laptops. Your facet name is “Touchscreen,” and your filter values are “Yes” and “No.” That wouldn’t be helpful because when your system puts those together as a title tag for Google or H1, it would say, “Yes Laptops.” Instead, for your Laptops category page, you should have a facet name of “Features” and filter values of “Touchscreen,” “Bluetooth,” “WiFi 802.11 AC,” and so on. That would give you “Touchscreen Laptops,” “Bluetooth 5.0 Laptops,” and “Wifi 802.11 AC Laptops,” which makes a lot more sense for the searcher and Google!

eComemece SEO filters
This won’t help you when you try to index “Touch Screen Laptops”
eComemece SEO filters
By making your value “Touchscreen” and renaming your facet name you are now ready for SEO filters!

This data should be as clean as possible with little duplication if possible. Your SEO strategy can change dramatically in terms of efficiency and effectiveness of results.

What helps is having a good technical team like a developer or architect who understands back-end and front-end web development. As an SEO, you have to be there to help guide the SEO filters system.

When I was first introduced to the SEO filters project, I did the following:

  • Looked at how our facet and filter data were set up.
    1. How many facets are there?
    2. What facets are global (or are in almost every single category)?
    3. When you put the filter values and category names together are there any weird names? (i.e filter values as “Yes,” or “No” for if Wifi enabled vs. filter value as “Wifi Enabled” “No Wifi” in the category of Digital Cameras 
  • After I have all that data in my excel file I then run all the filter value+category names through the Keyword Planner or tool that will give me search volume

Here’s an example:

Brand+Category = Samsung Microwaves (2,900 searches/month) or Dell Laptops (18,100 searches/month)

Colour+Brand+Category = Red Dell Laptops (70 searches/month)

I’ve learned in my experience that engineers go about building SEO filters differently. I’ll show the one I liked below.

A position system that relates back to the “global facets” such as:

1 = Brand
2 = Colour
3 = Feature
4 = Category Name
5 = On sale / on promotion

The global facets above will vary on your business and products, of course. And when you look at multiple languages, you’ll have to rearrange those. When I had to work on Canadian French, the order was typically the opposite of English. It’s another fun puzzle! 🙂


eCommerce SEO Mastery:
10 Huge SEO Wins for Any Online Store.

Plus 3 bonuses


SEO Filter Problems I Encountered and Lessons Learned:

After going through my checks and pre-work for SEO filters I still encountered all sorts of interesting problems. Here’s what I encountered and what I learned.

Lesson 1: Watch for Duplicate Filter Values

One of the major issues I came across was duplicate values or overlap between two facets. Here’s what I mean:

At The Home Depot, we had a Colour facet and a Material facet. Colour and Material had an overlap when it came to values. As an example:

Colour+Category = Stainless Steel Dishwasher

Material+Category = Stainless Steel Dishwasher

As you can see, Stainless Steel was used as both a colour and Material for that category. When we index those pages in Google, we’ll have two pages with the same name and similar products. That doesn’t help us be efficient. We then decided to rename the Colour value of Stainless Steel to “Stainless Steel Look.” It helps differentiate the page from the other and increases our chances of ranking.

We also decided to do a little data science with a simple logic that states, “Find values that overlap within the same category.” Applying this data science helped identify that there were 7,000 rows where this was happening across Colour and Material. Whew! Thank you, data science!

Tool Alert: If you don’t have a data scientist but have a lot of data to crunch through I recommend downloading this free tool suggested by my data scientist called “KNIME.” It’s an open-source platform, and more importantly FREE. It is overwhelming to use and figure out but this YouTube video could help you understand how it works.

There are probably other patterns, but the key learning for me was that it’s worthwhile to understand what problems you might run into to clean up the data with your team before indexing.

Lesson learned: Run a check on your filter values to see where there are duplicates. Produce a file that shows what title tags will be to identify weird names or problems.

Lesson 2: With Great Power Comes Great Responsibility – Ability for no-indexing

SEO filters system brings me to my next point, which is the no-indexing ability. On the systems I have worked on, the functionality of no index is on a facet level. For example, if we wanted to no-index “Colour,” then it would be “no-index any page with any colour filter value across the site.” That makes things a little trickier since your analysis tells you that you only need to no-index specific pages, not all the pages. However, incorporating the no index functionality to let you be more flexible becomes a much bigger asset. You can pick and choose what pages get exposed to Google and what doesn’t.

The problem I faced was an error that occurred where a group of pages didn’t abide by the SEO filter rules because they were coded independently on the site. When we launched SEO filters at the Home Depot, we noticed that a group of pages had every combination of filter+category. Not only Facet 1+Category or Facet 1+Facet 2+Category but even multi-selected filters! We went from 1 million pages indexed in Google to 15 million pages!

Luckily, there were no real negative consequences when we looked at organic traffic and revenue. We also looked at Google Search Console and saw impressions maintained at the same level even though we had many more pages indexed in Google.

That insight told me that although these pages were indexed, it wasn’t ranking for anything in Google. As well as, people aren’t searching for these pages either. Nevertheless, we knew this had to be fixed ASAP before customers would notice this on the site by clicking around. It took about a couple of months after the fix for the indexation to go back to normal. 

Lesson learned: When building the SEO filters system, understand what templates this leverages and look for areas of your site where things were coded separately and exposes a vulnerability. 

Bonus tip: If you can’t implement a no-index on your pages because it’s costly or complicated, another cool workaround I learned is using the robots.txt file. You add a parameter to the URLs you don’t want Google crawling. Here’s what that looks like www.example.com/category/facet/filter?NID-10. In your robots.txt file, you write a line that says: Disallow: /*NID-10*. I recommend using a unique string of characters so that it doesn’t accidentally implement disallow to other URLs that are important and can fall into that rule.

The other key point is you want this implemented before Google crawls the URL. If Google has already crawled the URL, then you can’t use this workaround because robots.txt doesn’t control indexing but controls the crawl. A subtle but powerful reminder.

Lesson 3: Split Second 404 Destroying SEO Filters Traffic

There are scenarios where there may be things happening within a second that can destroy your organic traffic. A change occurred to our category pages at Home Depot that for less than a second, the page would show a 404 and then load the rest of the content and look fine. It was hard to catch at first. However, as a result, Google thought all of our SEO filter pages and Category pages were 404’s, and when Google sees a 404, the bot knows it doesn’t need to crawl it and moves on. Needless to say, it got removed from the index. Our traffic dropped by a whopping 70% within a day.

As a result, you better believe we pulled all the alarms and worked with our developers to fix the issue. And just like that, our traffic shot right back up. Phew. SEO filters are not for the faint-hearted.

One other piece I want to highlight when working in larger teams or organizations is the partnership with the SEO team. If Home Depot didn’t have such a great partnership with the SEO team internally that the problem could persist longer and cause bigger issues. This can only be done by keeping your teams informed and instilling partnership vibes.

Lesson learned: Have a 404 alert on your template pages so that you know there is a significant issue when it’s triggered. Stay vigilant in checking your pages for technical errors.

Final thoughts:

SEO filters is one of the most tried and tested strategies in eCommerce SEO. I hope this helps with thinking in scale as well as templates. It’s a powerful SEO tactic and levels up your technical SEO ability a lot. Mistakes will happen, and that’s okay — that’s why I’m sharing mine, so you have some idea of what to look for. This topic is a deep one, and I didn’t even get to many other aspects of it. Nonetheless, developers will help you, and you mostly need to understand the pitfalls and strategies to ensure great success. I wish you all the best with your hockey stick of SEO growth!

eComemece SEO filters

One thought on “3 Gut-wrenching SEO Filters Lessons from an Enterprise In-house SEO

Leave a Reply

Your email address will not be published. Required fields are marked *