Book a free consultation

Knowledge Hub

The Fashion SEO That Still Works When You Are Not ASOS

By John Butterworth · August 10, 2026

Nine colours and eight sizes is one dress to you. To Google it’s seventy-two purchasable things.

Nothing else you can sell online multiplies like that. Good SEO for fashion ecommerce is built around the multiplication, because it decides which of your pages get indexed and which of your products get listed.

Eleven-plus years and more than 3 million organic sessions later, I spend most of my weeks inside catalogues shaped like yours. I’m John Butterworth, and I run Mint SEO’s ecommerce retainers myself.

From that vantage point, four things get settled below. The first is which fashion searches a smaller brand can win, and the second is what your colour and size variants are doing to your index right now.

After that comes the question of which collection pages deserve a URL of their own. Last is the one every seasonal catalogue reaches, which is what to do with a garment page once it has sold out for good.

Where The Winnable Fashion Traffic Sits

Broad garment terms aren’t the opportunity. Dresses, mens jackets and womens knitwear belong to retailers with catalogue breadth you can’t assemble.

Three narrower pools are still open to you. Specific garment language, your own names and the product grid above the blue links are where SEO for fashion ecommerce pays for a brand your size.

Why SEO Consultants Tell Clothing Brands To Give Up

Ask this in public and you get told to give up. When a new clothing brand asked r/SEO in July 2026 where to start on a tight budget, a poster identifying as a consultant, u/SEOPub, replied: "Clothing and fashion is ultra competitive. You have no chance of competing."

Read that reply closely and it’s narrower than it sounds. He is right about head terms, because he is describing a broad category, which is some way from what a specialist label sells.

A brand selling open-stitch cardigans in seven colourways competes on a different surface entirely. That distinction gets lost every time the question is asked, and it decides whether a small label should bother at all.

The Three Pools That Are Still Open

Garment language is the first pool, meaning the words a shopper uses once they know what they want. Cropped linen shirt, wide-leg denim trouser, open-stitch cardigan.

Nobody running a thousand-brand catalogue writes those pages at that depth, because at that volume nobody can.

Your own brand and product names make up the second pool, and most labels leave it lying around. A brand query converts far better than a category query, and losing it to a marketplace reselling you is self-inflicted.

The product grid is the third pool, and few stores plan for it at all. Google calls organic product grids popular products, and on a garment query they can hold most of what a shopper sees.

Your product data fills that row. Page copy has no part in it, which is exactly why a small brand can reach it.

Timing favours you here. Google announced the March 2026 core update on 27th March 2026 and confirmed it complete on 8th April 2026.

Read the apparel breakdown of that update and the numbers are stark. In Amsive's apparel segment, Saks Off 5th fell 51.2%, Avenue fell 42.5% and NastyGal fell 41.9%. Its read of the segment was that mid-tier mall brands and outlet sites saw improvements, while traditional department stores continued their multi-year decline.

Volatility on that scale is unusual, and it cut deep. After the March 2026 core update, 79.5% of top-three URLs changed position, and 24.1% of top-ten pages fell out of the top 100 entirely against 14.7% after December’s update. A rival who has held position for three years isn’t a fixed obstacle.

What Colour And Size Do To Your Index

Every colour and size combination is a separate purchasable thing, and your platform gives each one a URL. Whether anyone searches for it or not.

This is what a clothing catalogue is. It also explains most of the not-indexed report you see in Search Console.

One Dress, Ninety-Five Variants

On 10th August 2026 I read the product markup of 40 independent and direct-to-consumer fashion storefronts. I followed the first product link on each and recorded what the page published about the garment. 28 rendered a page I could measure.

The largest single-product declaration in that set belongs to a UK colour-led label. One Kettlewell Colours dress declares 95 variants in one ProductGroup, each with its own SKU, image, price and availability. Ninety-five, for one dress.

That pattern holds at the top of the market too. One Skims product page declares a ProductGroup with 65 hasVariant entries and a variesBy of size only, while the garment also varies by colour. Across the 28 fashion product pages we could read on 10th August 2026, the declared variant counts on a single product page ranged from one to 95.

Neither extreme is a fault on its own. It becomes one the moment a store can’t say what those 95 URLs are doing.

Your Not-Indexed Report Is Mostly Working As Intended

