Your shopping cart is empty!
eCommerce SEO is built on three pillars: clean URL architecture, unique product content, and structured data. Get these right and organic traffic grows 40–120% within 6–12 months — even in competitive niches.
Contents
- What Makes eCommerce SEO Different
- Category Page Optimisation
- Faceted Navigation: noindex vs Canonical
- Product Pages: Title, Description & Content
- Duplicate Content from Sorting & Parameters
- Structured Data: Product & Review Schema
- Internal Linking for Online Stores
- Technical SEO: Speed & Crawl Budget
- Keyword Strategy & Semantic Clustering
- Seasonality & Inventory Management
- Frequently Asked Questions
What Makes eCommerce SEO Different
An online store is a fundamentally different SEO challenge compared to a blog or corporate site. Thousands of SKUs, hundreds of categories, filters, and sorting options generate an enormous number of URLs — and search engines need help identifying which ones are genuinely worth indexing.
A typical store with 5,000 products can generate 50,000 to 300,000 URLs once all filter combinations are factored in. Of those, only 10–15% are actually worth indexing. The rest is technical noise that dilutes crawl budget and drags down domain authority.
Three core challenges in eCommerce SEO:
- Content duplication — near-identical product cards, filter pages, and sorting variants competing against each other
- Thin content — product pages with no descriptions, or copy-pasted manufacturer text used by dozens of competing stores
- Wasted crawl budget — Googlebot spending its allowance on empty technical pages instead of revenue-driving product listings
Let's break down each layer — from category architecture to product schema markup.
Category Page Optimisation
Category pages are the primary landing pages for most commercial search queries. They're what ranks for "buy running shoes", "smartphones under £300", "women's summer dresses". Getting category SEO right delivers the highest ROI in the entire eCommerce SEO stack.
URL Structure for Categories
Clean, descriptive URLs outperform dynamic ones in both rankings and click-through rates:
- Good: /catalog/running-shoes/ or /mens-footwear/running-shoes/
- Avoid: /category.php?id=42&lang=en or /index/cat/12/sub/45/
Keep depth to 3–4 levels maximum. Deeper URLs receive lower crawl priority and index more slowly — a real problem when you're launching new product ranges.
Content on Category Pages
The most common mistake is either having no text on category pages at all, or burying it below 200 products where users never scroll. The optimal layout:
- Above products: H1 with the primary keyword + a short intro paragraph (100–150 words) covering key purchase considerations
- Below products: expanded content (300–500 words) answering buyer questions and providing guidance on choosing the right product
- Breadcrumbs: essential for navigation and SEO — implement with BreadcrumbList schema markup
Meta Tags for Categories
| Element | Template | Example |
|---|---|---|
| Title | [Category Name] — Buy [location/store] | Nike Running Shoes — Buy Online | SpeedShop UK |
| Description | Wide range of [category]. [Number] models, [key benefit]. From [price]. | 240 Nike running shoes. Authentic with warranty. From £89. Free delivery on orders over £50. |
| H1 | [Primary category keyword] | Nike Running Shoes |
Title and H1 should not be word-for-word identical. The title works in SERP to drive clicks; H1 serves the reader on the page. Different jobs, different optimal wording.
Pagination
Google dropped rel="prev/next" support in 2019. The current approach: each pagination page (/catalog/running-shoes/?page=2) is indexed independently, with canonical pointing to itself. The first page carries the most authority — subsequent pages naturally receive less, and that's completely fine.
Faceted Navigation: noindex vs Canonical
Faceted navigation — filters by brand, size, colour, price — is one of the most technically complex areas of eCommerce SEO. Every filter combination creates a new URL. Left unmanaged, search engines can end up crawling millions of near-identical pages.
Three Strategies for Managing Filter Pages
| Strategy | When to Use | Implementation |
|---|---|---|
| noindex + follow | Most combinations with no search demand | Meta robots noindex in <head> |
| Canonical to base category | Sorting parameters, paginated variants | rel="canonical" href="/catalog/running-shoes/" |
| Index with unique content | Filter combos with standalone demand (brand+type) | Unique H1, title, description for the combination |
Deciding Which Filters to Index
Check Google Search Console and Ahrefs to see if there's organic traffic or search volume for specific filter combinations:
- "Nike men's running shoes size 10" — real search demand → worth indexing with unique content
- "blue shoes sorted by price low to high" — no demand → noindex or canonical
Robots.txt for eCommerce
Standard robots.txt entries for technical URL management:
- Disallow: /*?sort= — all sorting parameters
- Disallow: /*?color= — colour filters (when no standalone demand)
- Disallow: /search? — internal search results
- Disallow: /cart — shopping cart and checkout pages
- Disallow: /account — user account pages
After blocking technical URLs in robots.txt for a large client store (50,000+ products), we freed up 60–70% of crawl budget. Google started indexing new product pages within 3–5 days instead of the previous 2–3 weeks.
Product Pages: Title, Description & Content
Product pages are the workhorses of eCommerce SEO. In most stores, 80% of all pages are product cards. Their optimisation directly determines whether you show up for transactional queries like "buy X", "X price", "X reviews".
Title Templates for Product Pages
| Product Type | Title Formula | Example |
|---|---|---|
| Electronics | Buy [Name] — [Spec] | [Store] | Buy iPhone 16 Pro 256GB — Price, Photos | TechStore |
| Clothing/Footwear | [Name] [Brand] — Buy Online | Nike Air Max 90 Running Shoes — Buy Online | SpeedShop |
| Home Goods | [Name] [Volume/Size] — [Benefit] | [Store] | Pantene Pro-V Shampoo 400ml — Moisture & Shine |
| Furniture | Buy [Name] [Material/Size] — Photos, Price | Buy Comfort Sofa 180×90cm — Photos, Price | HomeDecor |
Meta Description Templates for Product Pages
An effective product page description:
- Opens with a benefit or specific fact: "Authentic Nike shoes...", "Next-day delivery..."
- Includes concrete data: price, review count, delivery timeframe
- Has a clear CTA: "Order now", "View photos and reviews"
- Stays within 155–160 characters
Example: "Nike Air Max 90 — authentic with warranty. From £89, 47 reviews. Free delivery on orders over £50. Choose your size and order today."
Unique Product Content
Copy-pasting manufacturer descriptions is the single most damaging practice in eCommerce SEO. It instantly creates duplicate content with every other retailer using the same supplier text. The fix:
- Rewrite in your own voice — even 30% original text outperforms 100% copied content
- Add practical context — "Perfect for city running", "Fits wide feet comfortably"
- Structure specifications — a spec table beats a wall of text every time
- Leverage customer reviews — UGC automatically refreshes the page and adds genuine uniqueness
Product Images for SEO
Images are a separate SEO asset. Key optimisation points:
- Alt text: descriptive with product name and brand — "Nike Air Max 90 white men's running shoes"
- File name: use descriptive names — nike-air-max-90-white.jpg (not IMG_4521.jpg)
- Format: WebP reduces file size by 25–35% vs JPEG at equivalent quality
- File size: keep main product images under 100–150 KB for fast LCP
Duplicate Content from Sorting & Parameters
Duplicate content is one of the most common causes of organic traffic stagnation in online stores. Google doesn't penalise duplicates directly, but it does have to choose a "canonical" version — and it frequently picks the wrong one.
Main Sources of Duplicates in eCommerce
- Sorting parameters: /catalog/?sort=price vs /catalog/?sort=rating vs /catalog/ — all functionally the same page
- Colour variants: /product/sneakers-white/ and /product/sneakers-blue/ with identical descriptions
- Size variants: separate URLs per size with identical content
- WWW vs non-WWW: if the redirect isn't properly configured
- HTTP vs HTTPS: residual links or pages on the old protocol
- Trailing slash inconsistency: /catalog/running-shoes/ and /catalog/running-shoes
Solutions by Duplicate Type
| Duplicate Type | Solution | Priority |
|---|---|---|
| Sorting (?sort=) | Canonical pointing to base category URL | High |
| Colour/size variants | Canonical to primary variant or unique content | Medium |
| UTM parameters | Canonical to clean URL or robots.txt Disallow | Medium |
| WWW/non-WWW | 301 redirect to chosen format | Critical |
| HTTP/HTTPS | 301 redirect to HTTPS | Critical |
| Trailing slash | 301 redirect to consistent format | Medium |
Product Variants and Canonical Strategy
When a product comes in multiple variants (colour, size, material) on separate URLs, two approaches work:
- Single URL for all variants — switching handled by JavaScript without URL changes. Simpler for SEO, but harder for UX and deep linking.
- Separate URLs with canonical — each variant has its own URL, canonical points to the "primary" version. Works well when specific colour or size combinations have their own search demand.
We tested both approaches on a footwear store with 1,200 SKUs. Moving to separate URLs with canonicals for popular colours and sizes drove +23% organic traffic in four months — by capturing long-tail queries that the single-URL approach completely missed.
Structured Data: Product & Review Schema
Structured data for eCommerce isn't optional — it's a competitive necessity. Product schema enables rich snippets in search results showing price, ratings, and stock availability. Pages with rich snippets consistently outperform standard listings on click-through rate.
Product Schema: Required Fields
According to Google's official structured data documentation, the minimum fields for a rich snippet are:
- name — product name
- image — image URL (minimum 160×90 px)
- description — product description
- offers → price — price (numeric format)
- offers → priceCurrency — currency code (USD, GBP, EUR, etc.)
- offers → availability — stock status (InStock / OutOfStock)
aggregateRating: Stars in Search Results
Star ratings in search results lift CTR by an estimated 15–30% compared to plain listings. To display them, add an aggregateRating block:
- ratingValue — average score (e.g., 4.6)
- bestRating — maximum score (5)
- ratingCount or reviewCount — total number of ratings/reviews
BreadcrumbList Schema
Breadcrumb markup shows the path to a product in Google's snippet — increasing click-through rate and giving Google a clear picture of your site structure. Essential for stores with deep category hierarchies.
Validating Your Schema
Tools for markup validation:
- Rich Results Test (search.google.com/test/rich-results) — checks whether your page is eligible for rich snippets
- Schema Markup Validator (validator.schema.org) — validates syntax independently of Google
- Google Search Console → Enhancements → schema errors and warnings
Internal Linking for Online Stores
Internal links are the mechanism for distributing authority across your site. In eCommerce, this matters enormously: your homepage and top categories carry the most link equity, and strategic linking passes that authority down to product pages and subcategories that need it.
Internal Linking Hierarchy
- Homepage → links to main categories (via navigation and featured sections)
- Categories → link to subcategories and top products (via "Best sellers", "New arrivals" blocks)
- Subcategories → link to relevant product cards
- Product pages → link to each other via "Related products", "Frequently bought together", "Recently viewed"
Internal Linking Blocks on Product Pages
| Block | Link Type | SEO Impact |
|---|---|---|
| Related products | Semantically similar, same category | Passes authority, increases crawl depth |
| Frequently bought together | Complementary products | Cross-sell + increased session duration |
| Recently viewed | Personalised, dynamic | Brings users back to products they considered |
| More from this category | Other products in the same category | Strengthens the category cluster |
| Breadcrumbs | Hierarchical (product → subcategory → category) | Structural navigation + BreadcrumbList schema |
Anchor Text in eCommerce
Internal link anchors must be descriptive — never "click here" or "learn more". Key rules:
- Anchor = the name of the product or category you're linking to
- Vary anchor text for the same target page — avoid 100% exact-match anchors
- Keep total internal links per page under 100–150 to preserve crawl efficiency
Technical SEO: Speed & Crawl Budget
Technical optimisation for large stores has unique demands. A catalogue of thousands of products creates specific challenges around page speed, crawl efficiency, and handling out-of-stock inventory.
Core Web Vitals for eCommerce
Three performance metrics that Google uses as ranking signals:
- LCP (Largest Contentful Paint) — on product pages, the LCP element is typically the hero product image. Target: under 2.5 seconds. Use priority loading:
<img loading="eager" fetchpriority="high"> - INP (Interaction to Next Paint) — critical for filters and add-to-cart actions. Avoid heavy JavaScript click handlers that block the main thread
- CLS (Cumulative Layout Shift) — always reserve space for images using explicit width/height attributes to prevent layout jumps
Crawl Budget Management
Crawl budget is the number of pages Googlebot will crawl in a given period. For large stores, it's a finite resource. How to use it wisely:
- XML Sitemap — include only indexable pages; remove noindex URLs
- Robots.txt — block technical URLs (cart, search, sorting parameters)
- Handle discontinued products via 301 redirects rather than 404s
- Limit filter depth — prevent infinite URL combinations from being generated
Out-of-Stock Product Pages
Seasonally or temporarily unavailable products should not be deleted. Keep them live with OutOfStock status in schema markup and a "Notify me when available" button. The page retains its accumulated authority.
Permanently discontinued products should be 301 redirected to the category page or the closest equivalent product. Returning a 404 destroys every backlink and all the crawl equity the page has built up.
For a comprehensive technical review framework, see our technical SEO audit guide.
Ready to scale organic traffic from your online store? Our eCommerce SEO service covers everything from architecture review to on-page optimisation at scale.
Keyword Strategy & Semantic Clustering
Keyword research for eCommerce works differently from content or lead-gen sites. Search queries split clearly by intent — navigational, informational, and transactional — and your store needs to rank primarily for transactional and commercial-investigational queries where purchase intent is high.
Query Types and Target Pages
| Query Type | Example | Target Page |
|---|---|---|
| Transactional | buy Nike running shoes online | Category page or product card |
| Commercial-investigational | best running shoes for beginners 2024 | Blog article or comparison page |
| Navigational | Nike Air Max 90 official store | Brand page or product card |
| Informational | how to choose running shoe size | Blog article / help centre |
Semantic Clustering for Categories
Each category should target a cluster of related queries, not a single keyword. A practical three-tier structure:
- Primary keyword (high frequency): "Nike running shoes" — in H1 and category title
- Mid-frequency variants: "Nike men's running shoes", "Nike Air Max trainers" — in subheadings and body text
- Long-tail queries: "Nike Air Max 90 white size 10" — in filter pages and specific product cards
Long-tail queries convert at dramatically higher rates than broad terms. A shopper searching for a specific model and size has already decided to buy — they're choosing where, not whether. CTR on long-tail pages is typically noticeably higher than category-level pages, with a fraction of the competition.
Keyword Research for New Categories
When expanding your catalogue, never launch new categories without semantic preparation. The process:
- Research keywords for the new category before launch (Ahrefs, Google Keyword Planner, Semrush)
- Identify the primary keyword for H1 and title
- Write the intro text and meta tags before the first product goes live
- Set up internal links from related existing categories pointing to the new one
Pages that launch with content in place build authority faster than those that start empty and get filled in later.
Seasonality & Inventory Management
Online stores live by seasonal rhythms. Winter outerwear, holiday gifts, back-to-school supplies — traffic to these categories swings dramatically across the year. SEO for seasonal categories requires a fundamentally different approach from evergreen product ranges.
Start Seasonal SEO Well Before the Season
Google needs time to crawl, index, and rank pages. Realistic timelines:
- New page with no authority: 2–4 months to meaningful rankings
- Updated existing page: 2–6 weeks to re-rank
- Page with an established backlink profile: 1–3 weeks
The practical implication: if your peak season starts in December, SEO prep for your "Christmas gifts" category needs to begin in September or October — not the week before Black Friday.
Seasonal Categories: Hibernate, Don't Delete
A common and costly mistake is deleting seasonal categories when the season ends, or letting them return 404. The right approach:
- Keep the URL live year-round — the page retains its accumulated link authority
- Off-season: update the content to a neutral holding message: "New season collection arriving autumn 2025"
- 6–8 weeks before the season: restore full inventory and seasonally relevant copy
- Never change the URL or H1 structure during the off-season pause
Flash Sales and Promotional Pages
If a promotional event repeats annually — Black Friday, end-of-season clearance, summer sale — never delete the page when the promotion ends. Keep it live with updated copy along the lines of "Next sale starts [month]". Year on year, that page accumulates authority and ranks in the top results well before the sale even begins.
One of our retail clients kept their Black Friday landing page live all year with a short holding message. After three years, it ranked second for "black friday clothing ukraine" — without a single link built directly to that URL.
Reviews, Trust Signals & E-E-A-T
Google applies E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) standards particularly rigorously to eCommerce sites, which fall under the "Your Money" category in Google's quality guidelines. Practical steps to strengthen your store's E-E-A-T:
- Genuine customer reviews on product pages, displayed visibly and marked up with aggregateRating
- A credible About page with founding year, team information, physical address, and relevant certifications
- Clear returns and warranty policies — easily accessible and written in plain language
- SSL and secure checkout — a foundational trust signal for both Google and shoppers
- Google Business Profile — especially important for retailers with physical locations
For a deeper look at how Google evaluates site credibility, read our article on E-E-A-T: how Google evaluates expertise and trust.
Frequently Asked Questions
Should filter pages be blocked from indexation?
Most faceted filter combinations should either be blocked via noindex or consolidated through canonical tags. The exception is combinations with standalone search demand (e.g., "Nike running shoes size 10") — these can remain indexed with unique content targeting that specific query.
How should sorting parameter duplicates be handled?
Pages with sorting parameters (?sort=price, ?order=asc) should be handled with canonical tags pointing to the base category URL without parameters. This prevents link equity dilution and stops pages from competing against each other in search results.
Which Schema.org markup is most important for an online store?
Product schema with name, price, priceCurrency, availability, and aggregateRating fields is the most critical. It enables rich snippets in search results showing price, ratings, and stock status. BreadcrumbList and Organization schemas are strong secondary additions.
What should be done with out-of-stock product pages?
Temporarily out-of-stock products should not be deleted — keep them with OutOfStock status in schema markup and a "Notify me" button. Permanently discontinued products should be 301 redirected to the category or a similar product. Returning a 404 destroys all accumulated page authority.
How does internal linking affect eCommerce SEO?
Strategic internal linking distributes link equity from high-authority category pages down to product cards and related categories. "Related products" and "Frequently bought together" blocks also increase crawl depth and reduce bounce rate, sending positive engagement signals to Google.
Need eCommerce SEO for your online store?
SEO-Factory specialises in growing organic traffic for e-commerce businesses. Structural analysis, technical audits, and scalable product page optimisation — with measurable results.
Get eCommerce SEO


