SEO for local service businesses and ecommerce stores in the USA (888) 400-5050
Ecommerce SEO

WooCommerce SEO guide: URLs, filters, plugins and speed

How to set up and audit a WooCommerce store for search: permalinks, categories, filters, plugins, product markup and the speed work that decides rankings.

Why WooCommerce SEO is different

WooCommerce is a plugin that turns a WordPress site into a store. That single fact explains most of what is good and bad about its SEO. WordPress gives you flexible URLs, strong content tools and a huge plugin ecosystem. It also gives you a platform that you host, configure, secure and speed up yourself. Nobody else is responsible for the server, the theme, the caching layer or the pile of plugins that grows over time, so those choices decide how your store performs in search.

This guide covers the parts of WooCommerce that most affect organic results: URL and permalink settings, product and category architecture, duplicate content from filters and variations, plugins, structured data, speed, and the pages that should stay out of the index. It sits within our wider work on WooCommerce SEO and assumes you know what a title tag and a canonical tag are. If you want a broader view of how product and category pages should be built, read our guides to ecommerce category page SEO and product page SEO.

One caution. Plugin features, settings screens and defaults change between versions. Treat what follows as principles and check your own version of WordPress, WooCommerce and your SEO plugin before changing anything on a live store.

WooCommerce products live at addresses built from WordPress permalink settings plus a few store-specific bases. Three decisions matter.

Choose a clean permalink structure early

The default WordPress setting uses query strings such as ?p=123, which are useless for users and weak for search. Use the post name structure, then set the product and category bases in the WooCommerce permalink settings. A typical clean result is /product/trail-running-shoes/ for a product and /product-category/shoes/ for a category. Short, readable, lowercase and hyphenated is the target.

Decide whether to include categories in product URLs

WooCommerce lets you add the product category to the product URL. It looks tidy, but a product in several categories can then be reached at several addresses. Most stores are better off keeping the product URL independent of its category, so each product has exactly one address that never changes when you reorganize the catalog.

Think before changing live URLs

Changing the product base or category base on a live store changes every URL. If you must do it, plan 301 redirects for every old address, test them and follow the steps in our ecommerce migration SEO approach. A permalink change done carelessly can erase years of rankings in a week.

Site architecture: categories, tags and attributes

WooCommerce gives you three ways to group products, and confusing them is the root of many problems.

GroupingBest used forSEO risk
Product categoriesThe main hierarchy: shoes, boots, sandalsToo many levels, or products sitting in many unrelated categories
Product tagsCross-cutting labels, used sparinglyHundreds of thin tag pages that duplicate category content
AttributesFilters and variations: size, color, materialAttribute archive pages and filter URLs that multiply

Build the category tree around how customers shop and how they search. Each category that targets real demand should have its own indexable page with unique copy, a clear heading and links to its subcategories and best-selling products. Keep the tree shallow, so important categories are reachable in a few clicks from the home page. Our guide to keyword research for local and ecommerce sites shows how to decide which categories deserve a page of their own.

Tags deserve suspicion. A store that auto-creates a tag for every keyword ends up with hundreds of near-empty pages. Either use tags deliberately, with a small controlled set that you treat as real landing pages, or set tag archives to noindex. The same principle is explained for another platform in our guide to product tags and indexation bloat.

Filters, sorting and URL parameters

As soon as a store offers sorting and filtering, it can generate an enormous number of URLs. A page such as /product-category/shoes/ may also appear as /product-category/shoes/?orderby=price, ?filter_color=red, ?min_price=20&max_price=80 and every combination of them. Search engines can waste crawl time on these, and thin or duplicated versions can dilute the main page.

The aim is to let the useful versions be found and keep the rest quiet. A workable approach:

  • Keep the clean category URL as canonical. Filtered and sorted versions should canonicalize to it unless a filtered view is a deliberate landing page.
  • Decide which filtered pages deserve to rank. Some combinations, such as a brand within a category, match real searches. Give those clean, static, indexable URLs with their own copy and links.
  • Keep the rest out of the crawl path. Use noindex or robots rules for sort orders and long filter strings, with the trade-offs explained in our guide to noindex versus disallow.
  • Watch for infinite filter loops. Our guide to identifying crawl traps shows how to find them in logs and crawls.

Many WooCommerce filter plugins use JavaScript to update the page without a full reload. Check what happens when Googlebot requests a filtered URL directly, and whether the result is a crawlable, linked page or a blank shell. For deeper structure advice see faceted navigation SEO.

Variable products and variations

A variable product, such as a shirt in five sizes and four colors, is one WooCommerce product with many variations. By default the variations do not get their own indexable URLs, which is usually right: you want one strong page for the shirt, not twenty weak ones. What matters is how that page handles variations.

  • Write the product description for the product as a whole and mention the options in plain text, so search engines can read them.
  • Use unique images, and name and describe them. Variation images should be available to users but need not be separate pages.
  • If different colors or models are really different products that people search for separately, such as a distinct model number, consider making them separate simple products instead.
  • Make sure the variation parameters in URLs, when used, do not create indexable duplicates. A canonical tag to the main product address is the standard answer.

