WooCommerce SEO Setup: The Structural Decisions That Matter
Most WooCommerce stores get the surface stuff right. A plugin installed, a sitemap submitted, a title tag or two updated. Then they wonder why rankings stay flat. The real problems tend to sit one level deeper, in the structural choices made when the site was first built. URL paths, category architecture, duplicate content between product variations, canonical handling. These are the decisions that shape whether Google can read your store properly, and they're far harder to fix later than they are to get right at the start.
On this page
- Your URL structure is a decision, not a default
- Category pages are where most stores leave ranking power on the table
- Product variations create duplicate content if you’re not careful
- Filtered navigation is one of the quietest sources of crawl waste
- Schema markup on product pages is worth doing properly
- The content temptation that can do real damage
- Internal linking between products and categories is often ignored
Your URL structure is a decision, not a default
WooCommerce gives you a URL structure out of the box, but that does not mean it’s the right one for your store. By default, product URLs sit under /product/product-name/ and categories under /product-category/category-name/. That’s fine for small shops. For anything with real depth, though, how you organise those paths matters.
The question worth asking early is whether you want category names inside product URLs or not. Including them (/shoes/running/product-name/) reinforces topical depth. Leaving them out keeps URLs shorter and avoids the headache of URLs breaking if you ever restructure categories. Neither is universally right. The mistake is not choosing deliberately and sticking with it, because changing URL structure on a live store costs you whatever authority the old URLs had built.
Category pages are where most stores leave ranking power on the table
Product pages matter, but category pages are often where the real search volume sits. Someone searching “waterproof hiking boots” is not necessarily looking for a specific product yet. They want options. A well-built category page can rank for that term and funnel people toward individual products.
The problem is that most WooCommerce category pages ship with almost no content. A heading, a grid of products, a pagination bar. There’s nothing for Google to assess topically. Adding even a short, genuinely useful description above or below the product grid, one that actually explains what the category covers and who it’s for, gives the page something to rank on beyond product titles and schema markup.
For a store we rebuilt from the ground up on WordPress, moving category pages from near-empty grids to properly structured pages with real content was one of the faster wins. The site returned to the first page for several competitive terms without any change to the product pages themselves.
Product variations create duplicate content if you’re not careful
Variable products are standard in WooCommerce. A t-shirt in five colours and three sizes is one product. But depending on how your theme and plugins handle attribute URLs, each variation can end up with its own indexable URL. That means Google might find ten versions of the same page with almost identical content.
The fix is canonical tags. Every variation URL should point its canonical back to the parent product URL. Most SEO plugins handle this automatically, but it’s worth checking, especially if you’ve migrated from another platform or switched plugins partway through the site’s life. Screaming Frog or a quick crawl will show you quickly whether variations are being indexed separately.
Filtered navigation is one of the quietest sources of crawl waste
If your store uses layered navigation or filter widgets, which most do, every combination of filters can generate a unique URL. Colour, size, price range, brand, the combinations multiply fast. Left unchecked, this produces thousands of thin, near-identical pages that drain crawl budget and dilute your cleaner category and product URLs.
The standard approach is to noindex filtered URLs and block them via robots.txt where appropriate. WooCommerce SEO plugins like Yoast or Rank Math have settings for this, but the defaults aren’t always correct for every store configuration. Check what’s actually being indexed with Google Search Console’s URL inspection tool before assuming the plugin has handled it.
Schema markup on product pages is worth doing properly
Google’s product structured data guidelines are specific about what’s needed for rich results, price, availability, reviews where you have them, and ideally a merchant listing. WooCommerce plugins output basic product schema automatically, but the quality varies. Missing or malformed markup means no rich results in search, which on product searches is a real visibility gap.
Worth checking in Google’s Rich Results Test. It takes two minutes and tells you exactly what’s missing or broken. A lot of stores have schema output that looks complete until you test it.
The content temptation that can do real damage
There’s a version of ecommerce SEO that involves producing large volumes of thin, loosely related content in the hope that some of it sticks. In our experience, this can actively hurt a site. We’ve seen a local company’s rankings tank after an SEO firm produced hundreds of poorly targeted pages. The content made the site look unfocused, diluted the authority of the pages that actually mattered, and left a mark that took time to unpick. Bad content isn’t neutral. It drags things down.
For ecommerce WordPress SEO setup, fewer well-structured pages almost always outperform a sprawl of thin ones. Build the structural foundations first, then add content where it genuinely serves a search intent.
Internal linking between products and categories is often ignored
How products link to each other, and how categories link downward into products and upward to broader topics, shapes how Google distributes authority across the store. Most WooCommerce themes handle this loosely at best. Related products are shown, but the logic behind which products appear is often random or based on category overlap alone.
A more deliberate approach, linking from product descriptions to genuinely related products or to a parent category page where it makes sense, builds a structure Google can follow. It’s the kind of internal linking work that doesn’t look dramatic but compounds over time. Most of the meaningful SEO work in a WooCommerce store is exactly like that, unglamorous, thorough, and slow to show results. That’s not a warning, it’s just how it works.