How to Optimise a WooCommerce Store for SEO

Home / SEO News / How to Optimise a WooCommerce Store for SEO
Liam Blackledge
10 May 2024
Read Time: 15 Minutes
Article Summary

WooCommerce offers more SEO flexibility than hosted platforms but requires more manual configuration. This guide covers plugin setup, technical challenges, variable products, schema, and performance optimisation.

Key Takeaways

WooCommerce powers roughly 36–39% of all online stores, depending on whose data you trust. It’s the default choice for anyone already comfortable with WordPress, and for good reason – you own the code, you control the hosting, and you’re not locked into a platform’s ecosystem. But that flexibility comes with a maintenance cost that most WooCommerce guides gloss over. Where Shopify gives you guardrails (and constraints), WooCommerce gives you a blank canvas and expects you to know what to paint.

This guide covers WooCommerce SEO from the perspective of what actually affects rankings – not which buttons to click in a plugin. We’ll work through the technical challenges specific to WooCommerce, the settings that trip people up, and the strategic decisions that separate stores ranking on page one from stores buried under plugin bloat. At Gorilla Marketing, we run ecommerce SEO across WooCommerce, Shopify, and custom builds, so there’s no platform bias here. Just what we’ve seen work.

Why Is WooCommerce Different from Other Ecommerce Platforms?

Woocommerce Seo

WooCommerce isn’t really a platform – it’s a plugin that turns WordPress into an ecommerce site. That distinction matters for SEO because it means your store inherits both the strengths and weaknesses of WordPress itself.

The strengths are genuine. Full server access means you can configure crawling, caching, and rendering however you want. You own your data and your code. The WordPress ecosystem gives you access to thousands of themes, plugins, and developers. And WordPress’s native content management – pages, posts, categories, custom taxonomies – is still better than what most dedicated ecommerce platforms offer for building out informational content alongside your store.

The weaknesses are equally real. WooCommerce stores are self-hosted, which means your SEO performance is directly tied to your hosting quality. Plugin conflicts can silently break schema markup, canonical tags, or sitemap generation without any warning. Database bloat from order history, transients, and revision data accumulates over time and degrades performance. And because there’s no single authority controlling the stack, you’re responsible for making sure every component plays nicely together.

For comparison, Shopify trades that flexibility for a managed environment where most technical SEO basics are handled automatically. WooCommerce gives you more control but expects you to use it competently. Neither approach is inherently better – it depends on your team’s technical capacity and how much you value ownership versus convenience.

Choosing and Configuring an SEO Plugin

WooCommerce doesn’t ship with any SEO functionality beyond what WordPress provides natively, which isn’t much. You need a dedicated SEO plugin, and the two serious options are Yoast SEO and Rank Math.

Both handle the essentials: XML sitemaps, meta title and description templates, canonical tags, Open Graph markup, and basic schema output. Yoast has been around longer and has a larger install base. Rank Math offers more features in its free tier and a more modern interface. Either works. Pick one, configure it properly, and move on. The plugin you choose matters far less than whether you’ve actually set it up correctly.

What matters during configuration:

Sitemap settings – make sure product pages and visible product categories are included. Exclude tag archives, attachment pages, and any archive types you’re not actively using for SEO.

– Meta templates – set default title and description patterns for products, categories, and tags so new pages aren’t published with empty metadata. Something like `%%title%% %%sitename%%` for products, with category pages including the category name.

Breadcrumb settings – enable plugin-managed breadcrumbs if your theme doesn’t handle them natively. Breadcrumbs affect both user navigation and structured data output.

Noindex rules – set tag archives, paginated pages beyond page one, and cart/checkout/account pages to noindex by default.

Don’t install both plugins. Running Yoast and Rank Math simultaneously causes conflicts with sitemaps, canonical tags, and schema output that are tedious to debug.

Which WordPress and WooCommerce Settings Affect SEO?

A handful of settings buried in WordPress and WooCommerce admin panels have outsized effects on crawlability and indexation. Worth checking even if you set things up years ago.

Permalinks

