The highest-value page on a fashion store is almost never the homepage and almost never a blog post. It's the collection page: women's linen co-ord sets, men's oxford shirts, bridal lehengas under 50k. Fashion ecommerce SEO is mostly the work of deciding which of those pages deserve to exist, making sure Google can only find one URL for each, and giving each one enough content and internal links to outrank a marketplace listing. Everything else is secondary.
We've rebuilt the search side of enough Shopify fashion stores to know where the time actually goes, and it isn't where most founders expect.
Collection pages are where fashion SEO is won
Search demand in apparel clusters around category plus attribute. Nobody searches for your SKU name. They search for fabric, fit, occasion, colour, price band, gender. Each of those combinations is a page, and on Shopify each of those pages is a collection.
Most stores we audit have the opposite shape: forty product pages that each get eleven visits a month, and five collection pages called New Arrivals, Shop All, Sale, Best Sellers and Festive. Not one of those titles matches a search anyone performs. Meanwhile the money terms are sitting unclaimed.
The fix is boring and it works. Pull your Search Console query report, pull your on-site search log, pull the Google Shopping terms you already pay for, and build a list of category-plus-attribute phrases with real volume. Then create a manual or automated collection for each one with its own handle, title, meta description and 120 to 200 words of copy that a buyer would actually read. Not keyword mush. Fabric weight, how it fits, what it goes with, care instructions.
The arithmetic on one collection page
Founders underrate this work because a single page sounds small. Run the numbers on one.
Say the phrase is linen shirts for men. Assume 12,000 searches a month in India. You currently rank around position 8. Our rough planning assumption for click share is about 2% at position 8 and about 7% at position 3, which is a planning number from our own campaign data and not a published study, so treat it as directional.
At 2% you get 240 sessions a month. At 7% you get 840. That's 600 extra sessions. Apparel collection traffic on a decent Shopify theme converts somewhere between 1.2% and 2% once you strip out branded traffic, so call it 1.4%. That's 8.4 extra orders. At a ₹2,600 AOV, roughly ₹21,800 a month, or ₹2.6 lakh a year, from one URL.
Now do that for fifteen phrases. That's the whole argument for fashion ecommerce SEO, and it's also the reason the work is worth doing properly rather than in bulk.
Shopify's duplicate URL problem
Shopify will happily serve the same product at /products/handle and at /collections/anything/products/handle. The canonical tag in most themes points back to the clean /products/ version, which is correct, but we still find themes and apps that break it, and we still find internal links pointing at the collection-scoped version everywhere.
Two checks, ten minutes each:
- View source on a product reached through a collection and confirm the canonical is the bare
/products/URL. - Check whether your product grid links to the scoped version. If it does, change the snippet so the href is the clean product URL. Crawl budget on a 2,000-SKU catalogue is real, and wasting it on duplicates is how new products take three weeks to get indexed.
Then there's the variant question. Colour variants with their own ?variant= parameter do not need indexing. Colour as a collection does. "Black kurta" is a search. "Black kurta, size M" is not. Build a collection for the first, leave the second as a filter.
Faceted navigation: index three facets, block the rest
This is where large fashion catalogues quietly destroy themselves. Turn on filters, and a 900-product catalogue generates tens of thousands of crawlable filter URLs within a week. Google crawls them, finds thin near-duplicate pages, and slows down on the pages you care about.
The approach we use: pick the two or three facets that have genuine search demand in your category, usually colour, fabric and occasion in Indian apparel, and give those dedicated collection URLs that are internally linked and indexable. Everything else, size, price slider, sort order, stays as a parameter that is either blocked in robots.txt or rendered without a crawlable link.
The awkward part is that Shopify's native filtering gives you limited control over how those URLs are emitted, and most filter apps make it worse before they make it better. If you're running a catalogue big enough for this to matter, pick a filter layer that lets you decide what's a link and what's a parameter. We built FilterPro partly because we kept hitting this on client builds and wanted filtering and on-site search that didn't spray crawl paths across the site.
One more thing on filters: fix your on-site search before you chase Google. People who use search on a fashion store convert at several times the site average, and if they type "corduroy" and get nothing because your product titles say "cord", you're losing buyers who were already inside the door.
Product copy when you have 1,400 SKUs
You will not hand-write 1,400 product descriptions, and you shouldn't pretend otherwise. But the supplier-supplied paragraph that eleven other stores also use is worth nothing in search and very little in conversion.
What we do instead: write genuinely original copy for the top 10% of SKUs by revenue or by search demand, and build a structured template for the rest that pulls real attributes into unique sentences. Fabric, GSM where you know it, fit, the model's height and the size they're wearing, wash care, whether it shrinks. That last one gets more reads than anything else you'll write, especially on cotton.
Product titles matter more than the description in fashion. Mira Shirt ranks for nothing. Mira Oversized Cotton Poplin Shirt, Ivory matches how people actually search, works better in Shopping feeds, and still reads like a brand. Keep the house name if you must, just put the nouns after it.
Seasonal churn and the 404 problem
Apparel has an SEO problem that electronics doesn't: half the catalogue is gone in six months. A product page that earned links and rankings for a season disappears, and the default outcome is a 404.
Rules we apply:
- If the product is coming back, keep the page live and show a back-in-stock form. A page that stays up for four months out of stock keeps its rankings. A page that 404s and gets recreated starts from zero.
- If it's gone for good and there's a direct successor, 301 to the successor product.
- If there's no successor, 301 to the parent collection, not the homepage. Homepage redirects get treated as soft 404s.
- Never delete and recreate a seasonal sale collection. Keep one permanent
/collections/saleand swap what's inside it. We've seen brands build EOSS rankings over two seasons and then delete the URL in July.
Festive season makes this sharper. If you want to rank for Diwali or wedding-season phrases, the collection needs to be live and accumulating signals by August, not launched on the first of October with a banner.
Speed, because fashion pages are image-heavy by definition
A collection grid with 48 products is 48 images, and the LCP element is almost always the first one. We routinely see fashion stores on mobile 4G in India at 3.5 to 4.5 seconds LCP, and the usual culprits are uncompressed hero images, a slider app, and three review widgets loading on every template.
Getting that under 2.5 seconds is mostly removing things. Lazy-load everything below the fold, preload only the first grid image, serve WebP, drop the carousel, and audit which apps inject scripts on templates where they do nothing. On a recent theme cleanup the single biggest win came from an abandoned-cart app still loading sitewide eight months after the brand stopped using it.
Speed won't make you rank for a term you have no page for. It will decide whether the traffic you already have converts. More detail on how we approach it is on our Shopify speed optimisation page.
Schema, size charts and the returns link
Add Product schema with price, availability, currency and review data if you have it. Most Shopify themes ship partial markup, and the gap is usually availability and priceValidUntil. Validate in Search Console's Rich Results report, not a third-party checker.
Size charts are an SEO topic in disguise. Fashion returns in India run high, and a large slice of them are fit returns that the customer could have avoided. A per-category size chart with actual garment measurements in inches and centimetres, placed inline rather than behind a popup, reduces returns and gives the page unique content at the same time. We've watched the return rate on a shirt category drop meaningfully after nothing more than replacing a generic S/M/L table with chest, shoulder and length measurements per size.
What to actually measure
Split branded from non-branded in Search Console before you report anything. Brand searches go up when you run Meta ads, and counting them as SEO wins is how agencies get paid for work they didn't do.
The metrics worth a monthly look: non-branded clicks to collection URLs, number of collection pages getting at least ten clicks a month, average position for your fifteen target phrases, and indexed-pages count versus submitted. If indexed is climbing much faster than submitted, your facets are leaking.
Give it two quarters. Category rankings in apparel move slowly because the competition is marketplaces with enormous authority, and the realistic play is to beat them on specific long-tail intent rather than on the head term. You're not going to outrank a horizontal marketplace for "kurta". You can absolutely own "handloom cotton kurta with pockets".
When fashion ecommerce SEO is the wrong spend right now
If you're doing under ₹10 lakh a month and have fewer than 60 SKUs, SEO is probably not your first move. You don't have enough catalogue to cover meaningful search demand, and the six to nine month payback window is too long against the cash you have. Spend it on paid social, get the product and the repeat rate working, and come back when you have a catalogue worth indexing.
Also true: if your store is on a page builder with 4-second load times and a theme you can't edit, fix that first. SEO on a broken foundation is money into a hole.
If you do have the catalogue, start with one audit output: a list of the twenty category-plus-attribute phrases you should own, mapped against the collection URLs you currently have. Most stores find they're missing fourteen of them. We'll do that mapping as part of a free store audit, or you can read how we structure longer engagements on our SEO and content page.


