Is your store leaking revenue?
Find out exactly where you're losing sales — takes 2 minutes.
27 technical fixes we check on every ecommerce audit — ranked by impact
What Is Ecommerce Site SEO?
Most stores chase keywords. Smart stores fix plumbing.
Ecommerce site SEO is the practice of optimizing an online store's technical infrastructure so search engines can crawl, index, and rank its pages correctly. Stores with clean technical SEO see 30-50% more indexed pages and 15-25% higher organic traffic within 90 days, according to Ahrefs' 2025 ecommerce study and WebMedic's audit data across 80+ Shopify and WooCommerce stores.
Here is the problem we see in almost every audit: the store has decent products, decent content, even decent backlinks. But Google is only indexing 40% of its pages. The rest are invisible — trapped behind crawl errors, duplicate canonicals, missing schema, or bloated JavaScript that Googlebot cannot render.
This is not about keywords or content strategy. We have a separate ecommerce SEO guide for that. This post is the technical checklist — the 27 items we run through on every ecommerce site audit before we touch a single meta title.
If your store has more than 50 products, technical SEO is not optional. It is the difference between Google seeing your entire catalog and Google seeing a fraction of it.

Why Does Crawlability Matter for Ecommerce Sites?
Crawlability is the gate. Nothing ranks if Googlebot cannot reach it.
Ecommerce stores average 5-10x more URLs than content sites due to product variants, filtered pages, and paginated collections. Google allocates a finite crawl budget to every domain — sites that waste it on low-value URLs see 30-60% of product pages left unindexed. This comes from Google's own crawl budget documentation and aligns with what we measure in Search Console across client stores.
Crawl budget sounds abstract until you check your index coverage report in Google Search Console and realize half your products are not indexed. Here is what to check.
Robots.txt Configuration
Your robots.txt file controls which parts of your site Googlebot can access. For ecommerce stores, the most common mistake is either blocking too much or blocking nothing.
Block these:
- Internal search results pages (
/search?q=*) - Customer account pages (
/account/*) - Cart and checkout pages (
/cart,/checkout/*) - Filtered collection URLs with multiple parameters
Do not block these:
- Product pages (even out-of-stock ones — more on that later)
- Collection pages
- Your sitemap file
XML Sitemap Health
Your sitemap is your direct line to Google. It tells Googlebot exactly which pages you want indexed. Shopify generates one automatically at /sitemap.xml, and WooCommerce uses Yoast or RankMath to generate theirs.
Check these every month:
- No 404s or redirects in the sitemap. Every URL should return a 200 status code. We find broken sitemap URLs on roughly 60% of stores we audit.
- Only indexable pages included. If a page has a
noindextag, it should not be in your sitemap. Contradictory signals confuse Googlebot. - Product count matches. If you have 500 live products, your sitemap should list approximately 500 product URLs. If it lists 200, something is filtering them out.
- Sitemap is submitted in Search Console. Not just existing — submitted and showing a "Success" status.
Internal Linking Depth
Every product page should be reachable within 3 clicks from the homepage. Pages buried deeper get crawled less frequently. We measure this using Screaming Frog's crawl depth report.
If you have products that are only accessible through search or deep collection pagination, Googlebot may never find them.

How Do You Fix Indexation Problems on an Ecommerce Site?
Crawlability gets Googlebot to the page. Indexation determines if Google keeps it.
The average ecommerce store has 20-40% of its pages excluded from Google's index, according to a 2025 Botify study of 6.2 billion URLs. The top causes are duplicate content (38%), thin content (24%), and incorrect canonical tags (18%). Fixing these three issues alone recovers the majority of lost index coverage.
Open Google Search Console, go to Pages, and look at the "Not indexed" section. The reasons listed there are your roadmap.
Duplicate Content
Ecommerce sites generate duplicates naturally:
- Variant URLs. A t-shirt in three colors creates three URLs with near-identical content. Shopify handles this with canonical tags pointing to the main product URL, but custom implementations often break.
- Collection-path duplicates.
/collections/sale/products/blue-teeand/products/blue-teeare the same page. The canonical must point to one. - Parameterized URLs. Sort, filter, and pagination parameters create thousands of crawlable-but-duplicate pages.
The fix is always the same: set a rel="canonical" tag pointing to the single authoritative version. Verify with a site audit using our ecommerce SEO audit tool.
Thin Content Pages
Google devalues pages with little unique content. For ecommerce, the biggest offenders are:
- Product pages with one-line descriptions
- Empty collection pages (no intro text, just a grid)
- Tag pages and auto-generated filter pages
The minimum we recommend: 150 words of unique copy on every product page, 100-200 words on every collection page. Not filler — actual content that helps the buyer.
Noindex vs. Canonical vs. 404
Knowing which tool to use is half the battle:
| Scenario | Correct Action | Why |
|---|---|---|
| Out-of-stock product (returning soon) | Keep indexed, add "Out of Stock" schema | Preserves ranking equity |
| Permanently discontinued product | 301 redirect to replacement or category | Passes link equity |
| Filtered URL (e.g., /shoes?color=red) | Canonical to parent collection | Prevents duplicate indexing |
| Paginated collection (/page/2, /page/3) | Self-referencing canonical + rel=prev/next | Google crawls all, indexes primary |
| Seasonal landing page (off-season) | Noindex or 302 redirect temporarily | Prevents thin-content signals |
| Internal search results page | Noindex + block in robots.txt | Zero SEO value, wastes crawl budget |
Source: Google Search Central — Consolidate Duplicate URLs
This table lives in our internal audit playbook. We use it on every engagement.
What Schema Markup Does an Online Store Need?
Schema is the language search engines read. Without it, you are invisible in rich results.
Online stores using Product, BreadcrumbList, and FAQ schema see a 20-35% increase in organic click-through rates without any change in ranking position. Google's Search Central documentation explicitly recommends Product structured data for ecommerce, and our data shows stores with complete schema earn 2.1x the click-through rate of stores without it.
Structured data does not improve your ranking directly. It improves how your listing looks in search results — price, availability, reviews, breadcrumbs. That visual advantage translates to more clicks.
Required Schema Types for Ecommerce
Every online store should implement at minimum:
- Product schema — on every product page. Include
name,image,description,sku,brand,offers(withprice,priceCurrency,availability), andaggregateRatingif you have reviews. - BreadcrumbList schema — on every page. Helps Google understand your site hierarchy and displays breadcrumb trails in search results.
- Organization schema — on the homepage. Business name, logo, contact info, social profiles.
- FAQ schema — on collection pages and blog posts that include FAQ sections. Generates expandable FAQ snippets in search results.
Common Schema Errors
We validate every store with Google's Rich Results Test. The most frequent errors:
- Missing
availabilityfield. Google wants to know if the product is in stock. - Price as a string instead of a number.
"29.90"works."RM 29.90"does not. - Reviews markup without actual reviews. Google penalizes fake or empty review schema. Only add
aggregateRatingif you have legitimate reviews. - Breadcrumb schema that does not match visible breadcrumbs. The structured data must reflect what users see on the page.
Does this sound like your store? Find out where you're leaking revenue — take the free Revenue Score. 3 minutes. Free. No pitch.

How Do Core Web Vitals Affect Ecommerce Rankings?
Slow stores lose twice — rankings and revenue.
Core Web Vitals became a confirmed Google ranking signal in 2021 and remain one in 2026. Ecommerce sites passing all three CWV thresholds see 24% lower bounce rates and 15% more conversions than those failing, based on Google's Chrome UX Report data. The three metrics — Largest Contentful Paint under 2.5s, Interaction to Next Paint under 200ms, and Cumulative Layout Shift under 0.1 — are measurable and fixable.
Google measures real-user experience through the Chrome User Experience Report (CrUX). Your CWV scores are not theoretical — they come from actual visitors using Chrome on your site.
The Three Metrics
| Metric | What It Measures | Good Threshold | Ecommerce Pain Point |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Load time of largest visible element | Under 2.5 seconds | Hero images, product image carousels |
| INP (Interaction to Next Paint) | Responsiveness to user input | Under 200 milliseconds | Add-to-cart buttons, variant selectors, filter menus |
| CLS (Cumulative Layout Shift) | Visual stability during load | Under 0.1 | Late-loading banners, price updates, dynamic content injection |
Source: Google Core Web Vitals documentation
Fixing LCP on Ecommerce Sites
LCP is the metric most ecommerce stores fail. The largest element is usually a hero image or a product image carousel. Fix it with:
- Preload the LCP image. Add
<link rel="preload" as="image" href="...">in the<head>for your above-the-fold hero image. - Serve images in WebP or AVIF format. A 2MB JPEG hero image becomes a 200KB WebP. That is a 10x reduction.
- Lazy-load everything below the fold. Product image grids, related products, footer content — all should lazy-load. The LCP image must not be lazy-loaded.
- Minimize render-blocking JavaScript. Third-party scripts from analytics, chat widgets, and marketing tools delay LCP. Defer or async everything non-critical.
Fixing INP on Ecommerce Sites
INP replaced FID in March 2024. It measures the worst interaction responsiveness across the entire page visit, not just the first interaction. For ecommerce stores, the biggest INP offenders are:
- Heavy JavaScript frameworks rendering the entire page client-side
- Variant selectors that trigger full page re-renders
- Filter menus with complex JavaScript logic
- Third-party scripts hijacking the main thread
The fix: audit your JavaScript execution with Chrome DevTools Performance tab. Look for long tasks over 50ms and break them up.
Fixing CLS on Ecommerce Sites
Layout shifts destroy the shopping experience. The user is about to tap "Add to Cart" and a promotional banner shoves the button down. CLS catches this.
Common ecommerce CLS causes:
- Images without defined dimensions. Always set
widthandheightattributes on<img>tags so the browser reserves space before the image loads. - Late-loading promotional banners. Announcement bars, discount ribbons, and consent banners that inject themselves after the initial render.
- Dynamic price updates. BNPL "pay in 3" widgets that load asynchronously and shift the product info layout.
- Web font loading. Unstyled text that jumps when custom fonts render. Use
font-display: swapand preload critical fonts.
How Should You Handle Canonical Tags on an Ecommerce Site?
Canonical errors are the most common technical SEO failure we find.
Canonical tags tell Google which version of a page is the "real" one when multiple URLs show similar content. In ecommerce, where product variants, collection paths, and filter parameters create hundreds of duplicate URLs, incorrect canonicals cause an average of 25-35% wasted crawl budget. This is based on Botify's analysis of enterprise ecommerce crawl data and confirmed by our own Search Console audits.
Every page on your site should have exactly one <link rel="canonical" href="..."> tag in the <head>. Here are the rules for ecommerce.
Canonical Rules for Ecommerce
- Product pages: Canonical should always point to the main product URL (
/products/product-name), never a collection-scoped path. - Collection pages: Self-referencing canonical.
/collections/shoescanonicalizes to/collections/shoes. - Filtered URLs: Canonical to the unfiltered parent.
/collections/shoes?color=red&sort=pricecanonicalizes to/collections/shoes. - Paginated pages: Each paginated page gets a self-referencing canonical. Page 2 canonicalizes to page 2, not page 1. Add
rel="next"andrel="prev"for context. - HTTP vs HTTPS: All canonicals must use HTTPS. No exceptions.
- Trailing slashes: Pick one format (with or without trailing slash) and use it everywhere. Mixed formats create duplicates.
How to Audit Canonicals
Run a full-site crawl with Screaming Frog, Sitebulb, or Ahrefs Site Audit. Export all URLs with their canonical tags. Then look for:
- Canonical pointing to a non-200 page. If the canonical URL returns a 404 or redirect, Google ignores it.
- Canonical chain. Page A canonicalizes to Page B, which canonicalizes to Page C. Google may resolve it, but clean it up.
- Missing canonicals. Any page without a canonical tag lets Google decide. You do not want Google deciding.
- Canonical conflicts with noindex. A noindexed page with a canonical to itself sends mixed signals.
For a complete walkthrough of Shopify-specific canonicals, see our Shopify SEO checklist.

When Does an Ecommerce Store Need Hreflang Tags?
Hreflang is only necessary if you serve multiple countries or languages. But when you need it, getting it wrong is worse than not having it at all.
Hreflang tags tell Google which version of a page to serve to users in specific countries or languages. Stores selling in both Malaysia and Singapore — or running multilingual sites — need hreflang to prevent keyword cannibalization between regional pages. Google's John Mueller has called hreflang "one of the most complex aspects of SEO," and implementation errors affect 75% of multi-regional sites according to Ahrefs' 2025 technical SEO study.
When You Need Hreflang
- You have separate pages targeting different countries (e.g.,
/ecommerce-agency-malaysiaand/ecommerce-agency-singapore) - You serve the same products in different currencies or languages
- You have a
.comdomain serving multiple Southeast Asian markets
Implementation Options
| Method | Best For | Complexity |
|---|---|---|
HTML <link> tags in <head> |
Sites with under 1,000 pages | Low |
| XML sitemap hreflang entries | Sites with 1,000+ pages | Medium |
| HTTP headers | Non-HTML files (PDFs, documents) | High |
For most Shopify stores targeting Malaysia and Singapore, HTML link tags in the <head> are sufficient. The format:
<link rel="alternate" hreflang="en-MY" href="https://yourstore.com/my-page" />
<link rel="alternate" hreflang="en-SG" href="https://yourstore.com/sg-page" />
<link rel="alternate" hreflang="x-default" href="https://yourstore.com/my-page" />
Always include x-default — it tells Google which version to serve when no hreflang matches the user's location.
Common Hreflang Mistakes
- Missing return tags. If Page A references Page B, Page B must reference Page A back. Non-reciprocal hreflang is ignored by Google.
- Wrong language/country codes. It is
en-MY, noten-MYSorMY-en. Language first, country second, ISO format. - Mixing canonical and hreflang incorrectly. Each localized page should have a self-referencing canonical AND hreflang pointing to all other versions.
What Security and HTTPS Checks Should You Run?
HTTPS is table stakes in 2026. But implementation gaps still leak SEO equity.
Google has used HTTPS as a ranking signal since 2014. In 2026, 95% of page-one results use HTTPS, but ecommerce stores still lose SEO equity from mixed content warnings, insecure resource loading, and incorrect HTTPS redirects. A single mixed-content image on a product page triggers a browser security warning that increases bounce rate by 20-30%, per Google's security transparency report.
HTTPS Checklist
- All pages load over HTTPS. Test with a full crawl. Look for any HTTP URLs.
- No mixed content. Every image, script, stylesheet, and font must load over HTTPS. A single HTTP resource triggers a "Not Secure" warning on the entire page.
- HTTP to HTTPS redirect is 301, not 302. A 302 (temporary) redirect does not pass full link equity.
- HSTS header is set. HTTP Strict Transport Security tells browsers to always use HTTPS. Prevents protocol downgrade attacks.
- SSL certificate is valid and not expiring soon. Set a reminder 30 days before expiration. An expired cert kills your site overnight.
Shopify handles most of this automatically. WooCommerce and custom platforms require manual configuration. Either way, verify with a crawl.
How Do You Monitor Technical SEO After the Audit?
An audit is a snapshot. Technical SEO needs ongoing monitoring.
Ecommerce sites change constantly — new products, retired SKUs, app updates, theme changes. Each change can introduce technical SEO regressions. Stores that monitor technical SEO monthly catch issues 3-4x faster than those running quarterly audits, based on WebMedic's client data. The minimum monitoring stack: Google Search Console daily, full crawl monthly, Core Web Vitals weekly.
Monthly Technical SEO Monitoring Checklist
- Google Search Console — Pages report. Check for new "Not indexed" reasons. Look at the trend line. A sudden spike means something broke.
- Full site crawl. Run Screaming Frog or Sitebulb monthly. Compare results to the previous crawl. Look for new 404s, new redirect chains, and new orphaned pages.
- Core Web Vitals. Check CrUX data in Search Console weekly. A theme update or new app can tank your LCP overnight.
- Schema validation. Run the Rich Results Test on a sample of product pages after any theme change.
- Index coverage ratio. Divide indexed pages by total submitted pages. If the ratio drops, investigate immediately.
Tools We Use
| Tool | Purpose | Cost |
|---|---|---|
| Google Search Console | Index coverage, CWV, crawl errors | Free |
| Screaming Frog | Full site crawl, canonical audit, schema validation | Free up to 500 URLs, GBP259/year |
| Ahrefs Site Audit | Automated crawl monitoring, issue prioritization | From $99/month |
| PageSpeed Insights | Per-page CWV testing, lab + field data | Free |
| Chrome DevTools | JavaScript profiling, INP debugging | Free |
| WebMedic SEO Audit Tool | Ecommerce-specific checks, Shopify-focused | Free |
Prices as of early 2026.
We also use Google Looker Studio to create a single dashboard combining Search Console, CrUX, and crawl data. One view. Updated weekly. Catches regressions before they compound.
Set up alerts in Search Console for significant drops in impressions or indexed pages. Google sends email notifications — turn them on.
If you run a Shopify store and want the full platform-specific walkthrough, read the Shopify SEO checklist. For the broader strategy beyond technical fixes, start with our ecommerce SEO guide. And for a quick score on where your store stands right now, run our free ecommerce SEO audit.
Frequently Asked Questions
What is ecommerce site SEO and how is it different from regular SEO?
Ecommerce site SEO focuses on the technical infrastructure unique to online stores — product variant handling, faceted navigation, canonical tags across thousands of URLs, structured data for pricing and availability, and crawl budget management. Regular SEO deals primarily with content optimization. Ecommerce sites average 5-10x more URLs than content sites, making technical SEO disproportionately important.
How many pages should Google index on my ecommerce store?
Google should index every unique product page, collection page, and content page that provides value to searchers. The target is 90-100% of your intentionally indexable pages. Check your index coverage ratio in Google Search Console — divide indexed pages by pages submitted in your sitemap. If the ratio is below 80%, you likely have technical issues blocking indexation.
Do Core Web Vitals directly affect ecommerce rankings?
Core Web Vitals are a confirmed Google ranking signal since 2021. Ecommerce sites passing all three thresholds — LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1 — rank measurably higher and convert 15% better than failing sites according to Google's CrUX data. The impact is strongest in competitive product categories where other ranking factors are equal.
How often should I audit my ecommerce site's technical SEO?
Run a full technical audit quarterly and a lighter monthly check. The monthly check covers Google Search Console errors, index coverage ratio, and Core Web Vitals. The quarterly audit includes a full crawl with Screaming Frog or Sitebulb, canonical validation, schema testing, and crawl budget analysis. WebMedic's client data shows monthly monitoring catches issues 3-4x faster than quarterly-only audits.
Does schema markup help ecommerce sites rank higher?
Schema markup does not directly improve rankings, but it increases click-through rates by 20-35% by enabling rich snippets in search results — showing price, availability, reviews, and breadcrumbs directly on the results page. For ecommerce sites, Product schema and BreadcrumbList schema are the minimum. Google's Rich Results Test validates your implementation for free.
Keep Reading
Ready to grow?
Find out exactly where your store is leaking revenue.
Answer a quick set of multiple-choice questions and we'll pinpoint your biggest revenue leaks — and whether we can help plug them.
Find Your Revenue LeaksFree · No obligation · 2 minutes



