15 min read · Technical SEO · Last updated July 2026
Quick answer: Ecommerce sites face four structural SEO threats: variant URL proliferation, faceted navigation creating thousands of duplicate pages, thin product pages with manufacturer copy, and pagination splitting signals across paginated sets. Each requires a different fix — and conflating them leads to bad decisions.
Introduction
A product catalog with 10,000 SKUs can generate 500,000 URLs. Most of them shouldn’t exist — at least not as independently crawlable pages. This is the ecommerce SEO paradox: the larger and more feature-rich your store, the more technical debt your site silently accumulates.
The four biggest culprits are well-documented but frequently mishandled. Developers block the wrong URLs. SEOs noindex pages that should be indexed. Faceted navigation gets disabled entirely when it just needs parameter handling. The result is a site that fights itself in Google.
This guide separates each issue, explains when each fix applies, and gives you the decision framework to get it right.
What you’ll learn:
– How to handle product variant URLs without cannibalizing rankings
– The right approach to faceted navigation parameters (hint: not blocking everything)
– How to identify and fix thin product pages at scale
– Pagination strategy in a post-rel-next/prev world
– Structured data implementation for products, reviews, and prices
Table of Contents
- Product Variant URL Strategy
- Faceted Navigation and Parameter Handling
- Identifying and Fixing Thin Pages
- Pagination Strategy
- Product Structured Data
- Crawl Budget Management
- Frequently Asked Questions
- Conclusion
Product Variant URL Strategy
Every product variant decision tree starts with one question: does this variant have meaningfully different search demand?
A blue and red version of the same t-shirt: probably no. A product available in US, EU, and UK sizes with different measurements and fit guides: possibly yes. A product with a completely different name when described in a different color (think “forest green dress” vs “navy dress”): yes.
Three approaches to variant URLs:
1. Single canonical URL with variant parameters (most common)
/products/womens-linen-dress?color=forest-green&size=M
All variants share one base URL. Parameter URLs either don’t exist or canonicalize to the base product. Google indexes one page representing all variants. This works when variants differ only by color, size, or minor attributes and the search demand is for the base product.
2. Separate URLs per variant with hreflang-style cross-linking
/products/forest-green-linen-dress
/products/navy-linen-dress
Each color gets its own URL, indexed independently, with no canonical relationship between them. Works when each color has distinct search demand (people actively search “forest green linen dress” separately from “navy linen dress”). Requires unique titles, descriptions, and ideally unique images for each variant page.
3. Variant URLs that canonicalize to the base product
/products/womens-linen-dress/forest-green → canonical points to /products/womens-linen-dress
The variant URL exists (for user navigation), but all signals consolidate to the base. Middle ground that some platforms implement by default (WooCommerce, Shopify with certain themes).
The mistake most ecommerce sites make: generating option 3 by accident — creating variant URLs that are both crawlable and canonicalized — without realizing they’re consuming crawl budget on pages that will never rank.
For a store with 2,000 products and an average of 8 variants each, that’s 16,000 crawlable URLs pointing to 2,000 canonical destinations. If Googlebot has a crawl budget of 5,000 pages per day, it’s spending 70% of its budget on pages that contribute nothing.
Faceted Navigation and Parameter Handling
Faceted navigation (filtering by size, color, brand, price, rating, etc.) is where ecommerce technical SEO gets genuinely complex. Done wrong, it multiplies your page count by orders of magnitude.
Consider a category page with:
– 5 size filters
– 8 color filters
– 4 brand filters
– 3 price range filters
That’s 5 × 8 × 4 × 3 = 480 filter combinations — each potentially generating a unique URL. With multiple selections allowed, the number grows into the thousands. A site with 50 category pages could have hundreds of thousands of faceted navigation URLs.
The wrong approach: blocking all filter URLs in robots.txt.
This prevents crawling but not indexing. Google can still index a URL it’s never crawled if it sees links to it. And you lose any genuine SEO value from filter pages with real search demand — “Nike running shoes size 10” is a real query.
The right framework — for each filter type, ask three questions:
- Does this filter combination have standalone search demand?
- Does the filtered page have unique, substantive content beyond the product list?
- Does this URL have inbound links?
If yes to any of these, the URL deserves to be indexable. If no to all three, use <link rel="canonical"> pointing to the base category URL, not robots.txt blocking.
Parameters with search demand that often deserve indexing:
– Brand filters: /shoes?brand=nike → people search “nike running shoes” directly
– Size/fit filters (for niche searches): /plus-size-dresses?size=2X
– Condition filters on marketplace sites: /laptops?condition=refurbished
Parameters that almost never deserve indexing:
– Sort order: ?sort=price-low-to-high
– Page number: ?page=3
– Session or tracking parameters: ?ref=email&utm_source=newsletter
– Display parameters: ?view=grid or ?items-per-page=48
Faceted Navigation Parameter Decision Tree
Answer questions about your URL parameter to get the right handling recommendation.
What type of parameter is this?
Key takeaway: Never block all faceted navigation with robots.txt. Use canonical tags for non-valuable parameter URLs, and treat high-search-demand filter combinations as proper landing pages.
Identifying and Fixing Thin Pages
Thin content is the silent traffic killer in ecommerce. It’s not dramatic — pages don’t disappear overnight. They just never rank above position 15.
What counts as thin in ecommerce?
- Product pages using manufacturer-provided descriptions verbatim (the same copy appears on 50 other stores)
- Category pages with only a product grid and no text
- Variant pages that are identical to the main product page except for one attribute value
- “Coming soon” pages for products that haven’t launched
- Size/color variation pages with just the base product content
How to identify thin pages at scale:
- Crawl your site with Screaming Frog or Sitebulb. Export all URLs with word count. Filter for pages under 300 words.
- Run the same crawl and look at
<title>uniqueness. If 40% of your title tags share the same template with only the product name changing, you have systematic thin content. - Check Google Search Console → Pages → “Not indexed” → “Duplicate without user-selected canonical.” These are pages Google identified as thin enough to consider duplicates.
- Use a plagiarism checker (Copyscape) on a sample of 50 product descriptions. A rate above 30% near-duplicate content signals manufacturer copy is widespread.
Fixing thin pages at scale:
For stores with thousands of products, rewriting every description manually is not feasible. Priority-based approach:
Tier 1 — High-traffic + thin: These are actively losing you money. Rewrite these fully with original descriptions, unique angles, and specific product details. Target 300–600 words.
Tier 2 — No-traffic + thin: Decide: does this product deserve its own page? If yes, write content. If the product is discontinued or low-margin, consider noindexing and consolidating to a category page.
Tier 3 — Manufacturer copy across many products: Implement a description template that adds unique structured content (materials, dimensions, use cases, care instructions) that manufacturer copy typically omits. Even 100 words of genuinely unique context improves signal.
One furniture ecommerce site we audited had 4,200 product pages — 3,100 using near-identical manufacturer descriptions. After rewriting the top 200 products (by existing traffic and revenue potential) and adding structured unique content sections to another 800, organic traffic increased 41% over six months. The bottom 3,200 products with thin content barely moved — but the top pages more than compensated.
Pagination Strategy
Pagination in ecommerce is a solved problem that many sites still get wrong post-2019.
Before 2019, the standard was rel="next" / rel="prev" tags to signal paginated sets to Google. Google deprecated these in March 2019, stating they had “not been using them for some time.” The correct current approach:
What to do with paginated category pages:
- Ensure each paginated URL (
?page=2,/category/page/2/) has a unique<title>tag: “Women’s Running Shoes — Page 2 of 12 | StoreName” - Add a unique meta description per paginated page
- Do NOT canonical paginated pages to page 1 unless they are genuinely empty (e.g., a category with only 10 products showing pagination to page 5 with no products)
- Ensure paginated pages are internally linked via pagination controls (numbered links, prev/next navigation)
- Do NOT include paginated URLs beyond page 2 or 3 in your sitemap unless those pages contain products with meaningful search demand
Infinite scroll: if you implement infinite scroll, use the History API to update the URL as users scroll. This makes each “page” of content addressable by a unique URL. Implement a fallback paginated version for bots or use Google’s guidance on AJAX content rendering. Infinite scroll with no URL updating means Googlebot only sees the first page.
“View all” pages: some ecommerce platforms offer a /category?view=all URL that loads every product. Canonical this to the first paginated page and noindex if it creates performance problems (loading 500 products on one page will).
Product Structured Data
Structured data for ecommerce products can directly increase CTR through rich results. Google supports four product-related rich result types:
1. Product rich results — shows price, availability, and rating stars in SERPs.
2. Merchant listings — enhanced product information in Shopping tab.
3. Review snippets — star ratings from aggregate review data.
4. Price drop notifications — alerts when price decreases.
Product Schema Generator
Fill in your product details to generate valid JSON-LD structured data.
Critical rule: only include aggregateRating in your schema if your reviews are genuine and displayed on the page. Google’s structured data guidelines explicitly prohibit rating schema on pages that don’t display reviews to users. Violations result in manual penalties and loss of rich results.
Crawl Budget Management
For ecommerce sites with 10,000+ pages, crawl budget matters. Googlebot has a finite rate at which it crawls any given site — wasting it on unindexable pages means important pages get crawled less frequently.
Signs you have a crawl budget problem:
- New products take more than 2 weeks to appear in Google
- GSC Coverage shows thousands of “Discovered — currently not indexed” URLs
- Server logs show Googlebot spending disproportionate time on variant URLs or filtered pages
Actions that improve crawl efficiency:
1. Reduce duplicate/canonicalized URLs (variant URLs, filter parameters, sort parameters)
2. Add non-indexable pages to your robots.txt Disallow (not canonical — for pages you want to prevent crawling entirely: admin pages, cart, checkout)
3. Improve page speed — faster page loads mean Googlebot can crawl more pages per unit time
4. Ensure internal linking prioritizes your most important pages (homepage → category → product hierarchy)
5. Submit an accurate XML sitemap containing only indexable, canonical URLs
Frequently Asked Questions
Should I use noindex or canonical for thin product variants?
Canonical is almost always better than noindex for variants. Noindex removes the page from the index, but canonical consolidates signals from the variant URL to the canonical page. If the variant URL has any inbound links, canonical preserves that link equity. Noindex throws it away.
How many product images should each page have for SEO?
Google can index images — they appear in Google Images and contribute to page quality signals. Include 3–6 high-quality images per product showing different angles, in-use contexts, and details. Add descriptive alt text that includes the product name and key attributes without keyword stuffing.
Should filtered navigation pages be included in the sitemap?
Only include filtered pages in your sitemap if they have genuine search demand and unique content. Sort, pagination (beyond page 2), and pure UX filter combinations should not be in your sitemap.
What’s the minimum word count for ecommerce product pages?
There’s no Google-mandated minimum. Practically, 200–400 words of unique, useful content (description, specs, use cases, care instructions) provides enough signal for competitive rankings. For high-competition categories, 500–800 words may be needed to match competitor content depth.
How do I handle discontinued products for SEO?
If the product has search demand and inbound links: keep the page live with a clear “discontinued” message and recommendations for alternatives. This preserves link equity and serves users who find old links. If the product had no traffic or links: 301 redirect to the most relevant category page or closest replacement product.
Do review widgets from third-party platforms (Trustpilot, Yotpo) pass link equity?
The widgets themselves typically use JavaScript injection — no HTML link equity passes. But embedding schema data from these platforms (via their structured data integration) can qualify your pages for review rich results. Check your theme’s integration to confirm schema is output in the page source.
Conclusion
Ecommerce technical SEO is not about applying a single fix — it’s about making the right decision for each type of URL and content pattern your platform generates.
Product variants: decide based on search demand. Faceted navigation: canonical the low-value parameters, index the high-demand combinations. Thin content: triage by revenue potential and fix systematically. Pagination: unique titles on each page, no rel=”next/prev” needed.
The biggest gains come from stopping the self-created duplication that most ecommerce platforms generate by default. Fix that architecture first, and your content improvements will have a clean technical foundation to build on.
Let Ignited Nepal Handle This
→ Request a Free Technical SEO Audit
Written by the Ignited Nepal SEO team. We build organic search systems for businesses across Nepal, Australia, UAE, USA, UK, and beyond. ignitednepal.com