Choosing and configuring an SEO plugin

WooCommerce does not manage titles, descriptions, canonical tags and sitemaps well on its own, so almost every store uses an SEO plugin. Several mature options exist, and the specific one matters less than configuring it properly and using only one. Two SEO plugins running together will usually print duplicate tags.

When you set up the plugin, check these points:

  1. Title and description templates. Create templates for products and categories using fields such as the product name, category and store name, then override them on the most important pages by hand.
  2. Canonical tags. Confirm one canonical per page and that filtered or paginated versions behave as intended.
  3. XML sitemaps. Include products, categories and key pages. Leave out cart, checkout, account pages, tag archives you have decided not to index and any thin taxonomy pages.
  4. Breadcrumbs. Enable breadcrumb markup that matches the visible trail.
  5. Taxonomy settings. Decide per taxonomy whether archives are indexed. Product categories usually are; product tags often are not.

After configuration, view the source of a product, a category and a filtered URL and count the tags. There should be one title, one description and one canonical on each. Our technical SEO audit checklist lists the full set of checks.

Pages that should not be indexed

A WooCommerce store creates several pages that serve customers but offer nothing to searchers.

  • Cart, checkout and my account. WooCommerce and most SEO plugins mark these noindex by default. Verify it.
  • Internal search results. WordPress search pages (?s=) can create endless thin URLs. Noindex them and keep them out of the sitemap.
  • Add-to-cart and other action URLs. Parameters such as ?add-to-cart=123 should never be crawlable links. Use buttons that submit forms where possible.
  • Thank-you and order-received pages. Private, and no value for search.
  • Empty or near-empty categories and tags. Either fill them, merge them or noindex them.

Also check WordPress itself: attachment pages for product images, author archives and date archives can add low-value pages that an SEO plugin can disable or redirect.

Structured data for products

WooCommerce outputs basic product structured data, and SEO plugins can extend it. The goal is accurate Product markup with name, image, description, price, currency, availability and, where you have genuine reviews, aggregate ratings. It makes products eligible for rich results, but eligibility is not a guarantee.

Problems appear when two sources print product data at once, for example WooCommerce, a theme and a plugin. The page then carries overlapping definitions that may disagree on price or stock. Choose one source of truth, turn the others off, and validate with Google's Rich Results Test. Markup must match what visitors see on the page. Review markup should only describe reviews that real customers left on your site.

Speed, hosting and plugin weight

This is where self-hosted stores most often lose to hosted platforms. Core Web Vitals depend on your hosting quality, caching, theme, images and how many plugins load scripts on every page.

  • Hosting. Cheap shared hosting struggles under store traffic. Look for hosting built for WooCommerce, with current PHP, object caching and a content delivery network.
  • Caching. Use page caching for browsing pages but exclude cart, checkout and account pages. Test a full purchase after any caching change.
  • Theme. Choose a lightweight theme. Heavy multipurpose themes with page builders add large scripts to every product page.
  • Plugins. Audit them regularly. Each plugin that loads CSS or JavaScript sitewide has a cost. Remove ones you no longer use and prefer those that load assets only on the pages that need them.
  • Images. Serve modern formats at sensible dimensions, with lazy loading below the fold. Do not lazy load the main product image that is the largest visible element.
  • The database. Old revisions, expired transients and large option tables slow down admin and front end alike. Routine maintenance helps.

For measurement and fixes, see our Core Web Vitals guide. Speed fixes on a store are most effective when they are tied to specific templates: the product page, the category page and the home page.

Product and category content

Technical hygiene gets a store eligible. Content decides whether it ranks. A few practical rules:

  • Write original product descriptions. Manufacturer copy is shared by every retailer. Add what customers need: use, fit, materials, care, compatibility and honest limitations.
  • Answer questions on the page. Short FAQs, size guides and delivery and returns information reduce hesitation and cover long-tail searches.
  • Write for categories, not only products. A category page with a helpful introduction, buying advice and links to subcategories usually outperforms a bare grid of products.
  • Support commercial pages with guides. Buying guides, comparisons and how-to content bring in earlier-stage searchers and give you natural internal links to categories.
  • Collect genuine reviews. Reviews add unique text, build trust and support structured data.

Out-of-stock, discontinued and seasonal products

Handle product lifecycle deliberately, because it affects both users and search engines.

SituationUsual best handling
Temporarily out of stockKeep the page live, show the status clearly, offer notifications and link to alternatives
Discontinued with a close replacement301 redirect to the replacement or the most relevant category
Discontinued with no replacementRedirect to the parent category, or return a 404 or 410 if the page has no value
Seasonal product returning laterKeep the page live and update availability so its history carries over

