Filters help shoppers narrow a catalog, but every combination spins up a new parameter URL, and left alone that grid buries your real pages under thin duplicates and burns crawl budget. The fix is boring and reliable: canonical filtered URLs to the base category, keep crawlers off the low-value combinations, and index only the handful of filter views that match real demand.
See the math on filter URLs
Take a category with five attributes and a few values each, add sort orders, and you have generated hundreds of URLs from one page of products. Each one is a near-copy of the category with a subset of items. That is the whole problem in one sentence: filters turn one useful page into a sprawl of thin, overlapping ones.
Canonical filtered URLs to the base category
The default handling for almost every filtered view is a canonical tag pointing back to the clean category URL. It tells Google these parameter URLs are variations of one page, so indexing consolidates on the strong category page instead of scattering across dozens of weak ones. Set this as the rule, then carve out exceptions rather than the other way around.
Keep crawlers off the low-value combinations
Canonicals handle indexing, but Google still spends effort crawling every URL it can reach. On a large catalog that faceted grid wastes crawl budget that should go to your products. Disallow the filter parameters in robots.txt, or serve those links so crawlers do not follow them, and point the crawl at the pages that matter.
Index only the demand-backed combinations
A few filter combinations are worth ranking because people search them, "autoflower feminized seeds," say, or a category plus one popular attribute. Check your search data. Where a combination has real query volume — steady, repeated demand — give it an indexable, self-canonical page with its own short intro text so it is not a bare filtered view. Everything else stays canonicalized away.
Control the parameters, not just the pages
Consistency in the URLs themselves matters. Keep parameter order stable so ?type=auto&size=5 and ?size=5&type=auto do not both exist as separate URLs, and decide which parameters are filters versus sorts. Messy parameter handling manufactures duplicates on its own, before any indexing rule gets a chance to help.
Do not break the shopper to please the crawler
None of this touches what the shopper clicks. Filtering still has to work fast and cleanly in the browser. The SEO handling lives in canonicals, robots rules, and which URLs you expose to crawlers, not in the front-end experience. If a fix makes the store harder to use, it is the wrong fix.
A worked pass over one category
Worked example: a Clones category with filters for type, size, and price. You canonical every filtered combination to /clones/ by default. You disallow the filter parameters in robots.txt so Google is not crawling the price-slider grid. Then you check search data, see steady demand for "autoflower clones," and build /clones/autoflower/ as a real indexable page with two sentences of intro and its own canonical. One clean category, one demand-backed landing page, and a few hundred parameter URLs kept out of the index — that is the whole job.
Key takeaways
- Filters multiply into hundreds of thin, near-duplicate parameter URLs from one category.
- Canonical filtered URLs to the base category by default; make indexing the exception.
- Disallow filter parameters in robots.txt to stop faceted nav from eating crawl budget.
- Index only combinations with real search demand, as self-canonical pages with unique text.
- Keep parameter order stable and never degrade the shopper's filtering to serve SEO.
Frequently asked questions
Should filtered URLs canonical to the base category?
By default, yes. Most filter combinations are near-duplicates of the base category with a subset of products, so pointing their canonical to the clean category URL keeps Google indexing one strong page instead of dozens of thin ones. The exception is a filtered view that matches real demand, which you self-canonical and treat as a landing page.
How do I stop faceted filters from eating crawl budget?
Faceted navigation multiplies parameter URLs fast. Keep crawlers off the low-value combinations by disallowing the filter parameters in robots.txt or serving those links in a way crawlers do not follow, so Google spends its crawl budget on your products and demand-backed pages instead of an endless grid of combinations.
Which filter combinations should I let Google index?
Only the ones people actually search, like a category plus one high-demand attribute. Check search data, and if a combination has real query volume, give it an indexable, self-canonical page with unique text. Everything else, especially multi-filter stacks and sort orders, should canonical back to the base category.
Want this done for your brand?
We build cannabis & CBD search visibility with full transparency, for dispensaries, brands, and MSOs.
Get a free cannabis SEO audit ›