A fashion store owner can lose a month to that report. A made-to-order clothing brand posted in r/SEO that they had 11,500 URLs sitting in the not-indexed report, and had been trying to work out whether that explained a traffic drop.

An agency practitioner in that thread, u/nikki_ga_2020, gave the right answer: "Our Shopify clients have similar ratios for their Alternate with proper canonical URLs to non/indexed URLs. Shopify just…does that."

A five-figure not-indexed count on a clothing store is usually your variant and collection URLs being consolidated the way you asked. Read that report by reason and ignore the total.

If you want the wider version of this, I have written about the technical side of an ecommerce catalogue separately.

Which Collection Pages Deserve A URL

A collection page earns a crawlable URL when a real search exists for what it lists. Everything else is a view of your catalogue, and a view doesn’t need an address.

The Filter Decision, Made Once

Google is blunter here than most store owners expect. Its faceted navigation guidance, last updated on 18th December 2025, says: "Oftentimes there's no good reason to allow crawling of filtered items, as it consumes server resources for no or negligible benefit."

That page then splits the available controls into two tiers. Google puts robots.txt and URL fragments in the effective tier.

Canonical tags and rel=nofollow sit in the other one, which Google describes as “generally less effective in the long term”. That lower tier is what I find in place on nearly every clothing store I audit.

The four controls Google lists for filter URLs, split into the two effectiveness tiers its faceted navigation guidance separates them into.

One more instruction is easy to miss. Google advises returning an HTTP 404 for a filter combination that returns no results, which happens constantly once a size sells through.

Ordering matters because a canonicalised filter URL still gets fetched before its canonical is read. You pay the crawl either way.

So make the decision once per filter and apply it across the catalogue. Colour and size on a large collection are rarely worth indexing.

A filter matching a phrase people search, like petite linen dresses, might be. Such a page needs its own copy and its own internal links, which I cover in the collection page guide.

Where A Collection Page Sends Its Links

A second problem sits underneath the first. On Shopify a product reached through a collection is served at a collection-aware URL while its canonical points at the bare product URL.

Your own navigation is therefore routing your own signals through pages you have disowned. The internal links on a collection page point at URLs you have told Google to ignore.

A store owner with 25 unique SKUs across dozens of collection pages saw this go wrong. u/Greedy-Bag-3640 posted that "our collection page rankings drastically dropped following the November 2024 algorithm update".

Nothing about that outcome surprises me once you see the structure. Thin collections built over one small product set and linked through non-canonical paths are fragile, and core updates find them. The filter side of this has its own guide.

The Product Data That Decides Whether You Appear At All

A fashion product page gets judged twice. One judgement lands on the page itself, on its copy and its links.

The other lands on the product record underneath it, and that’s the judgement almost every store I look at is losing. Most of SEO for fashion ecommerce turns on that record, and it’s invisible from the front end.

What Google Asks You To Declare

Google's product variants documentation, last updated on 20th May 2026, states the mechanism plainly: "To help Google better understand which products are variations of the same parent product, use the ProductGroup class with associated properties."

A parent holds the identity and each variant nests underneath it. Its variesBy property then names the axes those variants differ on.

Six axes are supported. Colour and size are the two a clothing store lives on. Of the remaining four axes, material is the only one most clothing stores have any reason to set.

That same page sets a URL condition. "The site must have the ability to preselect each variant directly with a distinct URL (using URL query parameters) … This allows Google to crawl and identify each variant." A swatch that changes the photograph and nothing else fails that condition.

The Four Fields That Are Not Optional

Required is shorter than most people assume. For merchant listing eligibility Google asks for a name, an image and a nested offer carrying a price and a priceCurrency.

Google’s merchant listing documentation adds one condition on top of those. "Merchant listings require an Offer as the merchant has to be the seller of the product in order to be eligible for merchant listing experiences, and merchant listing experiences require a price greater than zero."

Everything beyond those four changes how the listing looks rather than whether it appears.

Getting that far is still not automatic. The Allbirds product page declares a ProductGroup with 48 hasVariant entries, and each variant entry carries only a type and a url, with no price, availability or image.

Sometimes the record is missing altogether. The tentree product page we rendered on 10th August 2026 returned no ld+json blocks at all. It published no Product structured data for us to read. Both of those pages look finished to a shopper.

