WooCommerce SEO Guide: How to Rank a WooCommerce Store in 8 Steps
WooCommerce SEO is WordPress SEO plus a shop layer: permalinks, category templates, filter URLs, variations and product schema. This WooCommerce SEO guide covers each one in the order I tackle them on real stores.
WooCommerce SEO means making a WordPress store's categories, products and filters easy for search engines to crawl, understand and rank for buying searches.
Pick the product permalink structure early. WooCommerce's own docs warn that changing it later breaks old URLs unless you add redirects.
Category pages carry most of a store's commercial searches, so they need copy, structure and links rather than a bare product grid.
Filter, sort and add-to-cart parameters can multiply URLs far beyond your real catalogue. Only a handful of filter combinations deserve to rank.
WooCommerce gives you more control over SEO than almost any other store platform.
That's the good news. The bad news is that most stores never use it.
They install the plugin, pick a theme, import products and wait.
The result is usually the same: thin category pages, thousands of filter URLs and a product catalogue Google only half understands.
In this WooCommerce SEO guide, you'll learn:
How to set up permalinks you won't regret
How to turn category and product pages into ranking pages
How to stop filters and attributes flooding the index
How to handle variations, product schema and speed
Let's get started.
WooCommerce SEO Basics
What Is WooCommerce SEO?
WooCommerce SEO is the work of making a WordPress-based store's products, categories and filters easy for search engines to crawl, understand and rank for the searches that lead to sales.
How It Differs From WordPress SEO
Everything that applies to a WordPress site still applies.
Themes, plugins, speed and indexing settings all matter, and you can't skip them because you've added a shop.
But a store adds problems a brochure site never has:
More page types: products, categories, tags, attribute archives and the shop page
More URLs: every filter, sort order and add-to-cart link can create one
Uncacheable pages: cart, checkout and account pages are personal to each shopper
Structured data: prices, stock and reviews have to match what's on the page
This guide picks up where that one stops. If the WordPress layer underneath needs serious work, that's the job of my WordPress SEO service.
1. Get the Foundations Right
Before touching products, make sure the store can be found and measured.
Check That Search Engines Can See the Store
WordPress has a "Discourage search engines from indexing this site" option under Settings > Reading.
Developers often tick it on staging and forget to untick it at launch. It's the first thing I check on any store that "isn't ranking at all".
Use One SEO Plugin
WordPress and WooCommerce handle the basics on their own.
An SEO plugin makes titles, meta descriptions, sitemaps and noindex rules manageable across hundreds of products.
The key word is one.
Two plugins writing the same tags is a common cause of duplicate titles and conflicting schema. If you're choosing, my Yoast vs Rank Math comparison covers the trade-offs.
Submit a Sitemap
Whichever plugin you use, find its sitemap URL and submit it in Google Search Console.
Then open it and check what's inside. You want products and categories, not tags, attribute archives or test pages.
Give the Shop Page a Purpose
WooCommerce creates a shop page that lists your products. On many stores it ends up as a thin, endless grid that competes with the homepage.
Either make it a genuine hub, with links into your main categories, or keep it out of navigation and let the categories do the ranking.
2. Choose Permalinks You Can Live With
Permalinks are hard to change once a store has rankings and links.
Get them right before you add the first product, if you can.
WooCommerce's permalinks documentation lists four product base options under Settings > Permalinks:
Option
Example URL
My view
Default
/product/hoodie-with-logo
Safe and stable
Shop base
/shop/hoodie-with-logo
Fine if your shop page is called Shop
Shop base with category
/shop/hoodies/hoodie-with-logo
Tidy, but fragile
Custom base
/superstore/hoodie-with-logo
Fine if short and permanent
Here's the thing about category-based URLs: they tie each product to one category.
Move a product to a new category and its URL changes.
On a store that reorganises often, that's a steady drip of redirects.
The category base defaults to /product-category/ and the tag base to /product-tag/. You can shorten them, but the docs warn against using the same value for the product base and a taxonomy base.
Changing Permalinks on a Live Store
The same documentation is blunt: changing permalinks changes existing product URLs, and old links return 404 errors unless you set up redirects.
If you must change them, treat it as a small migration. Build a redirect map first, test it, then switch.
3. Build Category Pages That Rank
Category pages are where people searching for "women's waterproof walking boots" should land.
On most stores, they're the pages with the most commercial potential. Yet WooCommerce ships them as a title and a product grid.
Give Each Category a Job
Every category should target one clear search.
Two categories chasing the same query split your signals. One category trying to cover five queries ranks for none.
Add Copy That Helps Buyers
The category description field is optional, and WooCommerce notes that only some themes display it. Check that yours does.
A short intro above the grid and buying advice below it work well together.
The intro confirms the shopper is in the right place. The lower copy answers the questions that stop them buying.
Set the Display Options Deliberately
In classic themes, Appearance > Customize > WooCommerce > Product Catalog controls whether category pages show products, subcategories or both.
Showing subcategories on a parent category creates a clean hub. Showing only products suits narrow categories.
Link Parents, Children and Neighbours
Your menu, breadcrumbs and category copy are internal links. Use them on purpose.
Each parent category should link to its children. Each child should link back up and across to its closest neighbours, so Google can see how your catalogue fits together.
Merge Empty and Near-Empty Categories
Stores grow categories faster than they fill them. A category holding two products rarely deserves its own URL.
If it has no search demand of its own, fold it into its parent and redirect the old address. If it does have demand, keep it, but fill it before you push it in menus.
You'll also want to watch for categories that exist only because a supplier's feed created them.
Point Your Blog Posts at Categories
Buying guides and how-to posts attract searchers earlier in their journey. Each one should link to the category that sells what it discusses.
That's how content earns its keep on a store. My guide to building topic clusters explains how to plan those links so they reinforce each other.
Product pages win searches for model names, part numbers and specific products.
They lose when they look like every other store's version.
Replace Supplier Descriptions First
If you resell branded products, the manufacturer's description is probably on dozens of other stores.
You don't need to rewrite the whole catalogue. Rewrite your best sellers first.
Add what only you know: sizing advice from returns, compatibility, what customers ask before buying.
Use the Short Description Well
The short description sits near the price and add-to-cart button in most themes.
Use it for the facts that decide a purchase, not marketing filler.
Name and Describe Images
Upload images with descriptive file names and add alt text in the media library.
Describe the product, the colour and the angle. Compress images before upload too, because a product gallery is often the heaviest part of the page.
Ask for Reviews
Reviews add fresh, unique text to product pages in your customers' own words.
They also answer objections you'd never think to write about. A simple follow-up email after delivery is enough to get started.
Decide What Happens When Stock Runs Out
Temporarily out of stock? Keep the page live and tell shoppers when it's back.
Discontinued for good? Redirect to the closest replacement or the parent category, so the links and rankings aren't wasted.
5. Control Filters, Sorting and Attribute Archives
This is where WooCommerce stores quietly create thousands of URLs.
Know Which Parameters Your Store Creates
WooCommerce's core code reads several URL parameters on shop and category pages:
filter_ plus an attribute name, for layered navigation filters
query_type_ plus an attribute name, for and/or filter logic
orderby, for sort order
min_price and max_price, for price filters
add-to-cart, on add-to-cart links for simple products
Filter plugins often add their own on top.
Crawl your store to see which ones actually appear in links.
Keep Most Filter URLs Out of Search
Google's faceted navigation guidance recommends blocking filter URLs in robots.txt when you don't need them indexed. It notes that canonical tags reduce crawling of duplicates only gradually.
On a large catalogue, those wasted crawls add up to a real crawl budget problem.
The exception is a filter value with real search demand.
"Black leather sofas" might deserve its own page. Build it as a proper category or landing page rather than indexing ?filter_colour=black.
Check Attribute Archives
WooCommerce lets you enable an archive per global attribute, which creates pages like /color/black/.
According to WooCommerce's taxonomy documentation, archives are optional and switched on attribute by attribute.
Turn them on only where the attribute matches how people search, and give those pages the same care as categories.
Product tags are flat, with no hierarchy. On most stores I'd keep tag archives out of the index entirely.
6. Handle Variable Products Deliberately
A variable product keeps all its sizes and colours on one URL.
Choosing a variation adds attribute parameters to that same address rather than creating a new page.
For most stores, that's exactly right. One strong page beats six thin ones.
The exception is when people search for a specific variant by name, such as a colourway of a trainer. Then a separate product or a dedicated landing page can win the query.
Decide product line by product line, using search data rather than habit. Keep the variation parameters out of the index either way.
A quick test: type the variant into Google the way your customers would. If the results are full of pages built for that exact variant, you probably need one too. If they show general product pages, your single variable product is fine.
7. Get Product Structured Data Right
WooCommerce outputs Product structured data with Offer details out of the box.
SEO plugins and review plugins often add or replace it, and you can end up with two versions that disagree.
Check three things on a sample of product pages with Google's Rich Results Test:
One source: only one Product item per page
Accuracy: price, currency and availability match what the shopper sees
Completeness: brand, identifiers such as GTIN and review data where you have them
Need to add markup your setup misses? The schema markup generator gives you clean JSON-LD to start from.
8. Keep the Store Fast
Speed matters more on a store than a blog, because the pages that make money are the hardest to cache.
Respect What Can't Be Cached
WooCommerce marks cart, checkout and account pages as noindex in its own code.
They're also personal to each shopper, so caching plugins have to exclude them. That puts more weight on your hosting.
Cheap shared hosting that copes with a blog often struggles once shoppers fill carts.
Audit Plugins by Cost
Every plugin you add can load scripts on every page.
List each one, what it does for your sales and which templates it touches. Remove what you don't use, and replace heavy plugins that do one small job you could live without.
Measure on Real Templates
Test a category page and a product page, not just the homepage.
Use the Core Web Vitals report in Search Console for field data, and PageSpeed Insights to see what's slowing each template down.
Measure What Matters
Traffic is a weak signal for a store.
Organic revenue by landing page type is a strong one.
Set up GA4 ecommerce tracking so you can see revenue from organic sessions on category, product and blog pages separately. My GA4 setup service covers this if your tracking isn't there yet.
Then check monthly:
Clicks and positions for your top categories in Search Console
Organic revenue by landing page type in GA4
New "Duplicate" or "Crawled - currently not indexed" entries in the Page indexing report
Restructuring around buyer searches is what moved the needle for one electric UTV parts store I worked with. The tracking is what proved it.
Put the Guide to Work on Your Store
Don't try all eight steps at once.
Start with Step 5.
Crawl your store and count the filter, sort and add-to-cart URLs. That number tells you how much of Google's attention is going to pages that will never sell anything.
Then move to your top five categories and give each one a clear job and real copy.
And if the problems turn out to be WordPress-wide, I can look at the whole stack, starting from a WooCommerce store audit.
Frequently asked questions
Is WooCommerce good for SEO?+–
Yes. WooCommerce runs on WordPress, so you control templates, URLs, plugins and server settings far more than on hosted platforms. That control cuts both ways. Stores slip in search when they pile on plugins, leave filters crawlable and ship category pages with no copy. Set up carefully, WooCommerce gives you everything needed to compete.
Do I need Yoast or Rank Math for WooCommerce SEO?+–
You need one SEO plugin, not two. WordPress and WooCommerce handle the basics, but a plugin makes titles, meta descriptions, sitemaps and noindex rules much easier to manage across a catalogue. Yoast and Rank Math both work well with WooCommerce. Pick one, configure it fully and remove any other plugin that writes the same tags.
What is the best permalink structure for WooCommerce?+–
For most stores, the default /product/ base or a short custom base is the safest choice. Putting the category in the product URL looks neat, but it ties each product's address to its category, so moving a product later changes the URL. Whatever you choose, choose it before launch, because changing permalinks on a live store needs redirects.
How long does WooCommerce SEO take to show results?+–
Technical fixes such as removing filter URLs from the index or fixing broken templates can show up in Search Console within weeks. Ranking gains from better category and product content usually take a few months, depending on competition and how often Google recrawls the store. Track organic revenue by landing page, not just traffic, to judge progress.
Independent SEO consultant · 6+ years in SEO · 60+ client websites worked on
I'm an independent SEO consultant with 6+ years in SEO. I run audits, migrations and content programmes for businesses in Europe, the UK and the USA, and I build the automation behind my own research.