Go to Settings → Permalinks and make sure you’re using a custom structure – ideally `/%category%/%postname%/` for posts and a clean base for products. WooCommerce adds its own permalink settings under WooCommerce → Settings → Permalinks where you can set the product base (e.g., `/shop/` or just `/product/`), the category base, and the tag base.

Avoid the default `?p=123` structure. And think carefully before including `/shop/` in your product URLs – it adds an extra directory level that doesn’t carry any SEO value. `/product-name/` is cleaner than `/shop/product-name/` and keeps URLs shorter.

Breadcrumbs

WooCommerce has its own breadcrumb system, and your SEO plugin likely has another. If both are active, you’ll end up with duplicate breadcrumb markup on the page and competing BreadcrumbList schema. Pick one source of truth and disable the other.

Search visibility

WordPress has a checkbox under Settings → Reading that says “Discourage search engines from indexing this site.” It adds a noindex meta tag to every page. This gets accidentally left on after migrations or staging deployments more often than you’d think. Check it.

Cart, checkout, and account pages

These pages serve no SEO purpose and shouldn’t be crawled or indexed. Set them to noindex via your SEO plugin, and block them in robots.txt. Every crawl cycle Google spends on your cart page is a cycle it’s not spending on a product page.

How Should You Optimise Product Titles and Meta Descriptions?

Product titles in WooCommerce do double duty – they’re the H1 on the page and, by default, they feed into the meta title. This means you need titles that work for both users and search engines.

Keep product titles descriptive but not keyword-stuffed. Include the brand name, product name, key differentiating attribute (size, colour, model number), and let your SEO plugin’s template append the site name. “Dr Martens 1460 Smooth Leather Boots – Black” tells both the user and Google exactly what the page is about.

For meta descriptions, write them manually for your top-selling products and any products you’re actively targeting with SEO. For the rest, a well-crafted template in your SEO plugin will do the job. Include the product name, a key selling point, and a prompt to act – price, free delivery, whatever’s relevant.

We cover product page optimisation in depth separately, but the WooCommerce-specific point is this: make sure your product short description is doing real work. WooCommerce displays it prominently on the product page and search engines weight it accordingly. Don’t leave it blank or stuff it with the same copy from the long description.

How Should You Handle Categories and Tags?

WooCommerce product categories and tags are separate taxonomies, and they need different SEO treatment.

Categories are your primary taxonomy. They create archive pages that target high-volume commercial keywords – “men’s running shoes,” “organic skincare,” “kitchen knives.” Each category page should have unique introductory copy, a clear keyword target, and a logical position in your site hierarchy. Nesting categories (parent → child) creates the URL structure and internal linking paths that search engines use to understand your product relationships.

Tags are more problematic. WooCommerce creates a separate archive page for every tag you add, and most stores use tags inconsistently – sometimes as pseudo-categories, sometimes as one-off labels nobody will ever search for. The result is dozens or hundreds of thin archive pages competing with your category pages for similar keywords.

The safest approach: use tags sparingly for genuine cross-cutting attributes (like “vegan,” “sale,” or “new arrivals”), and set tag archives to noindex. If a grouping is important enough to rank for, it should be a category, not a tag.

We’ve covered category page SEO in full elsewhere, including faceted navigation, pagination, and content strategy. The WooCommerce-specific advice here is about taxonomy hygiene – keep it tight, review it regularly, and don’t let tags proliferate unchecked.

Schema Markup for WooCommerce

Structured data is where WooCommerce can either shine or fall apart, depending on your setup.

Most modern WooCommerce themes and SEO plugins output basic Product schema automatically – name, description, image, price, availability. That’s the minimum. But “basic Product schema” isn’t enough to compete for rich results in most verticals.

What you should have on product pages:

Product with Offer (price, currency, availability, priceValidUntil)

AggregateRating and individual Review markup if you’re collecting reviews (make sure the review data is genuine – Google penalises fabricated review schema)

Brand and SKU properties filled in, not left empty

BreadcrumbList reflecting the actual category hierarchy

On category pages, CollectionPage or ItemList schema helps search engines understand the page’s function. And site-wide, you want Organization or LocalBusiness on your homepage, with WebSite and SearchAction if you have an internal search function.

