Footway turned its filters into pages.
Footway's stores held their long tail in filter menus that search cannot see, and not every combination deserved a page. We let demand, the shelf and the existing pages decide, and long-tail impressions rose within three months.
See the results- Client
- Footway
- Industry
- Sports and footwear retail
- Markets
- Online, in more than twenty languages
- Period
- November 2023 to March 2025, measured over the first three monthsNov 2023 to Mar 2025
- Our part
- Content Engineering: category pages from filter data
- Award
Winner. Best use of data (SEO), small.Official 2025 winners

Challenge
The range was already sorted.
Footway runs several online stores on Shopify, among them Sportamore, Runforest and Heppo, selling sportswear, bags and shoes in more than twenty languages.
Every collection in those stores was already sorted by filters: brand, colour, size, sport. Open Sportamore's down jackets and the colour filter reads Black (283). Someone searching for black down jackets finds no page for them, because a filter choice is not a page of its own.
The brief asked for at least five hundred new category pages. The obvious way there is a page for every combination, and that is how a long tail fills with thin pages: some with no one searching, some with too few products, some saying what an existing page already says.
What we found
The filters already held the pages.
Black (283) is two things at once: a phrase people might search for, and a count of what would stand behind the page.
So we built the pages from the filters, and made every combination earn its place before a word was written. We read each store's collections from its sitemaps, collected every filter on them and combined the values into phrases: black down jackets, green backpacks, Clarks boots.
Three tests followed, in order: does anyone search for it, does the shelf carry it, does a page already cover it. Below a search-volume threshold a phrase went. For the rest, the system built the store's own filter address, counted the products behind it and compared the survivors with the pages the store already had.
The shelf test is the one we would keep in any version of this work. We call the match between a page and its products product density, and the filter menu had been printing it all along. A page without enough products behind it is a headline over an empty shelf.
What passed was drafted by a language model, then checked against readability, tone, relevance and accuracy and rewritten until it held, with internal links to related collections. Each page went into every language the stores sell in, and some fourteen hundred passed where the brief asked for five hundred.
One system ran every store. The stores tagged their products differently, so the tags were normalised and each store got its own settings while the method stayed the same. The hardest part came last: getting search engines to crawl and index that many new pages on the larger stores.
In
Collections
Every collection page in every store, read from the sitemaps.
Filters
The filters on each collection: brand, colour, size, sport.
01 Demand
Does anyone search for it?
Combine the filters
Filter values become phrases: black down jackets, green backpacks, Clarks boots.
Check the demand
Each phrase is checked against search volume. Below the threshold, it goes.
02 Shelf
Does the shelf carry it?
Count the products
The system builds the store's own filter address and counts what stands behind it.
Keep what fills a page
Too few products, and the page is never made.
03 Overlap
Does a page already exist?
Compare with the store's pages
Every survivor is set against the pages the store already has.
One page per need
A phrase an existing page already covers goes, so no two pages compete.
Out Pages
Write, check, translate
Write and link
Title, text and links to related collections, drafted and checked against readability, tone, relevance and accuracy until it passes.
Translate and upload
Every page in every store language, uploaded in bulk with its products tagged to it.
Every page has demand and products behind it.
The work




The result
Found for more of the long tail.
Measurement notesIn the first three months after the pages went live, the three stores together appeared in more long-tail searches, and won more long-tail clicks, than in the period before.
The sum hides a split. Runforest and Heppo, the two smaller stores, grew by more than half in long-tail clicks. Sportamore, by far the largest, stood still in impressions and slipped slightly in clicks.
We don't know yet why. Getting new pages crawled and indexed on the larger stores was the part of the work still under way when we measured, and it is where we would look first.
Nor do we claim the season: the comparison is the months after launch against the period before, not year on year, and a sports and shoe range moves with the weather.
- Long-tail impressions across the three stores, 12.0 to 13.9 million
- +16.5%
- Long-tail clicks across the three stores, 202,467 to 211,192
- +4.3%
Measurement notes and definitions
- Sources
- Google Search Console, the domain properties for runforest.com, sportamore.com and heppo.com, as exported in the results sheet behind the award entry.
- Scope
- Organic Google search to each whole domain, not only the new pages. Long-tail queries as filtered in the results sheet, which does not state the definition. Totals are the three stores summed.
- Window
- The first three months after the new pages went live, against the period before, as the award entry states. The exact dates of both periods are not in the material.
- Excluded
- Any other Footway store. Paid search is not in Search Console data.
| Period | Before | First three months |
|---|---|---|
| Long-tail impressions, three stores | 11,971,434 | 13,945,102 |
| Long-tail clicks, three stores | 202,467 | 211,192 |
| Clicks, three stores | 238,852 | 247,654 |
| Long-tail impressions, Runforest | 1,327,861 | 1,849,024 |
| Long-tail impressions, Sportamore | 8,104,281 | 8,171,246 |
| Long-tail impressions, Heppo | 2,539,292 | 3,924,832 |
| Long-tail clicks, Runforest | 10,032 | 15,595 |
| Long-tail clicks, Sportamore | 175,799 | 167,913 |
| Long-tail clicks, Heppo | 16,636 | 27,684 |
Before
- Long-tail impressions, three stores
- 11,971,434
- Long-tail clicks, three stores
- 202,467
- Clicks, three stores
- 238,852
- Long-tail impressions, Runforest
- 1,327,861
- Long-tail impressions, Sportamore
- 8,104,281
- Long-tail impressions, Heppo
- 2,539,292
- Long-tail clicks, Runforest
- 10,032
- Long-tail clicks, Sportamore
- 175,799
- Long-tail clicks, Heppo
- 16,636
First three months
- Long-tail impressions, three stores
- 13,945,102
- Long-tail clicks, three stores
- 211,192
- Clicks, three stores
- 247,654
- Long-tail impressions, Runforest
- 1,849,024
- Long-tail impressions, Sportamore
- 8,171,246
- Long-tail impressions, Heppo
- 3,924,832
- Long-tail clicks, Runforest
- 15,595
- Long-tail clicks, Sportamore
- 167,913
- Long-tail clicks, Heppo
- 27,684
Google Search Console, results sheet behind the European Search Awards 2025 entry.
Not year on year, and the dates of both periods are not in the material. The figures cover whole domains, so they include pages we did not build.
What this case says
Let the shelf decide the pages.
A long tail is not built by publishing every combination. It is built by deciding which ones have demand, products and no page yet.
Most ranges already hold their long tail in filters, tags and attributes. The work is testing it before writing anything: demand first, then the shelf, then the pages you already have. What survives deserves a page in every language you sell in; the rest never becomes a thin page to clean up later.
Your case
What is waiting in your filters?
Bring one problem from your own category; we start with the evidence you already have.
or write to info@pixel.se

