WooCommerce
WooCommerce SEO checklist: technical issues that kill rankings
The technical problems most often holding WooCommerce stores back in search, how to check for each one yourself, and what to fix first.
Ivaylo Aleksandrov · Founder, IV Digital ·
The short answer
Most WooCommerce stores that struggle in search are not short of content. They are held back by a handful of technical issues the platform creates by default: duplicate URLs from filters and sorting, slow pages from plugins and heavy themes, product pages with nothing original on them, category structures that do not match how people search, and structured data that is missing or wrong. Fix those first. Links and new content work much harder on a store that is technically clean.
Below is the checklist we work through on every WooCommerce audit, roughly in the order we tackle it, with a quick way to check each item yourself.
1. Duplicate URLs from filters, sorting and parameters
A single WooCommerce category can be reached through dozens of URLs: sorted by price, filtered by color or size, limited to a price range, paginated, plus whatever parameters a filter plugin adds. Search engines see each one as a separate page. On a store with a few hundred products that quickly becomes thousands of near-identical URLs, splitting ranking signals and wasting the attention search engines give your site.
How to check: open the Pages report in Google Search Console and look for large numbers of URLs under “Duplicate without user-selected canonical”, “Crawled – currently not indexed” or “Discovered – currently not indexed”. If most of the examples contain ?orderby=, ?filter_ or ?min_price=, this is your problem.
How to fix it:
- Make sure every sorted or filtered view has a canonical tag pointing to the clean category URL. Most SEO plugins handle this, but filter plugins sometimes override it.
- Block sorting and filter parameters you never want indexed in robots.txt, so crawlers stop discovering endless combinations. If one filter matches a real search (a brand, or a main color people actually look for), turn it into a proper, indexable landing page instead of a parameter.
- Block
?add-to-cart=links in robots.txt. Crawlers that follow them create empty carts and sessions and waste crawling on URLs that should never be indexed. - Keep paginated category pages (page 2, 3 and so on) crawlable and self-canonical. Pointing them all at page one hides every product listed further down.
2. Variations that compete with each other
Variable products are usually fine, because WooCommerce keeps all variations on one URL. Problems start when a store creates a separate simple product for every size or color, or when a plugin generates a URL per variation. Five near-identical pages for one shirt means none of them ranks well.
Keep variations on a single product page wherever the item is genuinely the same product. If a variant truly deserves its own page — a different model people search for by name — give it its own title, description and images so it is not a copy of its sibling.
3. Speed: plugins, theme and hosting
Speed matters twice for a store. Core Web Vitals are part of how Google assesses page experience, and slow product pages lose buyers whatever their ranking. On WooCommerce, three things usually decide it.
- Plugins. Every active plugin can add scripts and styles to every page. Remove what is unused, replace overlapping plugins with one, and check which plugins load their files on pages where they do nothing. A plugin audit is often the highest-impact, lowest-effort fix available.
- Theme and page builder. Multipurpose themes load sliders, animations and font sets you may never use. Test a product page in PageSpeed Insights on mobile and look at what loads before the main product image.
- Hosting and caching. Cart, checkout and account pages cannot be fully cached, so they hit the database on every visit. Hosting sized for WooCommerce rather than generic “WordPress hosting”, object caching, and a page cache that correctly excludes cart and checkout usually make a bigger difference than front-end tweaks.
One WooCommerce-specific item: older themes and the classic mini-cart widget rely on a “cart fragments” script that sends an extra request on page load to refresh the cart count. If your theme still depends on it, check whether you really need it on every page.
4. Product pages with nothing original on them
Manufacturer descriptions copied unchanged across dozens of competing stores give search engines no reason to rank yours over theirs. You do not need a thousand words per product. You need something nobody else has:
- two or three sentences in your own words on who the product is for and how it differs from the alternatives;
- specifications in a consistent format — size, material, compatibility — so buyers and search engines can compare like with like;
- your own photos where possible, and answers to the questions customers actually ask you by email or phone;
- genuine customer reviews, which add fresh, unique text to the page over time.
Start with the products that already sell, or that already get impressions in Search Console, rather than trying to rewrite the whole catalog at once.
5. Category pages that do not match how people search
For most stores, category pages are the ones that can rank for broad, high-volume searches such as “women’s running shoes” or “oak dining tables”. They often fail because categories follow internal inventory logic instead of customer language, or because the page is just a product grid with no text at all.
- Name categories after the terms people search for, confirmed with keyword research, not after supplier codes or warehouse groupings.
- Add a short, useful introduction and, where it helps the buyer, a brief buying guide or FAQ below the product grid.
- Avoid near-duplicate categories and tags. Product tag archives are usually thin and are better kept out of the index.
- Link from each category to its most important subcategories and products, so authority flows down the structure instead of stopping at the top.
6. Out-of-stock and discontinued products
How you handle stock changes has a real effect on rankings, and stores usually get it wrong in one of two directions: deleting pages that had links and traffic, or leaving hundreds of dead products indexed forever.
- Temporarily out of stock: keep the page live, show the status clearly, mark availability as out of stock in the product data, and offer alternatives or a back-in-stock alert.
- Discontinued, with a clear replacement: redirect the old URL (301) to the replacement product or to the closest category.
- Discontinued, with no replacement: let the page return a 404 or 410. Redirecting everything to the homepage does not preserve rankings; search engines tend to treat those redirects as soft 404s anyway.
7. Product structured data
Product schema — price, currency, availability, brand, identifiers such as GTIN, and review ratings — is what makes price, stock status and star ratings eligible to appear in search results and in Google’s free shopping listings. WooCommerce outputs basic product data on its own and SEO plugins extend it, but the result is often incomplete or duplicated.
- Test a handful of product URLs in Google’s Rich Results Test and fix errors and warnings, especially missing brand and identifier fields.
- Make sure each page has one Product entity. Two plugins each outputting their own version is a common cause of errors.
- Only mark up reviews that customers genuinely left on your site.
- If you want the richer shopping results, provide shipping and returns details, either in structured data or in Google Merchant Center.
Google lists the supported properties in its Product structured data guide.
8. Images
Product images are usually the heaviest part of a product page and the most common reason it loads slowly on a phone.
- Serve modern formats such as WebP or AVIF, at the sizes your theme actually displays. After changing WooCommerce image sizes, regenerate the thumbnails.
- Do not lazy-load the main product image. It is usually the largest element on the page, and delaying it slows the loading metric Google measures.
- Write short, descriptive alt text (“walnut bedside table with two drawers”), which helps both accessibility and image search.
- Give files descriptive names before uploading them, rather than camera defaults.
9. Sitemaps, internal search and crawl waste
Large catalogs generate a lot of low-value URLs. The goal is for search engines to spend their time on the products and categories that can actually rank.
- Keep the XML sitemap to indexable pages: products, categories and key content. Leave out tag archives, filtered views and thin attribute pages.
- Keep internal search result pages out of the index.
- Submit the sitemap in Search Console and review the Pages report after any large catalog change.
10. Mobile, because Google indexes mobile first
Google crawls and ranks mainly from the mobile version of a site. A store that is fast on desktop but slow or stripped-down on mobile is being judged on its weaker version. Check that product descriptions, specifications and reviews are all present on mobile rather than hidden to save space, and test the full checkout on a real phone.
Google states that it uses the mobile version of a site's content for indexing and ranking (mobile-first indexing).
11. Permalinks and migrations
Changing the product or category base, switching themes, or moving from another platform changes URLs at scale. Done without a redirect map, it can undo years of rankings in a few weeks. Map every old URL to its new equivalent before the change, not after — our redesign and migration checklist covers the process step by step.
Where to start
If you only have an afternoon, work through this list in order:
- Open the Pages report in Search Console and note the biggest reasons pages are not indexed.
- Apply a filter on a category page and check whether the resulting URL is canonicalized or blocked.
- Run your three most important product pages through PageSpeed Insights (mobile) and the Rich Results Test.
- List every active plugin and remove anything you cannot explain.
- Rewrite the descriptions of your ten best-selling products in your own words.
That is usually enough to find the problem that matters most. If you would rather have someone go through it with you, it is exactly what our technical SEO audit covers, and our WooCommerce development work fixes what the audit finds.
If you are planning a new store or a rebuild, see how we approach WooCommerce development.
Frequently asked questions
Why is my WooCommerce store not ranking despite good products?
How many plugins is too many for a WooCommerce store?
Do I need a separate SEO plugin for WooCommerce?
Should I remove out-of-stock products from Google?
Is WooCommerce worse for SEO than Shopify?
How often should I audit my WooCommerce store’s SEO?
Related reading
Get a real WooCommerce SEO audit
We tell you exactly what is wrong and why, not just a ranking number.
