Blog · SEO without the hype
A distributor catalogue with a working filter is sitting on hundreds of pages that already exist, already have unique inventory behind them, and are usually blocked from search entirely. Unblocking the right subset is one of the few remaining SEO moves that produces a step change rather than a slow climb.
A specialist retail catalogue running on an off-the-shelf platform. About 1,000 organic visitors a week, split roughly 60/40 between two search engines, flat for months. Multiple agencies had worked on it before us, one of which had picked up a content penalty that was later lifted without much traffic recovery.
Two problems showed up in the first pass.
The catalogue structure did not match how people searched. Products were split by a technical classification inherited from the client's inventory system, because that was how the automated feed worked. The category that half the buyers actually searched for did not exist as a page. It existed as a concept in the customer's head and nowhere in the site architecture.
That is worth sitting with. The site had been through several agencies and nobody had compared the category tree against the query data.
The filter produced duplicate metadata at scale. Selecting one attribute generated a URL with a reasonable title. Selecting two generated a new URL with an entirely different product set and the same title as before. Every additional filter combination produced another page competing with its siblings on identical metadata.
The previous solution was to block all filter URLs from crawling. Which solved the duplication and threw away the opportunity with it.
Every filter combination is a page answering a query somebody actually types. Manufacturer plus specification. Specification plus material. Category plus price band. For a catalogue with real depth, that is a large volume of genuine long-tail demand, already backed by real inventory.
This is precisely why marketplaces and aggregators dominate commercial results. They are not writing better content. They are exposing combinations at a scale a normal distributor site never attempts.
The reason most sites block it is that the combinatorial space is effectively infinite. Ten attributes with ten values each is ten billion URLs. Nobody wants that in an index, and the instinct is to close the whole thing.
The middle path is to choose which combinations earn a page.
Unique metadata per combination. We specified the logic and had the client's developers implement it: titles and descriptions generated from the active filter values rather than inherited from the parent category. Selecting manufacturer and specification now produces a title naming both.
We did not get clean URLs. The catalogue synced automatically from the inventory system and rewriting the URL structure would have broken the feed. Worth being honest about, because it is the usual outcome. Parameter URLs with correct metadata outperform clean URLs with duplicate metadata, and if you can only have one, take the metadata.
Selective indexation. We opened single-attribute pages and two-attribute combinations of the two attributes with real search volume. Everything beyond that, including multi-select within a single attribute, stayed closed. Then we verified the rules against the actual URL patterns rather than assuming the syntax did what we intended.
Curated collections. For each category we added a block of popular pre-built filter combinations above the product grid, functioning as an internal tag layer. This gave the new pages crawlable links from somewhere other than the filter widget itself.
That last step matters more than it looks. A page that only exists behind a JavaScript filter interaction is a page search engines may never reach.
The original implementation leaned on robots.txt to control what got indexed. That works adequately on some engines. On Google it is the wrong instrument, and this is the most common mistake in faceted SEO.
Robots.txt controls crawling, not indexing. A URL blocked in robots.txt can still appear in Google's index if anything links to it, showing up with no description because Google was never allowed to fetch the content. You get the indexation you were trying to prevent, minus the ability to explain the page.
For Google, the correct tools depend on intent:
| Goal | Instrument |
|---|---|
| Page should rank | Crawlable, indexable, self-referencing canonical, linked internally |
| Page should exist for users but not rank | noindex, follow and leave it crawlable |
| Combination should never be generated | Handle it in the filter UI, not in robots |
| Near-duplicate of a canonical version | Canonical tag pointing at the version you want |
Robots.txt remains useful for genuine crawl budget control on very large catalogues where you want to stop Google spending time on combinations that will never rank. It is not a substitute for noindex.
If you are porting this approach to a Google-first site, that substitution is the main thing to change.
Indexed catalogue pages: just under double.
Organic traffic: approximately triple within the first month, then continued growth as more of the newly opened pages were discovered and evaluated.
The second part is the part worth internalising. This is not a one-off jump. Opening a combination space means the site keeps accumulating rankings as pages get crawled, tested against queries, and settle at positions. The growth curve is long.
Page count growth on its own would have proved nothing. Thin pages that duplicate each other get filtered out. The reason it worked is that each opened combination had real inventory behind it, unique metadata describing that inventory, and a query pattern someone actually searched.
The case was retail, but the mechanism is not.
Industrial component distributors with catalogues filterable by dimension, material, standard, or certification. Anyone whose buyers search in specification language rather than product names. Wholesale catalogues with brand and category axes. Service businesses with a service-by-location matrix, which is the same structure with different labels.
The precondition is that the combination corresponds to something real. If filtering by two attributes returns three products and a nearly empty page, that page should not be indexed. Faceted SEO works when the catalogue has genuine depth. It backfires when it is used to manufacture pages that do not answer anything.
Point five is where the original project actually started, and it is worth more than the filter work for most sites. A missing category that half your market searches for is a larger gap than any number of filter combinations.
---
Filter and sort interfaces on a catalogue that generate URLs. Handled well they capture long-tail demand. Handled badly they create duplicate content at scale.
Selectively. Combinations with real search demand and enough products behind them should be. The remaining combinatorial space should not.
No. Robots.txt prevents crawling, not indexing, and blocked URLs can still appear in results without a description. Use noindex for pages that should not rank, and canonical tags for near-duplicates.
Start with single attributes, then add two-attribute combinations for the two axes with the most search volume. Three or more attributes rarely justifies itself.
Preferable but not required. On the project described here, parameter URLs with correct unique metadata delivered the result. Unique metadata matters more than URL aesthetics.
Traffic tripled within a month on this project, then kept climbing as more pages were discovered. Speed depends on how often your catalogue is crawled.
We'll check indexing, speed, content and the backlink profile, name the three biggest problems and the order of work. Real findings, no filler, no strings attached — the report is yours to keep either way.