A catalogue filter is convenient for the shopper and treacherous for the search engine. Every ticked box changes the page address, and a store with a few hundred products suddenly has tens of thousands of URLs that nobody deliberately created.
Where the volume comes from
The arithmetic is simple. Three filters with four values each already give 64 combinations for a single category. Add sorting, items per page and pagination, and every category becomes several hundred addresses. Multiply by the number of categories.
The problem is not the addresses themselves but the fact that the overwhelming majority of them show the same or almost the same set of products. To a search engine those are duplicates that have to be crawled, evaluated and discarded.
What the harm actually is
- Crawl budget is consumed. The crawler works through filter combinations instead of new products. On a large catalogue, fresh items take weeks to reach the index.
- Link equity is diluted. Internal links point at hundreds of nearly identical pages instead of reinforcing the category.
- Something arbitrary gets indexed. A narrow two-product selection appears in results in place of the category.
Three workable strategies
Block everything. The simplest option: filter parameters are disallowed in robots.txt and filtered pages are not indexed at all. Suits stores where there is no demand for narrow queries.
Open selectively. Only combinations with real demand are indexed — usually a single filter with a single value, such as a brand or a colour. Those pages get their own title and description and work as proper landing pages. The rest is blocked.
Canonicalise. Every combination points at the clean category. This is the safe option, but you will not capture narrow queries — there will simply be no pages in the index for them.
How to choose
The guiding rule is simple: open up what people actually search for. If "white sliding wardrobe" has search volume and "white sliding wardrobe 220 cm tall with a mirror" does not, index the first level and leave the second alone.
The most frequent mistake is opening everything up "just in case". Instead of a few strong pages you then get thousands of weak ones, and the category starts losing to its own filters.
What to check afterwards
- In Search Console, the share of pages marked "crawled, currently not indexed" should be falling, not rising.
- On a filtered page the canonical points where you intended — and there is exactly one. Two canonicals and a search engine ignores both.
- The
robots.txtblock does not cover pages you opened deliberately. - Pagination inside a filter does not create a third layer of duplicates.
Where to go next
How the filtering mechanism itself works and why it generates those addresses is covered in the article on filters in OpenCart. A wider view of duplicates, not only filter-related ones, is in the article on duplicate pages in stores, and the general order of checks is in the technical SEO audit.
If duplicates are already in the index and the existing mess needs sorting out, that is the duplicate removal and canonical setup service. When the question goes wider than filters — SEO for OpenCart in full.