The Apparel Properties Almost Nobody Sets

Colour, size, material and audience let Google match a garment to the way a person searched for it. I find all four empty more often than I find them filled. Done properly it looks like this. The Rothy's Mary Janes page declares 17 variants with variesBy of size and colour, and also sets material and audience at group level.

Half-done is more common. The Everlane Way-High Jean page nests 13 variants inside a ProductGroup, each with its own MPN, SKU and priced offer, and sets no variesBy at all. Google therefore has thirteen things and no statement of what separates them. By contrast the Taylor Stitch Ojai Jacket page declares a ProductGroup of 24 variants with variesBy set to both colour and size.

StoreMarkup shapeVariants declaredWhat is missing
Taylor StitchProductGroup24nothing on this axis
Rothy'sProductGroup17nothing on this axis
SkimsProductGroup65colour, declared as size only
EverlaneProductGroup13variesBy entirely
Kettlewell ColoursProductGroup95variesBy, across all 95
AllbirdsProductGroup48price, availability and image on every variant
Unbound Merinoflat Product1 offerevery size but one
tentreenone found0the whole product record
Eight of the 28 fashion product pages we read on 10th August 2026, and what each one declares about its variants.

Why Your Own Products Appear In The Grid Without You

Brodie Clark has researched organic product grids since 2019, and measures them taking about half of first-page organic space, in up to three rows of ten. His qualifying condition is worth quoting exactly. "There needs to be an exact product match to be eligible to rank within a grid."

Eligibility is therefore decided per product against the record you publish for it, and assessed separately from how the page holding it ranks.

That reads as a bug and is not. A DTC brand on r/SEO, u/patpat_v1, said: "Our shop isn't listed as a merchant for our own products which is weird." They described searching their own brand name plus a garment. Google showed several of their black backpacks in the grid, sourced from other merchants, while their page ranked first underneath with a rich snippet.

When A Garment Sells Out For Good

Permanent sell-through is the most common thing that happens to a fashion URL. Few stores have ever written down what should happen next. It’s the part of SEO for fashion ecommerce that gets decided by whoever clears the catalogue.

A dress that is gone is gone. Its page is still there, carrying whatever it earned.

What Decides A Sold-Out Product URL

Stanley Dunthorne is SEO team lead at Hallam. Three of the questions he asks decide the treatment: is the garment gone for good; was the page earning organic traffic; does anything link to it.

  • Coming back next season. Keep the page live, take the add-to-cart off, say when it returns and capture the email.
  • Gone for good, no traffic, no links. Let it 404. Take it out of the sitemap and out of your internal links.
  • Gone for good, but it earned traffic or links. Redirect it to the closest collection and say on that page what happened.

My order of work on a sold-out garment URL, from the three questions to the two outcomes they lead to.

What I see instead is one rule applied to a whole season. Every dead SKU redirected to the homepage, or the lot deleted in a single job, and a year of accumulated links thrown away with them.

Availability Is Per Size, Not Per Product

Availability sits on the offer. A garment with one offer therefore has one availability, whatever is really on the shelf.

One example makes the cost obvious. The Unbound Merino women's v-neck page publishes a single Offer for a garment sold in several sizes. Price and availability then describe a single SKU.

Compare that with a page doing it correctly. The Baukjen Mariella midi dress page declares 7 variants, and the first variant in that markup carried an availability of OutOfStock at GBP 189 when we read it. Sold-out sizes are the ordinary state of a fashion page. Your data should say so.

Getting Named Where Fashion Buyers Already Look

March’s update did not reward size. In Amsive’s apparel breakdown the heaviest falls landed on department-store and off-price estates, while mid-tier mall brands and outlet sites improved.

Aleyda Solis read Sistrix data across the same window for Search Engine Land and found the same direction of travel. Rankings moved away from intermediary sites and towards stronger destination sources.

Put retailer names to that movement and it gets specific. Department-store estates lost ground while Coach and Gap Factory gained it.

For a smaller label that changes what coverage is worth chasing. A link from a marketplace listing you is a link to an intermediary.

A piece naming you as the maker of the garment, with the product page linked, establishes you as the source of the garment rather than another place to buy it.

The eight steepest apparel declines Amsive recorded across the March 2026 core update, from a losers list of eleven.

