Sign up for our newsletter
Explore more

Best eCommerce SEO Tactics: How To Index Categories And Filters
Table of Contents
Today we’re going to talk about categories and filters on eCommerce websites, and what we’re doing to improve our own search engine optimization to increase our qualified traffic.
We will take you through a real-world example as well as give you some insight into how we’re actually doing this on one of our eCommerce projects.
“Now, as an SEO, we want qualified traffic - people who are more likely to convert. So often our first step is that we run through our keyword research which will give us a lot of different ideas for similar searches, related topics, and provide insight to search behaviour. ”
A good example we could look at is Home Depot. When somebody searches for a stainless steel LG dishwasher, they might also be thinking about getting a white or a black dishwasher (i.e. variations of the same product).
In most cases, these content management systems (CMS) like WooCommerce, Magento, and Drupal come out of the box already blocking those kinds of filters or categories.
The reasoning behind this is that the filters with all these variations would create hundreds of thousands of different URLs, treating them all as unique instead of variations of the same product. You definitely don’t want all that indexed in Google, wasting your crawl budget and bogging down your site.
How To Avoid Blocking Filters And Categories
There are several ways to do this.
With WordPress, you can disallow the URL string, and that tells Google not to crawl the tens of thousands of variations. But is that the right approach?
If you set up the eCommerce system properly with your categories, you will most likely increase your qualified traffic from Google by a significant amount.
In our case, we’re going after a brand, a model, and a keyword.
Previously on our WordPress website, we had to kind of hack WordPress and WooCommerce to force them to do something they weren’t really designed to do.
Whenever WooCommerce updates rolled around, we always landed into problems. We would constantly be at odds with the system.
That’s why we went with Saleor which will actually help us solve this problem.
Now, again, we’ve got to keep in mind that these variations are searched for in large volumes. So for instance, it could be a black T-shirt or let’s say, Quest black T-shirts which includes the brand.
When you have that key phrase searched and you don’t index it in your system, it’s not going to show up.
That means you have to show up for something else on your primary category page, and none of your major filters. So to get your SEO on this they have to do their keyword research and you have to find a solution to indexing these categories.
We are going to explain how that’s done on WordPress. And also how we’ve done on Saleor, which is the new headless CMS that we’re going to be using.
How To Index Filters And Categories
The default behaviour that a lot of websites or even eCommerce sites have right now, is to use queries. That is, they have those filters as query parameters and then create as many filters as they needed.
As we mentioned before, WordPress, Magento, and all the other CMS that are out there do this by default.
However, particularly for WordPress, it would change the structure of how the websites work on WordPress and that is not something that is good for the other parameters that you’re looking for.
For example, it would affect the speed, whether the page is optimized or not, because it has to go through so many layers to even make it possible for it to even run.
Why It's Important To Index Filters And Categories
You see, for any website to work, there are two components: one is how you get the data and two, is how you present the data.
So this issue is not necessarily a problem of getting the data, but more of a problem of presenting the data.
With Saleor, it’s easier to get the data because all we have to do is apply this filter and get the data from the CMS. We don’t have to change anything, because that’s the default behaviour – you just apply filters and you get the data.
For the front-end functionality, we took inspiration from the Home Depot site because we liked the user experience of how they were doing it. We identified that their website was using the category name, a forward slash, and the unique IDs of everything that the user selects. And that’s how they optimize each of those categories.
Meaning it could be a product ID or a category ID but we are still using the product name.
The way it works right now is that we have a product category, we have the first product in that category and we have something to divide it with the second product that we are using.
Then from there, we can append as many IDs or names as we want to be able to filter the products accordingly.
Now let’s go back to our dishwasher example from earlier. You’re looking for either a Samsung or LG dishwasher and you want it to be a stainless steel finish. Searching for this on Home Depot can get a little convoluted as you’d have to go through so many steps to narrow it down if you followed their site navigation.
Your search may look like this:
Home Depot → Kitchen section → Kitchen → Appliances → Dishwasher → Brand → Colour
Most people won’t have the patience to sift through all of that when they already know exactly what they want. Rather than going through a maze of sub-categories on Home Depot, they’ll most likely just Google it, which will serve up ads and products pages with what they’re looking for.
This is why it is so powerful to have all these individual categories and filters set to index. By allowing Google to index their category one (brands) and category two (dishwashers) Home Depot will show up for those targeted searches and then when the user lands on the page they can just use the filter system to select specifics such as pricing, how big the dishwashers are, stainless steel colour, and so on.
How To Do The Mapping And Why It's So Powerful
As an SEO, one would have to map out what’s the most popular search terms are because user behaviour can be inconsistent. Not everyone searches for things in the same way, while one person could search for a specific brand and a model, another might only search for a general product type because they haven’t decided on a brand or model yet.
To find those popular terms – well that’s where our keyword research comes in. So you do your keyword research to find out how users are searching for things, collate the data, and then determine what’s most important for your categories.
If you can pinpoint what categories and filters are searched for the most, then you can mold your website around that or around what the user intent is. That way you are not only improving the SEO, you’re also improving the user experience that people have because no one wants to go to drill down several sub-categories on a website before they can get to the product they want.
One good thing about the Saleor system that we’re using is that it doesn’t create these unnecessary pages that you would not even know about. This is what used to happen to us when we used WordPress because we had no control over that.
Properly Indexing Your Category And Filter Pages
As long as the SEO team and the marketing team understands the intent of the visitors they’re trying to target for each category, then this should be relatively simple.
But if you’re working with a team who don’t quite understand that, they might inadvertently want to target every filter and that’s when things can start to go awry.
If somebody makes a mistake and says the filters are all important, let’s index them all, that’s going to cause a disaster. You’re going to have hundreds of thousands of pages, that are either going to have now very enormous URL list crawled and index things you don’t actually want to index, or your crawl budget gets wasted on things that don’t matter leaving important pages out of the index.
When Google comes on your website and starts crawling, they don’t have an unlimited budget for you, so you have to make sure you capture their attention for the right pages.
This has actually happened with Home Depot before. They accidentally indexed filters they shouldn’t have, and on another occasion, they’ve also de-indexed filters they shouldn’t have.
But this is a learning game for everyone.
So if you understand the search intent, just ensure that those categories and filters are indexed. Then you should be good to go. If you don’t, and you’re just guessing, you’re going to have a problem.
On the visitor side, who’ll come to your website if it’s not indexed? And on the Google side, do you want it crawling pages that are irrelevant? So be strategic in the number of categories and filters you decide to use.
A major benefit with the way that we are doing it in Saleor is that we do a server-side render of all the pages that we have with these specific categories. So whatever Google sees is what our server already renders to them. It’s not a dynamic page where you would just go in and see something in brackets that has yet to load. Google sees the final page that the users would also see.
Challenges We Are Facing
This is a new project and so there has been a huge learning curve. One challenge we are facing is that sometimes you want multiple filters to be selected at the same time.
Ideally, what would happen is you’d go to this:
Category → first filter → second filter → third filter
But this would be a terrible URL because you would not know what kind of products the user wants. And if you unselect a filter, you do not know how to change your URL structure as well. It kind of makes it ugly and far too complicated to control.
The way that we tackled that was using just one filter, the very first filter, as the primary product structure. And then, if a user selects multiple filters, what we did was we used a unique identifier that separates these two IDs, and we just appended it to the URL. We developed a system to identify if something changed or not and based on that, we’d just get the products from Saleor and append it.
So for example, if there were two products – products A and B. You select product A, you’ll see everything that is under that product. Then if you select product B, you will see product A and product B on the page. But now if you remove Product A which was the primary ID, it should break.
That was a significant challenge that we had to fix. We just removed the URL structure and made product B a primary identifier so we would also be able to index it. Remember, in our CMS his is all server-rendered. So nothing is happening in the front-end.
With our solution, if you are looking for an LG dishwasher or stainless steel dishwasher, then you can opt to also include Samsung in the filter and you’ll end up with two brands on the filter.
Normally that’s not supposed to show up because you wouldn’t even know what should be the primary ID – should it be LG, or should it be Samsung? And if you take off LG, then Samsung becomes the primary ID and you would have to make sure that’s what Google is seeing because that should also be indexed.
You might be wondering, “If WooCommerce updates and WordPress updates, does that mean these changes just get scrapped?”
Well, this depends on how they’re implemented by the developer. If they have changed the base files, on WordPress or WooCommerce and if you update, then the tables would go away.
But if the developer were to create a plugin that interacts with this base code, and shows you all the data, there is a way to handle it. But there are other questions that come in when you do that, like, what if they update the base files and they do not support the structure that you have built anymore?
Well, in that case, your website is broken and you have to go in and change it according to what they have done.
So it kind of becomes dependent and you always have to keep checking if it’s breaking your code or not. As an SEO, it’s a nightmare that you never want to run into.
Fortunately, this will never happen to us on Saleor. Once you create the structure, all you have to worry about is the user intent and the setup, how it looks, and the experience of the person coming on to these web pages and categories.
That’s what we’re trying to solve with categorization, optimization, and filter optimization. It’s a little bit advanced, but if you have access to developers then it should be achievable with oversight from an SEO.