Online stores face technical SEO challenges that informational sites do not. Thousands of URLs generated by product variants, category filters that multiply valueless pages, image catalogues that penalise speed and specific structured data that can make the difference between a rich snippet and a plain one.
This checklist covers the most common technical problems in ecommerce and the proven solutions for each, with examples applicable to Shopify, WooCommerce and Prestashop.
Why technical SEO in ecommerce is more complex
A blog with 100 articles has 100 URLs to manage. An online store with 500 products, 5 variants per product, 20 categories and 8 filters per category can generate more than 50,000 URLs. Most of those URLs provide no SEO value, but Google tries to crawl them all.
This URL explosion has three direct consequences:
- Wasted crawl budget: Googlebot spends time crawling filter and variant pages instead of your main product and category pages.
- Massive duplicate content: the same T-shirt appears at
/t-shirts/blue/,/t-shirts/?color=blue,/new-arrivals/blue-t-shirt/and/brand/blue-t-shirt/. Google does not know which to index. - Penalised speed: large catalogues with unoptimised images, tracking scripts and third-party widgets generate pages that take 5+ seconds to load on mobile.
Additionally, online stores need specific structured data (Product, Offer, Review, BreadcrumbList) that informational sites do not require. The absence of this markup means losing rich snippets with price, availability and ratings that increase CTR by up to 30%.
Crawlability checklist for your online store
Crawlability is the foundation of technical SEO. If Google cannot crawl your product pages, it will not index them.
- robots.txt: verify it does not block product or category URLs. In Shopify, check that
/collections/and/products/are accessible. In WooCommerce, that/product/and/product-category/are not blocked. - XML sitemap: must include all indexable URLs (products, main categories) and exclude those with
noindex. Verify the sitemap updates automatically when products are added or removed. - Canonical tags: each product page must have a
<link rel="canonical">pointing to the main URL. Product variants must point to the parent product. - Noindex on filters: filter combinations (
/shoes/?color=red&size=42&brand=nike) must havenoindexor be non-crawlable. If Google indexes thousands of filter pages, it dilutes the authority of your main categories. - Pagination: Google no longer uses
rel="next"/rel="prev"to interpret pagination. Paginated pages (/shoes/?page=2,/shoes/?page=3) should include sequential<a href>links between pages to facilitate crawling, self-referencing canonical on each page, and you should evaluate whether pagination should be indexable based on catalogue depth.
Common Shopify error: Shopify generates URLs with /collections/all/ that duplicate the entire catalogue. This URL must have noindex or redirect to the store’s main page.
Common WooCommerce error: sorting parameters (?orderby=price, ?orderby=date) generate duplicate URLs of each category. They must be blocked with canonical tags or with rules in robots.txt.
Core Web Vitals in Ecommerce: Sector Benchmarks and How to Improve
Core Web Vitals in ecommerce have a direct impact on conversion rate. According to Akamai, each additional second of loading reduces conversions by 7%.
| Metric | Target | Average ecommerce | Top performers |
|---|---|---|---|
| LCP | < 2.5s | 3.8s | 1.6s |
| INP | < 200ms | 380ms | 120ms |
| CLS | < 0.1 | 0.18 | 0.03 |
Ecommerce-specific performance problems
Product images: the most frequent problem. A catalogue of 500 products with 5 images per product is 2,500 images. If each weighs 500 KB in JPEG, that is 1.25 GB of images. The solution: WebP/AVIF formats, adaptive compression, lazy loading and srcset to serve resolutions according to device.
Product carousels: image sliders on product pages usually load all images at the start, penalising LCP. Implement lazy loading from the second image in the carousel onwards.
Third-party scripts: live chats, analytics tools, social media widgets, remarketing pixels. Each adds between 50 KB and 300 KB of JavaScript. Prioritise: load third-party scripts with defer or async, and evaluate which ones are truly necessary.
Custom fonts: many stores load 4–6 variants of a custom font. Reduce to 2–3 variants, use font-display: swap and preload the main variant with <link rel="preload">.
Structured data for ecommerce: Product, Review, Offer schema
Product structured data is one of the few technical implementations with a direct and measurable impact on CTR. Product rich snippets show price, availability, ratings and price range directly in search results.
Product schema: mandatory and recommended fields
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Running Shoes Pro X",
"image": "https://store.com/images/pro-x-shoes.jpg",
"description": "Running shoes with reactive cushioning",
"brand": { "@type": "Brand", "name": "BrandX" },
"offers": {
"@type": "Offer",
"price": "89.99",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://store.com/pro-x-shoes/"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "127"
}
}
- Omitting
availability: Google requires this field to show stock status in SERPs. - Using VAT-inclusive prices in the schema but VAT-exclusive prices on the page (or vice versa): Google can invalidate the rich snippet for inconsistency.
- Not updating the
aggregateRatingwhen reviews change: the schema data must match what is visible on the page.
BreadcrumbList schema
Structured breadcrumbs help Google understand the hierarchy of your store. For a product page, the breadcrumb should reflect the path: Home > Category > Subcategory > Product.
Duplicate content in online stores: filters, variants and pagination
72% of online stores have duplicate content problems according to Ahrefs. The three main sources are:
Product variants
A T-shirt available in 5 colours and 4 sizes can generate 20 distinct URLs if each variant has its own page. The standard solution is:
- One canonical URL per product (the parent product).
- Variants are managed with URL parameters (
?color=blue&size=M) pointing to the parent’s canonical. - If a variant has its own search demand (e.g.: “iPhone 15 Pro 256GB black”), an independent indexable URL may be justified.
Category filters
Filters generate the largest amount of duplicate content. A category with 5 brands, 4 price ranges, 6 sizes and 8 colours generates 960 possible combinations. Each creates a URL with almost identical content.
- Index: single-value filters with search volume (e.g.:
/shoes/nike/,/shoes/size-42/). - Noindex + follow: two-filter combinations that may have some traffic.
- Noindex + nofollow: combinations of three or more filters that add no value.
Pagination
Pages 2, 3, 4… of a category usually have the same <title> and <meta description> as page 1. Solutions:
- Add the page number to the title: “Women’s Shoes - Page 2”.
- Use
rel="canonical"towards page 1 if paginated pages offer no differential value. - Alternatively, implement infinite scroll with server-side rendering so that Google sees all products at a single URL.
International SEO in ecommerce: hreflang and multiple currencies
International ecommerce adds layers of complexity: languages, currencies, different catalogues per market and local regulations.
Hreflang implementation
Each product page must include hreflang tags for all available language versions, plus an x-default for the default version:
<link rel="alternate" hreflang="es" href="https://store.com/producto/" />
<link rel="alternate" hreflang="en" href="https://store.com/en/product/" />
<link rel="alternate" hreflang="ca" href="https://store.com/ca/producte/" />
<link rel="alternate" hreflang="x-default" href="https://store.com/producto/" />
- Hreflang tags pointing to URLs with
noindex: contradictory and confusing for Google. - Incomplete bidirectional hreflang: if the ES page points to the EN page, the EN page must point back to the ES page.
- Mixing language and region:
hreflang="es"(generic Spanish) vshreflang="es-ES"(Spanish of Spain) are distinct tags.
Currencies and prices
The Product structured data must reflect the local currency of each version. The Spanish version uses EUR, the Mexican version uses MXN. The priceCurrency field in the schema must match what is displayed on the page.
The 10 essential technical SEO tools for ecommerce
- Screaming Frog: full site crawl to detect technical errors, duplicate content and structural problems. Free version up to 500 URLs.
- Google Search Console: indexation data, crawl errors and search performance. Free and indispensable.
- PageSpeed Insights: Core Web Vitals measurement with lab and field data.
- Ahrefs Site Audit: automated crawling with detection of ecommerce-specific SEO problems.
- Google Rich Results Test: verify that product structured data is parsed correctly.
- Schema.org Validator: more detailed technical JSON-LD validation than Google’s tool.
- Chrome DevTools: real-time performance, network and rendering diagnostics.
- Cloudflare: CDN + image optimisation + security. Reduces TTFB and improves global speed.
- GTmetrix: speed analysis with detailed network waterfalls and optimisation recommendations.
- Sitebulb: technical SEO audit with site architecture visualisation and problem prioritisation.
The slow store diagnosis guide covers the most common speed problems in online stores with step-by-step solutions for each.
Frequently asked questions about technical SEO in ecommerce
Which ecommerce CMS has the best technical SEO out of the box?
Shopify offers the best out-of-the-box SEO experience with HTTPS, automatic sitemap and clean URLs. WooCommerce is more flexible but requires manual configuration. Prestashop and Magento offer more technical control but need a developer with SEO experience to configure them correctly.
How does duplicate content affect the SEO of an online store?
Duplicate content dilutes page authority across multiple URLs, confuses Google about which to index, and wastes crawl budget. In ecommerce, product variants (size, colour), category filters and pagination are the main sources. It is fixed with canonical tags, noindex on filters and clean URL architecture.
Do category filters harm my ecommerce SEO?
If not managed correctly, filters generate URL combinations (brand+size+colour+price) that can create thousands of low-value pages. The solution is to apply noindex to non-strategic filter combinations and use canonical tags pointing to the main category.
Do I need hreflang if I only sell in Spain?
If your store is only in Spanish and you sell only in Spain, you do not need hreflang. But if you have versions in Catalan, English or other languages, or if you sell in international markets, hreflang is required so that Google shows the correct version to each user.
Technical SEO for ecommerce requires a specialised approach that goes beyond standard practices. Each platform has its quirks, each catalogue its challenges and each market its requirements. Before hiring any service, answer this question: do you know how much organic traffic you are losing right now to technical issues you could resolve this week? If the answer is no, start here.
Share this article
If you found this content useful, share it with your colleagues.
Frequently Asked Questions
¿Con qué frecuencia publican contenido nuevo?
Publicamos artículos nuevos semanalmente, enfocados en las últimas tendencias de SEO técnico, casos de estudio reales y mejores prácticas. Suscríbete a nuestro newsletter para no perderte ninguna actualización.
¿Los consejos son aplicables a cualquier tipo de sitio web?
Nuestros consejos se adaptan a diferentes tipos de sitios: ecommerce, blogs, sitios corporativos y aplicaciones web. Siempre indicamos cuándo una técnica es específica para cierto tipo de sitio o requerimientos técnicos.
¿Puedo implementar estas técnicas yo mismo?
Muchas técnicas básicas puedes implementarlas tú mismo siguiendo nuestras guías paso a paso. Para optimizaciones avanzadas o auditorías completas, recomendamos consultar con especialistas en SEO técnico como nuestro equipo.
¿Ofrecen servicios de consultoría personalizada?
Sí, ofrecemos servicios de consultoría SEO técnica personalizada, auditorías completas y optimización integral. Contáctanos para discutir las necesidades específicas de tu proyecto y cómo podemos ayudarte.