Inside your own site that same principle runs at a smaller scale. Your shortest path from homepage to garment should pass through a collection you would defend in a search result.

Every step on that path should be a canonical URL. I have written about earning coverage for a Shopify fashion brand in more depth.

What To Watch, And What Good Looks Like

One comparison in Search Console reflects almost everything above, and it is the first thing I open on a fashion account.

Two Product Reports, Not One

Search Console reports merchant listings and product snippets separately, and Google split the two filters in December 2023. Product snippets measure the structured data on your page. Merchant listings are the enriched free listing features for online stores, powered more heavily by the product feed you submit. That’s a higher bar than the page alone.

Brodie Clark's guide to the Search Console merchant listings report gives the diagnosis directly: "If there are far fewer valid pages within the merchant listings tab being registered as valid, then you're likely missing out on a lot of free product listing traffic."

Write both valid counts down this month and again next month. That difference is the number to move, and it responds faster than rankings do.

Alongside it, watch the not-indexed report by reason and watch impressions on brand plus garment queries. Those three tell you whether your catalogue is legible. A full site audit for an ecommerce store covers the rest.

Want The Catalogue Work Done Properly

Variants, collection URLs and the product record interact, so SEO for fashion ecommerce sits awkwardly with a generalist. Which one is costing your store most depends on catalogue size, platform and the state of your index today.

That judgement is what you are paying a specialist for.

Mint SEO is a specialist Shopify and ecommerce SEO agency in Manchester, and most of my week goes on catalogues with colour and size variants. I run the retainers myself, so you would be talking to me on the call and in the work.

Sequence matters more on a clothing catalogue than on most. A garment with an incomplete product record can’t be listed at all, so the record gets fixed before anyone touches the words around it.

The fix for each of those three is different, so the first job is working out which one is yours. Book a free 30-minute consultation.

Frequently Asked Questions About Fashion Ecommerce SEO

How Long Before A Clothing Store Sees Anything?

Judge the two halves on different clocks. A corrected product record changes eligibility as soon as the page is recrawled, so merchant listing validity can move inside a few weeks.

Query-level gains need your whole catalogue reassessed and take months. Anyone promising both on the same timeline is guessing.

Should Each Colour Get Its Own Page?

Each colour needs a reachable URL. That’s not the same as its own page.

A parent product with query-parameter variants meets Google's condition and keeps the signals together. Split a colour out only when it carries genuine search demand of its own, with copy to match.

Colour belongs on the record either way, and the Beginning Boutique page publishes a flat Product carrying a gtin13 of 9879957901123 and a colour of gold alongside its size and seller organisation.

Do Sold-Out Products Hurt Rankings?

A sold-out garment does no harm by itself. What harms you is a page still declaring stock it has not got, because the record and the page disagree.

Fix the availability field before you consider deleting the URL. Deleting is the expensive option and it’s rarely the right one.

Per-size offers are what make that fixable, and Paul James Knitwear publishes a flat Product with an offers array carrying one offer per size, each with its own SKU and a GBP 120 price. Sell one size out and only that offer changes.

Are Manufacturer Descriptions Ever Acceptable?

They’re a weaker problem than an absent product record. Copy doesn’t decide whether a garment can be listed.

Rewriting a thousand descriptions while your markup publishes nothing is the wrong order. Fix the record first, then improve copy where it earns attention.

How Do I Compete With ASOS?

You don’t compete on breadth. ASOS, Next and Zara carry ranges you can’t match, and trying is how small SEO budgets get spent for nothing.

You compete on the products only you make, described in the language people use for them, with a record complete enough to be listed. That’s what SEO for fashion ecommerce comes down to for a brand your size.

Completeness here costs configuration time, and the Finisterre open-stitch cardigan page nests 7 variants that each carry a GTIN-13 and an MPN alongside their own image and offer. Nothing about that needs ASOS money.

John Butterworth

About the author

John Butterworth

John Butterworth is the founder of Mint SEO, a Manchester ecommerce SEO agency he started in 2024. He has 11 years in SEO and digital marketing, previously running SEO departments for market-leading brands and several agencies. He specialises in Shopify and ecommerce SEO, and his work has ranked over 100 websites and driven more than 3 million organic visits. He speaks at industry events including the SEO Mastery Summit.

Connect on LinkedIn →

Leave a Comment