Skip to content
Coder71
SEO

Ecommerce SEO: the parts that actually move rankings

Most ecommerce SEO advice is about content. Most ecommerce SEO problems are architectural — and they are invisible until you look at what crawlers actually see.

Coder71 Team · 12 min read
Ecommerce SEO

The short answer

Ecommerce SEO is mostly architecture, not content. Rankings are decided by whether category pages are crawlable and indexable, whether faceted navigation generates infinite near-duplicate URLs, whether product data is server-rendered with correct structured data, and whether internal linking reaches deep pages.

Most ecommerce SEO advice is about writing better product descriptions and building links. Both help. Neither is why most stores underperform.

The stores we audit are usually held back by something structural: a faceted navigation generating hundreds of thousands of crawlable near-duplicate URLs, category pages that render nothing without JavaScript, pagination that hides two-thirds of the catalogue, or structured data that has been subtly wrong for two years.

These problems share a property that makes them dangerous — they are invisible from the browser. The site looks fine. It ranks badly. This guide is about finding and fixing that category of problem.

Site architecture: the shape that decides everything

Search engines allocate finite attention to your site. Architecture decides where it goes.

The working principle is depth: every page that should rank must be reachable in three clicks or fewer from the homepage. Not through a sitemap — through actual links, on actual pages, that a crawler follows.

That gives a shape like:

  • Homepage → top-level categories.
  • Category → subcategories and the highest-value products.
  • Subcategory → products, paginated sensibly.
  • Product → related products, back to its categories, to its brand.

Two failure modes recur.

Orphaned deep catalogue. A store with 40,000 products and a three-level navigation typically leaves most of the catalogue reachable only through paginated lists twelve pages deep. Those products are technically crawlable and effectively invisible. The fix is more entry points: curated collections, brand pages, attribute-based landing pages, and genuine related-product linking on product pages.

Flat but shallow. The opposite mistake — everything one click from the homepage — destroys the topical grouping that tells a search engine what a section is about. A category page that links to 4,000 products passes almost nothing to each.

Faceted navigation: the biggest technical problem in ecommerce SEO

If you fix one thing, fix this.

Facets — colour, size, price, brand, material — combine. A category with six facets averaging five values each generates tens of thousands of URL combinations, and if each is crawlable and indexable you have created a near-infinite space of thin, near-duplicate pages. Crawlers spend their budget there instead of on your products, and your genuinely valuable category pages compete against thousands of variants of themselves.

Google's own guidance on faceted navigation is worth reading directly. The practical approach:

How to handle each kind of facet URL
Facet typeCrawlable?Indexable?Why
High-demand single facet (brand, colour)YesYes — as a real landing pagePeople search "black running shoes". Give it a page with its own title, copy and canonical.
Two or more facets combinedNoNoCombinatorial explosion with almost no search demand behind it.
Sort orderNoNoSame products, different sequence. Pure duplication.
Price rangeNoNoAlmost never has search demand, and changes constantly.
PaginationYesYes, with self-canonicalCrawlers need it to reach deep products. Do not canonicalise page 2 to page 1.

Two implementation notes that people get wrong.

Blocking in robots.txt is not the same as deindexing. A URL blocked from crawling can still be indexed if something links to it, and Google cannot see the noindex tag on a page it is not allowed to fetch. Use noindex to remove a page from the index and robots.txt to preserve crawl budget — and never both on the same URL, because that combination is self-defeating.

Do not canonicalise page 2 to page 1. It was common advice years ago and it is wrong: it tells search engines to ignore page 2, which is how the products only listed there stop being discovered. Paginated pages should self-canonicalise.

Category pages carry more weight than product pages

The head terms in ecommerce are category terms. "Running shoes" has orders of magnitude more search volume than any individual shoe, and it is a category page that competes for it.

Yet most category pages are a grid of products with an H1 and nothing else — which gives a search engine almost nothing to work with beyond product names that also appear on 400 other sites.

What a category page needs:

  1. A distinct, intent-matching title — Leading with the term people actually search, not with a brand phrase. The <title> competes in a result list; the H1 talks to somebody who has already arrived. They are different jobs and can be different strings.
  2. Genuinely useful copy, positioned well — Buying guidance, how to choose, what the differences between the sub-types are. Placed where a customer would want it — usually a short intro above and the longer content below the grid — not as a keyword block at the bottom nobody reads.
  3. Links to subcategories and sibling categories — This is what builds the topical cluster and what distributes authority to the deep catalogue.
  4. Server-rendered product listings — The products, their names, their prices and their links must be in the HTML. If they arrive by client-side fetch, the page is a container with no content.
  5. Sensible pagination, or well-implemented infinite scroll — Infinite scroll is fine for users and hostile to crawlers unless it is backed by real, linked, crawlable paginated URLs underneath.
  6. Its own FAQ block where there is real demand — Sizing, materials, delivery, returns for that category specifically. This is what gets lifted into answer boxes and AI summaries.

