What does a WooCommerce SEO checklist cover?
A WooCommerce SEO checklist covers the store-specific layer that a general WordPress checklist skips: how products and categories get their URLs, which generated URLs should stay out of the index, what the product and category templates print, and how stock changes are handled. It's the same list I work through before quoting WooCommerce SEO services, so nothing here is theory.
The site-wide basics, like HTTPS, redirects and crawl checks, sit in my technical SEO checklist for WordPress. This one assumes those are done and goes through the store in the order the problems compound: setup, product pages, category pages, markup, stock, speed and monitoring.
How I start a WooCommerce SEO checklist: permalinks, sitemaps, filters and cart pages
These settings decide which URLs exist at all. Get them wrong and every later fix is working against the store's own structure.
- i.
Search engine visibility is off
Settings, Reading. When Discourage search engines is ticked, WordPress prints a noindex, nofollow robots meta tag on every page. It's often left on after a store launches from staging.
- ii.
Product permalinks are chosen on purpose
WooCommerce offers Default (/product/), Shop base, Shop base with category, or a Custom base. Shop base with category puts the category in every product URL, so moving a product changes its address. Change the base on a live store only with redirects ready.
- iii.
Category and tag bases don't clash
The defaults are /product-category/ and /product-tag/. WooCommerce's docs warn that a custom product base mustn't reuse the category base, because WordPress needs them to differ.
- iv.
Filter and sort URLs are contained
?orderby=and filter parameters multiply fast. Google's faceted navigation guidance says to block crawling of filter URLs in robots.txt when you don't need them indexed, and calls canonical and nofollow less effective long term. - v.
Cart, checkout and account stay noindexed
WooCommerce core adds noindex to the cart, checkout and My account pages, and sends an X-Robots-Tag noindex header on endpoints like order-received. I check the SEO plugin hasn't overridden it and that none of them sit in the sitemap.
- vi.
The sitemap lists what should rank
Products and product categories, yes. Product tags and attribute archives only when they're built as real landing pages, which they rarely are.
- vii.
Paginated categories keep their own canonicals
Google says not to canonicalise page 2 onwards to page 1, and to give each page in a sequence its own canonical URL.
What's on my product page SEO checklist?
Product pages win the searches with a model, a size or a brand in them. They lose when they're a copy of every other store's page.
- i.
A title that says which product
Product name plus what separates it, like brand, model or size. Not the store name first on every product.
- ii.
One H1, the product name
Themes print it by default. Check a page builder template hasn't added a second one.
- iii.
The store's own description
The manufacturer's text is on every other store selling the item. Here's how I write product descriptions that add what only the store can say.
- iv.
Variations on one URL
WordPress core's canonical on a product is its permalink with no query string, so
?attribute_variation links point back to the one product page. - v.
Images with real alt text
Describe the product in the photo, colour and angle included. Image search is a real source of product traffic.
- vi.
Links in from categories and related products
A product only reachable through a filter or search box is one Google may never find or value.
Rather have me do this? One person, whole job.
Book a call on UpworkWhat's on my category page SEO checklist?
Category pages are where most WooCommerce stores should rank for the broad searches, like a product type in the plural. They're also the pages stores leave emptiest: a heading and a grid.
Every category that matters gets its own title tag, a short introduction written for the searcher, and the right subcategories linked. WooCommerce gives each product category a Description field, and its docs say some themes display it beneath the category name. If yours doesn't, that's a template fix, not a reason to leave it blank.
Then the traps. Sorting and filtering a category creates URLs with the same products in a different order, which Google's own canonicalization docs name as a common source of duplicates. When those URLs turn up in the Pages report as duplicates, the only question is whether Google picked the clean category URL, and how Google groups duplicates without a canonical shows how to check. Usually it has, and they can be left alone.
How do I add Product schema without fake reviews?
WooCommerce already prints Product structured data from its own code, so the first check is how many Product graphs a page carries. An SEO plugin, a reviews plugin and the theme can each add another, and two graphs describing one product is the usual source of errors.
Google's product snippet documentation says the markup must include one of review, aggregateRating or offers. A store always has an offer: a price, a currency and availability. That's the honest way to satisfy it, and it's the fix I use for Product snippet errors in Search Console.
Review and rating markup goes on only when the reviews are real and visible on the page. Google's structured data guidelines name fake reviews as misleading markup, and a structured data manual action means the page loses eligibility for rich results. It isn't worth the stars.
What do I do with out-of-stock and discontinued products?
Temporarily out of stock and gone for good are different jobs. A product that's coming back keeps its page, its URL and its rankings, with the availability shown on the page and in the markup. WooCommerce has a store-wide setting to hide out of stock items from the catalogue, and I check what it's doing to category pages before anyone deletes a product.
A discontinued product with traffic or links gets a 301 to its closest replacement; one with neither can return a 404. Bulk-redirecting everything to the shop page helps nobody. The full decision tree for out-of-stock products is its own post.
How do I check speed and Core Web Vitals on WooCommerce?
On product and category templates, not the home page. Those are the pages that rank and sell, and they're usually the heaviest: galleries, variation swatches, reviews, related products and tracking scripts.
Google's Core Web Vitals targets are an LCP within 2.5 seconds, an INP of 200 milliseconds or less, and a CLS of 0.1 or less, measured at the 75th percentile of page loads. On a store, the product image is usually the LCP element, variation swatches and mini-carts are where INP suffers, and late-loading review widgets or banners cause the layout shift. I test one URL per template type and fix the template, since one fix covers every product.
How I monitor a WooCommerce store in Search Console
Fixes on a store only count when Search Console shows them. This is what I check after a change goes live, and then monthly.
- Step 01
Pages report, filtered by the sitemap
Products and categories in Not indexed are the first priority. Filter and cart URLs in the same report are usually there on purpose.
- Step 02
The Shopping reports
Search Console puts the Product snippets and Merchant listings reports under Shopping. Errors there cost rich results across every product that shares the template.
- Step 03
Performance by URL pattern
Filter pages containing /product/ and then /product-category/, or your custom bases. It shows whether categories or products carry the store.
- Step 04
URL Inspection on changed templates
Inspect one product and one category after any theme or plugin update and check the rendered HTML still carries the content and markup.
- Step 05
Validate fixes
Press Validate fix on each issue once every instance is fixed, then watch the count over the next weeks.
What are the most common WooCommerce SEO pitfalls?
Each of these comes from a normal store habit, which is why they turn up so often.
- i.
Indexable filter and sort URLs
Thousands of near-identical listings crawled instead of the products.
- ii.
Deleting products instead of redirecting
Earned links and rankings turn into 404s overnight.
- iii.
Two sources of Product markup
WooCommerce plus a plugin or theme, printing conflicting prices or availability.
- iv.
Changing the product base on a live store
Every product URL changes at once, which is a site move nobody planned. A redesign without a redirect map dropped one store from 162 daily clicks to 49 in three days.
- v.
Empty category pages
A heading and a grid can't compete with a category that answers the search.