The common WooCommerce problem is plugin stacking. If your theme outputs Product schema, your SEO plugin outputs Product schema, and you’ve added a dedicated schema plugin on top, you’ll end up with duplicate or conflicting structured data. Test your pages in Google’s Rich Results Test and check for warnings. One clean implementation beats three overlapping ones.

WooCommerce-Specific Technical Challenges

This is where WooCommerce stores lose ground that no amount of content optimisation can recover. These are problems specific to WooCommerce’s architecture, and they need addressing at the technical level.

Variable products

WooCommerce handles product variations (size, colour, material) through a single product page with dropdown selectors. That’s fine for user experience, but it means you can’t create separate URLs for individual variations – so you can’t target “blue running shoes size 10” as a distinct landing page. Each variation does generate a unique `?attribute_pa_colour=blue&attribute_pa_size=10` parameter combination, which Google may attempt to crawl.

The fix depends on your situation. For most stores, the single-page approach is correct – just make sure the parent product page’s copy naturally includes variation-specific terms. If specific variations have genuine search demand (common in fashion), consider whether those should be separate simple products with their own URLs rather than variations of one parent.

Query parameter crawling

WooCommerce generates several URL parameters that create crawl waste:

`?add-to-cart=123` – appended when a user adds a product to cart

`?orderby=price` and other sorting parameters on category pages

`?filter_colour=blue` and similar layered navigation parameters

None of these pages should be in Google’s index. Handle them with a combination of robots.txt Disallow rules for the parameter patterns, canonical tags pointing back to the clean URL, and – where possible – converting critical filters to static, indexable subcategory pages instead.

REST API endpoints

WooCommerce exposes REST API endpoints at `/wp-json/wc/` by default. These are meant for headless integrations and third-party apps, not for search engines. If Googlebot discovers them, it’ll burn crawl budget retrieving JSON responses that serve no ranking purpose. Block `/wp-json/` in robots.txt unless you have a specific reason not to.

Database bloat

Every order, every cart session, every transient, every post revision – WooCommerce stores all of it in the WordPress database. Over time, this bloats the `wp_options`, `wp_postmeta`, and `wp_posts` tables, which slows down database queries. Slower queries mean slower page generation, which means worse Time to First Byte.

Regular database maintenance isn’t optional for WooCommerce stores. Clean up expired transients, limit post revisions (add `define(‘WP_POST_REVISIONS’, 5);` to wp-config.php), purge old cart sessions, and consider a plugin like WP-Optimize for scheduled cleanups. On high-traffic stores, moving to custom database tables for orders (WooCommerce now supports this natively with High-Performance Order Storage) makes a measurable difference.

Out-of-stock product pages

WooCommerce doesn’t automatically handle out-of-stock products well from an SEO perspective. The default behaviour is to keep the page live with an “out of stock” notice, which is fine if the product is coming back. But for permanently discontinued products, you’re left with indexed pages that can’t convert. Whether you redirect, display alternatives, or return a 410 depends on the situation – we cover the full decision framework in our guide to managing out-of-stock pages.

Site Speed and Hosting

Here’s the honest truth about WooCommerce performance: your hosting matters more than almost any other optimisation you can make. A WooCommerce store on cheap shared hosting will be slow no matter how well you optimise everything else. WordPress and WooCommerce are PHP-based and database-heavy – they need proper server resources.

Managed WordPress hosting (Cloudways, Kinsta, WP Engine, or similar) gives you server-level caching, PHP worker management, CDN integration, and environments tuned for WordPress. The difference between a £5/month shared host and a £30/month managed host is usually 1–3 seconds off your page load time. For ecommerce, that’s the difference between rankings that work and rankings that don’t.

Beyond hosting:

Page caching – use a server-level solution (most managed hosts include this) or a plugin like WP Rocket. Make sure cart, checkout, and account pages are excluded from caching.

Object caching – Redis or Memcached for database query caching. This is the single biggest performance improvement for stores with large product catalogues.

CDN – serve static assets (images, CSS, JS) from edge servers. Cloudflare’s free tier handles this for most stores.

PHP version – run the latest stable PHP version. The performance difference between PHP 7.4 and PHP 8.3+ is substantial.

