How to Set Up WooCommerce SEO for Beginners

A lot of WooCommerce stores look fine on the surface but struggle to get any organic traffic. The products are listed, the checkout works, and the design is decent — but nothing shows up in search results. In most stores I review, the problem isn’t the products themselves. It’s that nobody ever configured the SEO side of WooCommerce, which doesn’t happen automatically just because the plugin is active.

WooCommerce gives you the building blocks — clean URLs, product categories, image fields, schema hooks — but you still have to use them correctly, and a few of the defaults actively work against you until you fix them. Skip that step and your store stays invisible no matter how good the products are.

Quick Answer

WooCommerce SEO comes down to clean permalinks, unique product titles and descriptions, properly structured categories, product schema markup, optimised images, and controlling the duplicate-content and out-of-stock issues WooCommerce creates by default. Get those right and Google has enough to work with to rank your product and category pages on their own merits.

Why This Matters

A WooCommerce store depends on product and category pages for organic traffic far more than a typical blog depends on individual posts. There’s no long tail of supporting articles doing the ranking work — the product page itself has to carry the search visibility, which means the small technical details (title, description, schema, URL structure) matter more here than almost anywhere else on the site.

Leave product and category pages unoptimised and you end up with a store that only gets traffic from ads or people who already knew the URL. Set them up properly and product pages start ranking for buying-intent searches — the kind of traffic that actually converts, since someone typing a specific product name into Google is usually closer to buying than someone browsing a blog post. In my experience the stores that struggle most aren’t badly designed — they simply never went past step one of getting WooCommerce’s SEO settings right, and every unindexed product page is a page that can never earn a sale from search.

There’s also a trust dimension that’s easy to overlook: a shopper landing on a product page from a search result is evaluating the page just as much as the product, and rich snippets — star ratings, price, stock status visible right in the search result — do a lot of that reassurance work before the click even happens. A plain blue link competing against a result with visible stars and a price is starting from behind, which is exactly why the schema step later in this guide matters as much as the copywriting steps do.

Step-by-Step Instructions

1. Set Clean Permalinks

In WooCommerce > Settings > Advanced > Permalinks, remove “/product/” from the product base if you want shorter URLs, and make sure category URLs use the category name rather than a numeric ID. A URL like yoursite.com/wireless-earbuds tells both users and search engines what the page is about far better than one full of parameters. Set this early — changing permalink structure after a store has been indexed for months means redirecting every existing product URL, which is far more work than getting it right from the start.

2. Write Unique Product Titles

Avoid generic titles like “Blue T-Shirt.” Include the brand, key attribute, and product type — “Men’s Blue Cotton T-Shirt — Slim Fit” gives Google far more to match against real searches, and it reads better to a shopper too. If two products only differ by colour or size, make sure that difference actually appears in the title rather than relying on the shopper to notice it from a thumbnail.

3. Write Real Product Descriptions

Never copy the manufacturer’s description word-for-word — if every store selling that product uses the same text, Google has no reason to rank yours above the others, and on a big catalogue this is the single most common reason product pages never get indexed at all. Write a short, genuinely useful description covering materials, sizing, use cases, and anything a buyer would actually want to know before purchasing.

4. Structure Your Categories Properly

Keep categories broad and logical — “Men’s Shoes” rather than “Products,” and avoid creating a new category for every few items. Add a short paragraph of category description text above the product grid; it gives Google context for the category page and gives shoppers a reason to keep scrolling — see the full walkthrough on setting up WooCommerce product categories and tags, linked below.

5. Handle Variations and Filters Without Creating Duplicate Content

WooCommerce generates a URL for every attribute filter combination — colour, size, price range — and by default many of these get crawled as separate pages showing near-identical product grids. Left unchecked, this is one of the fastest ways a WooCommerce store ends up with hundreds of thin, duplicate pages competing with each other in the index. Check Settings > Reading and your theme’s shop archive settings for how filtered URLs are handled, and where possible keep filtering client-side (no unique crawlable URL per combination) rather than generating a new indexable page for every filter click. Variable products themselves (one parent product with size/colour variations) are fine as-is — WooCommerce keeps variations as options on a single product page rather than separate URLs, which is the correct default; the risk is specifically in attribute-filtered archive pages, not variation dropdowns.

6. Add SEO Titles and Meta Descriptions

Since Veravix runs without a dedicated SEO plugin, the page title and meta description are pulled from the product title and excerpt fields via functions.php. Write a short custom excerpt for each product rather than leaving it blank — that’s what shows up as the description snippet in Google’s search results, and a blank excerpt means Google picks its own snippet from wherever on the page it likes, which is rarely the sentence you’d choose.

7. Optimise Product Images

Name image files descriptively before uploading (“navy-cotton-tshirt-front.jpg” rather than “IMG_4021.jpg”) and always fill in the alt text field. This helps the product surface in Google Images searches, which is a meaningful traffic source for ecommerce that often gets skipped entirely — see the complete process for optimising images for SEO in WordPress, linked below.