Product pages: duplication is the enemy

The defining problem of product page SEO is that thousands of retailers publish the same manufacturer description. A page that is 90% identical to 400 others has nothing to distinguish it.

What actually differentiates:

  • Original description copy, even two paragraphs. Manufacturer text can stay below it as a specification block.
  • Real answers to buying questions — fit, compatibility, what it comes with, what it does not.
  • Customer reviews, which are unique content by definition and the main reason review programmes pay back in organic traffic.
  • Your own photography, which does not help text ranking directly but reduces the sense of a page assembled from a feed.
  • Correct, complete structured data.

Variants and canonicals

Variant URLs are the most common product-page mistake. If every colour and size has its own indexable URL with the same description, you have twenty near-duplicate pages competing with each other.

The default answer is one canonical product page with variants selectable on it, and variant URLs canonicalising to the parent. The exception is when a variant has real independent search demand — people search for a specific colourway by name — in which case give it a genuinely distinct page, with its own title, its own copy and its own images. Not a duplicate with a different canonical.

Structured data: what to emit and what to get right

Structured data does not improve rankings directly. It does decide whether your result shows a price, availability and a star rating — which changes click-through on the same position — and it is increasingly how AI answer engines extract facts about your products.

The minimum for an ecommerce site:

Structured data by page type
PageTypesMost common mistake
ProductProduct with Offer, AggregateRating, ReviewAvailability and price drifting out of sync with the page
CategoryCollectionPage, BreadcrumbList, ItemListOmitted entirely
All pagesBreadcrumbListNot matching the visible breadcrumb trail
Home / globalOrganization, WebSiteRepeated per page with details that disagree
Guides and FAQsFAQPage, ArticleMarking up questions that are not on the page

Three rules that prevent most structured-data problems.

Never mark up something the page does not show. It is against Google's guidelines and it is the fastest way to lose rich results entirely.

Never invent an aggregate rating. If you have no reviews, omit the property. A fabricated rating is a manual-action risk that buys a star icon.

Keep it consistent across the site. Stable identifiers that reference each other read as one entity graph; a per-page pile of unrelated snippets gives a crawler several chances to see contradictory information about the same company.

Out-of-stock and discontinued products

Every catalogue business faces this and most handle it badly, usually by deleting the page.

Deleting is the worst option available. A product page that has accumulated rankings, backlinks and reviews over three years is an asset, and a 404 discards all of it. The right response depends on what happens next to that product.

What to do with a product that is not currently buyable
SituationDo thisWhy
Temporarily out of stockKeep the page live and indexed. Mark availability correctly in structured data. Offer alternatives and a back-in-stock signup.It will sell again. Rankings take months to rebuild and seconds to lose.
Discontinued, direct successor exists301 to the successor.Passes the accumulated value to the page that can now convert.
Discontinued, no successor, still gets trafficKeep the page, state clearly that it is discontinued, link to the category and to similar products.The traffic is real and the visitor can still be served.
Discontinued, no traffic, no links301 to the parent category.Nothing to preserve, but the URL may still be linked somewhere.
Seasonal, returns annuallyKeep the page live all year.Removing and recreating it each season restarts from zero every time.

The critical detail for the first row: keep the structured data honest. If a product is out of stock, the availability property must say so. Continuing to advertise it as in stock in your markup is how a site loses rich results across the whole catalogue, and it is a straightforward guideline violation rather than an edge case.

Internal linking at catalogue scale

Manual internal linking works for a hundred pages and fails for ten thousand. At catalogue scale it has to be systematic — generated from data, applied by template, and audited by crawling rather than by memory.

The mechanisms that scale:

  • Breadcrumbs on every page. Simple, systematic, and they push authority back up the hierarchy while telling both users and crawlers where they are.
  • Related products driven by real relationships — same collection, same brand, frequently bought together — not by a random selection that changes each render. A crawler encountering different links every visit learns nothing from them.
  • Cross-category links on category pages. "Also in this range", "you might also browse". This is what stops each category being an island.
  • Attribute landing pages for combinations with real search demand, linked from the parent category. This is where facet strategy and internal linking meet.
  • Editorial content that links into the catalogue. A buying guide that links to twenty products is a genuinely valuable internal linking mechanism, and it is one that also earns external links.
  • A logical footer, which is often the only reliable path to secondary categories.

Two things to avoid. Do not link to everything from everywhere — a page linking to 300 others distributes almost nothing to each, and the value of a link is diluted by the count. And do not randomise related products, tempting as it is for merchandising: stable relationships are what let a crawler infer structure.