Image Optimisation

Ecommerce sites are image-heavy by nature, and WooCommerce stores tend to be worse than average because product images are often uploaded at full resolution without any compression pipeline.

The basics: compress images before upload (or use a plugin like ShortPixel or Imagify to do it automatically), serve WebP or AVIF formats where browser support exists, lazy-load images below the fold, and set explicit width and height attributes to prevent layout shift.

WooCommerce-specific considerations: the plugin generates multiple thumbnail sizes for each product image (shop catalogue, shop single, gallery thumbnail). If you’ve changed your theme and those sizes have changed, you’ll have orphaned image files bloating your uploads directory. Regenerate thumbnails after theme changes and clean up unused sizes.

For product galleries, consider whether you need ten images per product or whether five well-chosen ones serve the user better and load faster. Every additional image is a request the browser has to make.

Content Strategy: Blogging with WooCommerce

One of WooCommerce’s genuine advantages over Shopify and other hosted platforms is WordPress’s native blogging capability. It’s not a bolted-on afterthought – it’s the core of the CMS. Use it.

A content strategy for a WooCommerce store should serve three purposes:

Capture informational search traffic – buying guides, how-to content, comparison articles that bring people into your ecosystem before they’re ready to buy.

Support product and category pages with internal links and topical authority.

Give you something to promote – product pages don’t earn backlinks naturally. Blog content does.

Map your content to the buyer journey. Someone searching “how to choose a kitchen knife” is earlier in the funnel than someone searching “Victorinox Fibrox vs Wusthof Pro chef’s knife,” but both searches represent potential customers. Write content for both stages and link through to the relevant product and category pages.

Keep blog posts in `/blog/` and products in their own structure. Don’t mix taxonomies – product categories and post categories should remain separate. WordPress makes this easy; just don’t get creative with shared taxonomies.

Internal Linking

Internal linking in WooCommerce stores is often an afterthought, but it’s one of the most effective things you can do without spending money or touching code.

The priorities:

Category pages link to subcategories and key products. Not just through the product grid – through the introductory content on the page.

Product pages link to related products. WooCommerce has a built-in related products feature, but it’s algorithm-driven and often surfaces irrelevant items. Curate these manually for your top sellers, or use upsells and cross-sells fields intentionally.

Blog posts link to product and category pages where the reference is genuinely useful to the reader. Don’t force commercial links into informational content – but don’t miss natural opportunities either.

Breadcrumbs create automatic hierarchical links. Make sure they reflect your actual category structure.

One WooCommerce-specific issue: the “related products” section defaults to pulling products from the same category and tag. If your taxonomy is messy, your related products will be too. Clean taxonomy pays dividends here.

Core Web Vitals and Mobile Performance

Google’s Core Web Vitals – Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) – hit WooCommerce stores harder than most site types. The combination of image-heavy pages, dynamic pricing elements, and JavaScript-dependent add-to-cart functionality creates plenty of opportunities for poor scores.

LCP is usually the hero product image or the largest image visible in the viewport. Preload it. Serve it in a modern format. Don’t lazy-load above-the-fold images.

INP is where WooCommerce struggles most. Add-to-cart buttons, quantity selectors, variation dropdowns – all fire JavaScript. If your theme loads heavy scripts synchronously, interactions feel sluggish. Defer non-critical JS, remove unused plugins, and test on real mid-range mobile devices, not just desktop Chrome.

CLS often comes from product images loading without dimensions, review widgets injecting content, or cookie consent banners shifting the page. Set explicit image dimensions and reserve space for dynamically loaded elements.

Mobile is non-negotiable. The majority of ecommerce browsing happens on phones, and Google uses mobile-first indexing. Test your product pages, category pages, and checkout flow on actual mobile devices. Responsive doesn’t automatically mean usable.

How Should You Approach Link Building for a WooCommerce Store?

Product pages rarely earn links organically. People link to resources, tools, data, and stories – not to things you’re selling. That’s why your content strategy and link building strategy need to work together.

Effective approaches for ecommerce:

Buying guides and comparison content that genuinely help people make decisions. These earn links from forums, communities, and other blogs.

Original product photography that other sites want to reference or embed.