8. Use Internal Linking Between Products

Link related products to each other — WooCommerce’s built-in “Upsells” and “Cross-sells” fields do this automatically on the product page, but it’s worth also linking manually from blog content or category descriptions to your best-selling products. This spreads authority across the store rather than leaving every product page to rank purely on its own.

9. Add Product Schema Markup — Price, Availability, and Reviews

Product schema is what allows rich snippets — star ratings, prices, stock status — to show up directly in search results, and many themes and page builders add the basic version automatically for WooCommerce. It’s worth checking beyond the basics, though: per Google’s product structured data documentation, the AggregateRating property (the review count and average score behind the star rating) only appears if your theme’s schema output actually includes it, and some themes only add price and availability, silently dropping the review data. Test a live product URL with an unedited copy-paste into Google’s Rich Results Test — if stars aren’t showing in the preview, that’s the property to chase down with your theme or page builder’s schema settings, not something to add by hand in post content.

10. Decide What Happens to Out-of-Stock and Discontinued Products

This is the step most stores never think about until it’s already a problem. A product that’s been out of stock for months, or discontinued entirely, is still a live indexed URL unless you decide otherwise — and a store with dozens of dead-end product pages sends a weak signal to Google about overall site quality. Three options, in order of preference: if the product is coming back, keep it live and clearly marked “Out of Stock” rather than hiding it, since removing it loses the page’s existing rankings for no reason; if it’s genuinely discontinued but a close replacement exists, 301 redirect the old URL to the replacement product; if there’s no replacement at all, let it return a proper 410 (Gone) rather than a soft 404, so Google drops it from the index cleanly instead of continuing to recrawl a page that will never come back. A “notify me when back in stock” option (built into some themes, or added via a small plugin) is worth having too — it keeps the page useful to a visitor even while stock is at zero, rather than the page just sitting there as a dead end.

11. Keep Page Speed in Check

Product pages tend to load more images than a typical blog post, so speed issues show up faster on a store than anywhere else on the site. Compress product images before upload and avoid stacking too many plugins on top of an already-heavy theme.

12. Make Sure the Store Works on Mobile

Most shopping traffic arrives on a phone. Check that the “Add to Cart” button, product image gallery, and checkout fields all work cleanly on a small screen — a broken mobile layout costs both rankings and sales at the same time.

Practical Tips

  • Prioritise your best-selling or highest-margin products first — you don’t need to perfect every product page on day one.
  • Write category descriptions as if a real customer is reading them, not just for search engines — a description that only makes sense to a crawler won’t help conversions.
  • Revisit product descriptions every few months; a description that made sense at launch can go stale as the product range grows around it.
  • Check your XML sitemap actually includes product and category URLs (most WordPress sitemap generators do this by default) and that it excludes any attribute-filter URLs you’re keeping non-indexable — a sitemap that lists pages you’re also trying to keep out of the index sends Google a mixed signal.
  • If you do run Google Shopping ads alongside organic search, keep the product feed’s title and price in sync with what’s actually on the page — a mismatch between feed and page data is a common cause of Merchant Center account warnings.

Common Mistakes

  • Copying manufacturer descriptions directly, which puts you in direct competition with every other store selling the same item.
  • Leaving image alt text blank across the entire catalogue.
  • Creating a new category for every small variation instead of grouping products logically.
  • Letting attribute-filter combinations generate an unbounded number of thin, crawlable duplicate pages.
  • Leaving discontinued products as silent 404s instead of a deliberate redirect or 410.

When to Use This vs Alternatives

This approach works well for stores of any size that are managing SEO manually through functions.php rather than a dedicated plugin. If you’re running a very large catalogue with thousands of SKUs, a bulk-editing tool for titles, descriptions, and alt text will save considerable time over editing each product individually, and the variation/filter duplicate-content risk in Step 5 becomes proportionally more important the bigger the catalogue gets — but the underlying principles here stay exactly the same regardless of scale.

Worth separating clearly: everything in this guide is organic SEO — free rankings earned through the normal search results. Google Shopping and Google Merchant Center are a different, paid channel that uses a product data feed rather than your page’s on-site SEO, and the two don’t substitute for each other. A well-optimised product page helps both — the same accurate title, description, and price data that feeds organic ranking is exactly what a Merchant Center feed needs too — but running Shopping ads is not a shortcut around doing the organic work in this guide, and vice versa.

Conclusion

Start with your five best-selling products: fix the title, write a genuine description, add alt text to every image, and check the category page around them makes sense. Then take one pass at the site-wide issues — variation filter URLs and out-of-stock handling — since those affect every product at once rather than one page at a time.

For the full picture, pair this with the step-by-step guide on WooCommerce product categories and tags, then work through image SEO in WordPress and adding schema markup for the rich-snippet layer on top. If you’re still setting up your store’s foundations, the step-by-step guide to building a WordPress website is a good place to start.