8 WooCommerce SEO Mistakes That Quietly Kill Your Sales
From permalink defaults to indexable checkout pages, here are the eight WooCommerce SEO mistakes that bleed traffic and conversions for store owners.
WooCommerce gives you a complete e-commerce backend for free, which is the best and worst thing about it. The best: you own everything, you can extend everything, you don't pay platform fees. The worst: nothing is configured for you. Every SEO-critical setting ships at a default that prioritizes flexibility over correctness, and almost every WooCommerce store I audit carries the same set of misconfigurations.
These are the eight that come up most often, ranked roughly by how often I see them and how much damage they cause.
1. Default permalink structure
WordPress ships with permalinks set to ?p=123. WooCommerce inherits whatever WordPress is set to. If you never changed it, every product URL on your store looks like yourstore.com/?p=4827 instead of yourstore.com/product/leather-wallet/.
Search engines tolerate query-parameter URLs but rank them worse than clean paths, and users won't share or remember them. Go to Settings → Permalinks in WordPress, choose "Post name" (or "Custom Structure" with /%postname%/), and save. WooCommerce's product base under Settings → Permalinks → Product Permalinks should typically be /product/ or removed entirely (/shop base off).
Important: changing this on a live store breaks every existing URL. Use a redirect plugin (Redirection, or rules in .htaccess) to map old URLs to new ones before you flip the setting.
2. Duplicate URLs from faceted navigation
Filter your products by color, size, and price range. Each combination produces a URL like /shop/?filter_color=blue&filter_size=l&min_price=20. Multiply that across a dozen filter options and Google sees thousands of near-duplicate pages, all competing for the same product set.
The fix has two parts. First, add a canonical tag on all filtered views that points back to the unfiltered category URL. Most SEO plugins do this once you toggle the right option. Second, in robots.txt, disallow the filter query parameters Google doesn't need to crawl:
User-agent: *
Disallow: /?filter_
Disallow: /?min_price=
Disallow: /?max_price=
This preserves the filter functionality for users while keeping Google focused on the canonical category page.
3. Yoast or RankMath noindexing the wrong pages
Both Yoast SEO and RankMath include bulk settings that noindex categories with low product counts, tag archives, or "filtered" pages. The defaults are usually sane. The problem is when someone (or a previous developer) toggles a setting that noindexes all category archives, or all product attribute pages, without realizing the downstream effect.
A common failure: a store toggles "noindex empty category pages" while running a sale. The sale empties categories temporarily. Google revisits, sees noindex, removes the categories. The sale ends. The noindex stays in place because the categories repopulated slowly. Six weeks of category traffic gone.
Audit your SEO plugin's noindex settings every time you launch a campaign that changes inventory levels significantly.
4. Missing or broken Product schema
WooCommerce ships basic Product schema via core, but many themes either disable it or wrap it in incorrect markup. The result: a product page with no eligible rich result, competing against schema-enabled competitors who get price and rating snippets in the SERP.
This is the highest-leverage technical fix on most WooCommerce stores. The full breakdown lives in Product Schema Markup: The Minimum for Google Rich Results, but the short version: confirm every product page has valid Product JSON-LD in <head>, with name, image, offers.price, offers.priceCurrency, and offers.availability at minimum.
5. Thin category pages
WooCommerce category pages typically show a grid of products and nothing else — no intro copy, no buyer guidance, no internal links to related categories. Google reads this as a thin page. For commercial queries where Google wants to show category-level results, your category page loses to competitors who treat the category as content.
The fix is editorial: 200–400 words of unique introductory copy per category, explaining what's in the category, who it's for, and what to consider when choosing. Place it above or below the product grid. Update it seasonally.
6. Image SEO ignored
WooCommerce uploads images with whatever filename they came in as. IMG_4827.jpg is not a useful filename. Combined with empty alt text, you get product images that contribute nothing to image search or accessibility.
Two changes:
Filename: IMG_4827.jpg
Filename: hand-stitched-leather-wallet-brown-front.jpg
Alt: (empty)
Alt: Hand-stitched brown leather bifold wallet, front view, displayed on wooden surface
A plugin like Smush or ShortPixel can bulk-rename. Alt text has to be human-written, but it's a finite task — 200 products at 30 seconds each is under two hours.
7. Cart and checkout pages indexable
Your /cart and /checkout pages have no business in Google's index. They're personalized, session-dependent, and not useful as search results. But WooCommerce doesn't noindex them by default, and many themes leave them indexable.
Add noindex meta tags on these pages, or have your SEO plugin do it. The bonus effect is crawl-budget reclamation: Google stops wasting crawl on pages that can never rank, and spends that budget on your product pages instead.
add_action('wp_head', function() {
if (is_cart() || is_checkout()) {
echo '<meta name="robots" content="noindex,follow">';
}
});
8. Mobile experience as an afterthought
WooCommerce defaults are not mobile-first. Default themes that haven't been updated since 2022 have small tap targets, narrow font sizes, and product galleries that don't gracefully degrade on mobile. Given that mobile commerce is the majority of e-commerce traffic in most categories, this is a conversion problem before it's an SEO problem.
Switch to a mobile-first theme (Storefront, Blocksy, Astra are all reasonable starting points) or commission a responsive audit of your existing theme. Verify with Google's mobile-friendly test.
How EshopAuditor surfaces these
Several of the technical mistakes above — missing schema, noindex on homepage/category pages, image SEO gaps (missing alt text), mobile usability, thin category copy, and CWV impact — are detected automatically by EshopAuditor. The rest (permalink config, identifying which WordPress plugin is causing a noindex flag) require human review of the audit report.
One mistake is annoying. Three at once explain why a store with reasonable products and reasonable ads stops scaling at €5k/mo. Fix the technical ones first, then content, in that order.
Run a free audit of your store at eshopaudit.io — no signup required for the first scan.