Avoid redirecting everything to the home page, which search engines may treat as a soft 404. Match the destination to what the page was about.

Internal linking

Good internal links give search engines a path and tell them which pages matter. In WooCommerce, make sure that:

  • Main navigation links to your key categories, not to every subcategory.
  • Category pages link to subcategories and to the best products.
  • Product pages link back to their category, to related products and to relevant guides.
  • Blog posts link to the categories and products they discuss, with descriptive anchor text.
  • Breadcrumbs reflect the real hierarchy.
  • Pagination links are real links that a crawler can follow.

Avoid building your whole structure on JavaScript-only widgets such as "load more" buttons that expose no crawlable links. Provide paginated URLs underneath, as discussed in our category page guide.

Multilingual and international stores

WooCommerce stores that sell in several languages or countries usually rely on a translation plugin or a multisite setup. Choose a structure, such as subfolders per language, and make sure each version has hreflang annotations that reference each other correctly. Translated product pages should be properly translated, not partly machine copied. For wider structural trade-offs see international ecommerce SEO. The principles in our guide to subfolders versus subdomains apply to any platform.

How to audit a WooCommerce store

  1. Crawl the store and group URLs by type: product, category, tag, filter, search, account, other.
  2. Check indexation. Compare the number of URLs in the sitemap, in the crawl and in Search Console's indexed pages report. Large gaps point to parameter or taxonomy problems.
  3. Review titles, descriptions, canonicals and robots directives on a sample of each type.
  4. Test filters and sorting to see what URLs they produce and how those URLs are treated.
  5. Measure speed on product, category and home templates, using real-user data if available.
  6. Check structured data on products for duplicates and mismatches.
  7. Review plugins. Remove unused ones and look for overlapping SEO or schema plugins.
  8. Inspect redirects and errors. Look for chains, loops and soft 404s on retired products.

Our ecommerce SEO audit service follows this sequence and turns the results into a prioritized list.

Common WooCommerce SEO mistakes

  1. Running two SEO plugins. Duplicate tags and conflicting sitemaps follow.
  2. Indexing every tag and filter. Thin, duplicated pages dilute the stronger ones.
  3. Using manufacturer descriptions. Your pages look like everyone else's.
  4. Ignoring hosting. No amount of on-page work fixes a slow server.
  5. Letting plugins pile up. Every script costs speed.
  6. Changing URL bases without redirects. It can erase rankings.
  7. Redirecting all retired products to the home page. The signals are lost.
  8. Leaving the search results indexable. Endless thin pages result.
  9. Printing conflicting product schema. Rich result eligibility suffers.
  10. Never checking the rendered source. Settings screens do not always match output.

How we help

We start with a crawl and a template-by-template review of what the store actually outputs, then give your developer a specific, prioritized list: which taxonomies to index, which parameters to control, which plugins to remove, which templates to speed up and which category pages to rebuild with real content. See our WooCommerce SEO service, learn about ecommerce SEO as a whole or request a free SEO audit of your store.

Summary

  • WooCommerce gives you control and responsibility: hosting, plugins and configuration decide your results.
  • Use clean permalinks, a shallow category tree and tags only on purpose.
  • Control filter, sort and search URLs with canonicals, noindex and sensible internal links.
  • Run a single, well-configured SEO plugin and one source of product schema.
  • Invest in hosting, caching, a light theme and plugin discipline for Core Web Vitals.
  • Write original product and category content, and handle discontinued products with relevant redirects.
FAQ

Frequently asked questions

Is WooCommerce good for SEO?

It can be very good, because WordPress is flexible and WooCommerce gives you control over URLs, content and markup. The trade-off is that you are responsible for hosting, speed, plugins and configuration, so results depend on how well those are managed.

Which SEO plugin should I use with WooCommerce?

Several established plugins handle titles, descriptions, canonicals, breadcrumbs and sitemaps well. Pick one, configure it carefully and do not run two at the same time, because that usually prints duplicate tags.

Should product tags be indexed in WooCommerce?

Usually not, unless you use a small, controlled set as real landing pages with unique content. Large numbers of automatically created tags produce thin pages, so most stores noindex them or avoid creating them.

How do I stop WooCommerce filters from creating duplicate content?

Canonicalize filtered and sorted URLs to the clean category page, noindex or control low-value combinations, and give any filtered view you want to rank a clean, static URL with its own copy.

What should I do with out-of-stock WooCommerce products?

If the item will return, keep the page live and show its status. If it is discontinued, 301 redirect it to a close replacement or its category. Avoid sending everything to the home page.

Does WooCommerce add product structured data automatically?

WooCommerce outputs basic product markup, and SEO plugins can extend it. Make sure only one source prints it, that it matches what is visible on the page, and validate it with Google's Rich Results Test.

Not sure where your site stands?

Send us your website and we will tell you what we would fix first, including if SEO is not your best next step.