What WooCommerce gets wrong most often
An SEO plugin and the theme can both emit canonical tags or product schema. Duplicate output is common after adding Yoast, Rank Math or an SEO add-on on top of a theme that already handled it.
The sitemap is usually supplied by the SEO plugin at /sitemap_index.xml, not /sitemap.xml. Submitting the wrong path is a frequent cause of a could-not-fetch report.
WooCommerce products generate parameterised URLs for sorting, filtering and add-to-cart. Left indexable and self-canonical, they duplicate the clean product page and split its ranking.
Variable products often lack a price in the JSON-LD the theme emits, because the offer lives on a variation rather than the parent product.
A migration to https frequently leaves some wp-content asset URLs on http, so browsers block them and the page breaks in a way that is easy to miss.
The checks that matter most on WooCommerce
- Canonical tagsTheme plus plugin canonicals, and whether a paginated or filtered URL points at itself.
- URL parametersSorting, filtering and cart parameters that create indexable duplicates of one product.
- Mixed contentwp-content assets still loading over http after an https migration.
- DeliveryCompression, caching and time to first byte from a shared host or a heavy plugin stack.
- Structured dataProduct and Offer markup, including the price gap on variable products.
- Broken linksDead links after a permalink change or a plugin that rewrote URLs.
What to do about it
- Decide which layer owns canonicals, schema and sitemaps, and disable the duplicate in the other layer rather than leaving both to fight.
- Submit the exact sitemap path the SEO plugin serves, and confirm it returns XML rather than a themed page.
- Block or noindex the parameter patterns for sorting and filtering, keeping the clean URL as the only indexable version.
- Fix asset URLs in the database and the theme after switching to https, not just in the main stylesheet link.
- Turn on page caching and compression, and check time to first byte before blaming front-end code for slowness.
A typical WooCommerce failure, worked through
The setupA store adds Rank Math after already running a theme with built-in SEO. Both output a self-referencing canonical and the page ends up with two, pointing at the trailing-slash and non-slash versions of the URL.
What the check reportsThe canonical check reports two canonicals and warns that they may all be ignored. Shop pages and products can then be indexed under whichever variant Google picks.
The pointTwo SEO layers is the default state of many WooCommerce sites. Pick one as the source of truth and switch the other off.