Data and research related to your niche – pricing trends, seasonal demand analysis, customer survey results.

Digital PR tied to your product category. If you sell outdoor gear, commissioning original research on UK hiking habits gives journalists something to reference.

Supplier and manufacturer relationships – many brands list authorised retailers on their websites. Make sure you’re included with a link.

Avoid buying links to product pages directly. It’s the kind of shortcut that works until it doesn’t.

Monitoring and Analytics

You can’t improve what you’re not measuring. For WooCommerce stores, the monitoring setup needs to cover both standard SEO metrics and ecommerce-specific tracking.

Google Search Console is your primary SEO monitoring tool. Check for indexation issues (especially “Discovered – currently not indexed” and “Crawled – currently not indexed”), coverage errors on product pages, and mobile usability problems. Pay attention to the Pages report – WooCommerce sites often have more indexed pages than intended because of parameter URLs and tag archives slipping through.

Google Analytics 4 with ecommerce tracking enabled shows you which organic landing pages drive revenue, not just traffic. WooCommerce integrates with GA4 through plugins like Google Listings & Ads or MonsterInsights. The data you want: organic revenue by landing page, conversion rate by product category, and the assisted conversion paths that show how blog content contributes to eventual purchases.

Crawl monitoring through Screaming Frog, Sitebulb, or a cloud crawler lets you catch technical issues before Google does. Run monthly crawls on stores with fewer than 10,000 URLs and weekly on larger ones. Look for: new 404s, orphaned products, broken canonical chains, and pages that have dropped out of the sitemap.

Set up alerts for the things that break silently – sitemap errors, robots.txt changes, sudden indexation drops, and Core Web Vitals regressions. WooCommerce plugin updates can introduce issues that don’t surface until the next crawl cycle.

AI Search and WooCommerce

AI search tools – Google’s AI Overviews, ChatGPT, Perplexity, and others – are increasingly surfacing product recommendations and ecommerce advice in conversational answers. This changes what “ranking” means for WooCommerce stores.

AI systems favour content that answers questions clearly and concisely, with strong topic sentences that can be extracted and cited independently. Your product descriptions, category page content, and blog posts should all be written with this in mind. A clean, factual product description with genuine specifications, honest comparisons, and structured data gives AI systems something useful to work with. Vague marketing copy doesn’t.

Structured data becomes even more important in this context. Product schema with complete Offer, Review, and Brand properties gives AI systems machine-readable product information they can use to generate comparisons and recommendations. Sites with clean structured data are easier for AI systems to parse and cite accurately.

The practical action: write product and category content that could stand alone as a useful answer to a question. “What’s the best kitchen knife for beginners?” If your buying guide answers that clearly – with specific product recommendations, prices, and reasoning – it’s the kind of content AI systems pull from. If it’s just a list of product links with thin descriptions, it won’t be.

Getting WooCommerce SEO Right

WooCommerce gives you more control over your ecommerce SEO than any hosted platform. That’s its greatest strength and its biggest risk. The stores that do well with WooCommerce are the ones that treat it like infrastructure that needs active management – not a set-and-forget solution.

The priorities, roughly in order of impact: get your hosting right, clean up your crawl (parameters, tags, API endpoints), implement schema properly, build out category page content, and then layer on the content strategy and link building. If your technical foundation is solid, everything else compounds. If it isn’t, you’re optimising on quicksand.

If you’re not sure where your WooCommerce store stands, a proper ecommerce SEO audit will tell you what’s working, what’s broken, and what to fix first. And if you’re weighing WooCommerce against other platforms, the honest answer is that it’s the best choice for teams who want full control – and the wrong choice for teams who just want something that works without constant attention.

Liam Blackledge
Liam has been in the SEO industry since 2019, cutting his teeth as an SEO Executive before levelling up by joining Gorilla at Manager level in 2023. Specialising in technical SEO, site architecture and content strategy, Liam manages a portfolio of clients across multiple sectors and takes a hands-on approach to every campaign he runs. When he’s not buried in Search Console, he’s either hard at work at the snooker table, or telling anyone who’ll listen that he’s going to start back at the gym.

Related Articles