The audit is mechanical: crawl the site, count inbound internal links per URL, and sort ascending. The bottom of that list is your orphan problem, stated precisely.

International and multi-currency stores

If you sell into more than one country, this is where most of your remaining technical risk is.

Pick one URL structure and never change it. Subdirectories (/uk/, /de/) are the usual right answer: they are simple, they inherit the domain's authority, and they are cheaper to run than separate domains. Subdomains and country domains are defensible for genuinely separate operations, and much more work.

Implement hreflang properly or not at all. The rules that catch people out: annotations must be reciprocal, so if page A points to page B, B must point back to A. Every set should include a self-reference. Use x-default for the fallback. And an incomplete implementation is worse than none, because search engines will ignore an inconsistent set entirely.

Do not switch currency or language by IP alone. A crawler requesting from one country sees only one version of your site, and a customer who wants a different one has no way to say so. Detect and suggest, always with a persistent manual override.

Watch for duplicate content between similar markets. Identical English pages for the UK, US, Australia and Ireland are near-duplicates competing with each other. hreflang is the mechanism that tells search engines they are variants rather than duplicates — which is exactly why an incomplete implementation causes so much damage here.

What to measure

Ranking positions are a poor primary metric for ecommerce: they are volatile, personalised, and one term tells you nothing about a catalogue of forty thousand. Track these instead, all available without a paid tool.

  1. Indexed pages against crawlable pages, by template. The gap is where the problem is.
  2. Organic sessions by page type — home, category, product, content. A drop in one template with the others flat is a template problem, and that is an actionable finding.
  3. Click-through rate by query group in Search Console. Falling CTR at a stable position usually means a title, a description or a lost rich result.
  4. Products receiving any organic traffic, as a share of the catalogue. This is the single best measure of whether your architecture reaches the deep catalogue.
  5. Crawl requests by URL type from server logs. If most crawl activity is on facet and sort URLs, that is your finding and everything else is secondary.
  6. Core Web Vitals by template, because assessment is per URL group and templates fail independently. See Core Web Vitals for ecommerce.

The fourth is the one we would keep if forced to pick one. "What percentage of our products got a single organic visit last month" is a number most retailers have never calculated, and it reframes the conversation from keywords to architecture immediately.

The technical checks that find real problems

In order of how often they find something, on a store that has never had a technical audit:

  1. Crawl the site and compare the URL count with the indexed count. A large gap in either direction is the headline finding.
  2. View a category and a product page with JavaScript disabled. If the products, prices and links are missing, everything else is secondary.
  3. Check Search Console's page indexing report for "Duplicate without user-selected canonical" and "Crawled – currently not indexed". Both usually point at faceted URLs.
  4. Look at server log samples. They show what crawlers actually spend their time on, which is frequently facet and sort URLs nobody knew were crawlable.
  5. Test structured data on every template, not on one example page.
  6. Count internal links to your deepest products. If the answer is one, from page eleven of a listing, that is your orphan problem.
  7. Verify canonicals on variant and paginated URLs specifically. These are where canonical logic is usually wrong.

Key takeaways

  • Ecommerce SEO is mostly architecture. Content matters, but it is rarely why a store underperforms.
  • Faceted navigation is the single biggest technical risk — control which combinations are crawlable and which are indexable, separately.
  • Category pages compete for the head terms. Most are a product grid with nothing else.
  • Product pages lose to duplication. Original copy and reviews are what differentiate them.
  • Structured data must match what is on the page, and never invent a rating.
  • The problems are invisible from a browser. Crawl, disable JavaScript, and read the logs.

Our SEO work starts with the crawl and the log sample rather than with a keyword list, because that is where the findings that change traffic usually are. Send us the domain if you want a look.

Frequently asked questions

Make single facets with genuine search demand — brand, colour — real indexable landing pages with their own titles and copy. Block crawling of multi-facet combinations, sort orders and price ranges, which generate near-infinite thin duplicates. Keep pagination crawlable and self-canonicalising so deep products stay discoverable. Note that robots.txt blocking and noindex do different jobs and should not be applied to the same URL.

Circle Logo Icon gray small
Coder71 TeamEcommerce engineering and delivery team

The engineers, architects and strategists who build Coder71's client work — storefronts, custom software, mobile apps and the automation behind them.

10+ years building ecommerce systems · Delivery across the US · Canada · the UK · Australia · Europe and the Middle East · Builders of Fastmart · Footprint and Wallpaper71

Next step

Tell us the goal. We’ll scope the work.

New website, a rebuild, Shopify, a mobile app, custom software or SEO — one paragraph is enough. You get scope, risks and a timeline back within one business day, from the engineer who would build it.