Programmatic SEO · focused work
Programmatic collection pages
A programmatic collection page is generated rather than written. The store defines a pattern, such as an attribute within a category, and a system produces a page for every combination that has demand behind it and enough stock to be worth visiting. Done carelessly this creates thousands of near-identical pages. Done properly it creates a page for each way people describe what they are looking for.
This is the right work if
- The catalog has attributes people search by and no page exists for any combination of them
- An earlier run published every possible combination and most of those pages hold no products
- Generated pages all say the same thing with one word substituted
- Nobody can say which generated pages earn traffic and which should be removed
- New products should bring new pages into existence and currently do not
What it is
The system behind the pages
What gets built is a system rather than a set of pages, and it has four parts. A clean attribute model in the catalog, because pages generated from inconsistent values produce duplicates and mislabelled results. A demand table pairing every candidate combination with the searches behind it and the number of products it would contain. A template that assembles genuinely different content from each combination's own data, including the heading, the introduction, the price range, the brands stocked, the specifications that vary and the questions specific to that combination. And a publication gate that decides which combinations go live, which wait and which never publish.
The gate is what separates this from mass page creation. It sets a minimum product count, a minimum level of demand, a duplication check against pages that already exist, and a rule for what happens when a page falls below the threshold later. That last rule matters because stock moves and seasons turn, so the set is a living thing: new combinations qualify, old ones stop qualifying, and there has to be a retirement path that redirects to the parent rather than leaving an empty grid or a missing page. Reporting is done for the group rather than page by page, so the whole set can be judged and pruned on what it earns.
How it is done
The work, in order
What changes
- A page exists for each way shoppers describe what they want, inside limits the store set
- Generated pages differ from each other because the underlying data differs
- Pages retire with a redirect instead of becoming empty result grids
- The whole set is reported and pruned as one thing rather than page by page
Clean the attribute model first
Normalise the values the pages will be built from, so one colour, material or size is not stored three ways. Generated pages inherit every inconsistency in the catalog, and fixing them afterwards means regenerating the whole set rather than editing a field.
Build the demand table
List every candidate combination with the search demand behind it and the number of products it would return, sourced from keyword research and the store's own search and query data. This table is the plan, and it is reviewed before anything is generated.
Set the publication gate
Decide the minimum number of products, the minimum demand, and what happens when either drops below the line later. Write the rules down as numbers, because a gate that lives in someone's judgement stops being applied consistently within a month.
Design a template that varies with data
Build the introduction, the specification summary, the price range, the brands stocked and the questions from the combination's own products. If two pages would read identically apart from a substituted word, the template is not drawing on enough data to justify either page.
Wire the internal linking
Link each page from its parent category and from its sibling combinations, and build a hub that lists what exists. Pages that can only be found through a sitemap are treated as an afterthought by crawlers and by shoppers alike.
Run the lifecycle on a schedule
Re-evaluate the demand table periodically, publish newly qualifying combinations, retire the ones that fall below the gate with a redirect to their parent, and report sessions and revenue for the set as a group so it can be pruned deliberately.
Platform notes
Shopify
Automated collections built from tags or metafields can generate the page set without custom infrastructure, though the number of collections and the rules available per collection set a practical ceiling that should be checked before planning a large set.
WooCommerce
Attribute archives and custom taxonomies both work as generated pages, and the choice matters because taxonomy terms can carry their own descriptions and images while a filtered archive usually cannot.
Is generating pages at scale a risky thing to do?
It is risky when volume is the goal and safe when usefulness is. A generated page that lists real products, states real facts and answers a real search is no worse than a hand-written one. The problem cases are pages with two products, no distinguishing content and no reason for a person to be there.
How many products should a generated page contain?
Enough that a shopper has a genuine choice, which is more for commodity goods and fewer for specialist ones. Set the number for the category rather than for the store, and treat any page sitting at the minimum as a candidate for retirement when stock moves.
Does every generated page need hand-written copy?
No, and requiring it defeats the purpose. What each page needs is content that could only apply to it, drawn from the products it contains. Hand-writing is worth reserving for the pages the demand table shows are worth the most, which is usually a small share of the set.
What should happen when a page runs out of stock?
Redirect it to the parent category if the situation is permanent, or keep it live with alternatives and an expected return date if the gap is temporary. Leaving an empty grid live is the worst option, because it wastes the click and teaches the shopper the site is unreliable.
Related work and answers
Find the leak.
A free Growth Analysis ranks what your store should fix first, by revenue at stake.