WOOCOMMERCE SEO AUDIT · PRODUCT SCHEMA · FACETED NAV · AI VISIBILITY

Free WooCommerce SEO Audit

WooCommerce generates complex SEO challenges: Product schema completeness, faceted navigation duplicate URLs, out-of-stock page handling, and category page content gaps. DeepSEOAnalysis audits your live WooCommerce store — validating Product schema with aggregateRating, detecting duplicate filter URLs, measuring real CrUX Core Web Vitals, and scoring AI visibility — with WooCommerce-specific plugin and template fix guidance.

Audit my WooCommerce store →How we score

WHAT WE CHECK

6 WooCommerce-specific SEO checks

WooCommerce SEO goes beyond standard WordPress SEO. The audit checks Product schema completeness including aggregateRating eligibility, faceted navigation duplicate URL patterns, category page content depth, internal linking gaps, real CrUX Core Web Vitals, and AI visibility — with Rank Math, AIOSEO, and WordPress theme template fixes for each finding.

🛒

Product schema with aggregateRating

Google\'s Rich Results for WooCommerce products require correct Product JSON-LD with `name`, `description`, `image`, `sku`, `offers` (containing `price`, `priceCurrency`, `availability`, and `url`), and — for Review stars in SERPs — `aggregateRating` (with `ratingValue` and `reviewCount`). The audit validates Product schema in the server-rendered HTML of every crawled product page: checks required properties per Google\'s Product schema specification, verifies `availability` values use the correct `https://schema.org/` enum URIs (`InStock`, `OutOfStock`, `PreOrder`), confirms `price` matches the visible page price (schema-visible price discrepancies trigger Rich Results eligibility failures), and checks that `aggregateRating` is present and contains valid `ratingValue` (1.0–5.0) and `reviewCount` (≥1). A common gap: the Product schema is injected by an app or plugin via JavaScript — it renders client-side and is invisible to Googlebot\'s first-wave crawl. The audit specifically checks whether schema is in the raw server HTTP response vs the post-JavaScript DOM. Products with valid, server-rendered Product + aggregateRating schema are eligible for star-rating rich results in Google Search and Google Shopping — a significant CTR differentiator.

🔁

Faceted navigation and duplicate URL control

WooCommerce\'s shop, category, and archive pages generate a large number of filtered URL variants via query parameters: `?orderby=price`, `?orderby=popularity`, `?min_price=50&max_price=100`, `?filter_color=blue`, `?filter_size=L&filter_color=red`. Left uncontrolled, each filter combination creates a unique indexable URL with duplicate or near-duplicate content — wasting crawl budget and creating thin/duplicate pages that dilute site quality signals. The three management strategies: (1) Canonical tags — WooCommerce\'s default behaviour is to canonical most filtered views back to the base category URL; verify this is working correctly for your filter plugin (WooCommerce native filtering, WooCommerce Product Filter, or FacetWP handle canonicals differently). (2) `robots.txt` disallow — disallow specific parameter patterns (`Disallow: /*?orderby=`) to prevent crawling of sort-parameter URLs that have no unique ranking value. (3) `noindex` on filtered pages — for high-volume filter combinations with meaningful content (e.g., "blue running shoes" as a product attribute) that have real search demand, consider creating dedicated category pages rather than relying on filter URLs. The audit detects parameter-variant URLs in the crawled page set and checks their canonical implementation.

📂

Category page depth and content coverage

WooCommerce product categories create URLs at `/product-category/category-slug/` with optional sub-categories at `/product-category/parent/child/`. Category pages are the most important ranking pages for commercial queries — they rank for "[category name] for sale" and "[product type] online" queries. Common SEO gaps: category pages with no editorial description content beyond the product grid (thin content — add 150–300 word unique descriptions targeting the category\'s commercial queries); deeply nested categories at depth 4+ clicks from the homepage (excessive crawl depth — flatten the hierarchy or add breadcrumb navigation); WooCommerce\'s parent category at `/product-category/shoes/` canonicalising to a sub-category URL incorrectly (verify each category level has a self-referential canonical); category pages for collections with only 1–2 products (thin content with insufficient product diversity for the claimed category scope). The audit checks category page content length, canonical implementation per level, and crawl depth from the homepage.

🔗

Internal linking between products and categories

WooCommerce creates breadcrumb navigation from product to category (product → sub-category → parent category → shop) but doesn\'t automatically create cross-product or cross-category internal links beyond breadcrumbs. Key internal linking opportunities: "Frequently bought together" and "Related products" widgets (WooCommerce includes basic related products; for better control, the YITH WooCommerce Frequently Bought Together plugin links products within the same category); category description cross-links (link to related categories in the category\'s HTML description — "Also see our running socks →"); product description links (product pages should reference related products with anchor text matching how customers describe the related item). BreadcrumbList JSON-LD on product pages should reflect the correct category hierarchy: `Home → Category → Sub-category → Product`. Most WooCommerce SEO plugins generate this automatically — verify it\'s in the server-rendered HTML and the `item` URLs in the schema match the canonical URLs of each level. The audit checks internal link density per page, orphan pages (no internal links pointing to them), and BreadcrumbList schema validity.

Core Web Vitals for WooCommerce

WooCommerce stores face specific Core Web Vitals challenges: **LCP** — the product hero image is almost always the LCP element on product pages. Ensure it has `fetchpriority="high"` in the theme template and is served in WebP format from a CDN. Use the WP Smush or Imagify plugin for automatic WebP conversion and compression. **INP** — WooCommerce adds significant JavaScript for cart functionality, add-to-cart AJAX, mini-cart, and the checkout. WooCommerce\'s own scripts are relatively optimised, but plugin-added scripts (live chat, popup apps, loyalty programmes, review apps) compound INP issues. Use WP Rocket or Perfmatters to delay non-critical JavaScript until user interaction. **CLS** — WooCommerce product images without explicit dimensions cause CLS; ensure your theme\'s `woocommerce_single_product_image_thumbnail_html` filter preserves width and height attributes. Promotional banners injected by plugin apps after initial page load are another common CLS source — lazy-load or size-reserve these banners. The audit uses real CrUX field data to score LCP, INP, and CLS against Google\'s thresholds (Good/Needs Improvement/Poor) with WooCommerce-specific fix recommendations.

🧠

AI visibility for WooCommerce stores

Serve `llms.txt` at the WordPress root (`/llms.txt`) — this is simply a static file that can be added to the WordPress root directory or served via a custom route. For WooCommerce product pages: FAQPage JSON-LD can be added to product pages by including a Q&A section in the product description and outputting the corresponding JSON-LD schema in the product template. Most customers have the same questions per product category — create FAQ schema covering "Is this in stock?", "What is the return policy?", "How long does shipping take?", and product-specific questions. For product category pages: a category description structured with question-format H2 headings ("What to look for in [category name]", "Which [product type] is right for me?") contributes to the question-heading ratio signal and makes the content extractable for AI search citations. The audit checks all five AI visibility signals — llms.txt presence, AI crawler access in robots.txt, FAQPage/HowTo schema in server-rendered HTML, question-heading ratio (≥20%), and content chunkability (avg section ≤400w) — with WooCommerce plugin and template examples for each fix.

HOW IT WORKS

Audit your WooCommerce store in 60 seconds

  1. Enter your WooCommerce store URL. No admin credentials, plugin access, or API keys needed — the audit crawls the public HTTP output as Googlebot would. Works with any WooCommerce theme and any WordPress SEO plugin configuration.
  2. We crawl and analyse. The engine detects Product schema in the server-rendered HTML (not client-side), validates aggregateRating structure, checks filter URL canonical patterns, measures category page content depth, validates BreadcrumbList schema, measures CrUX Core Web Vitals from real Chrome user data, and evaluates all five AI visibility signals.
  3. You get a prioritised report. WooCommerce-specific issues first — Product schema gaps, aggregateRating missing or client-side rendered, faceted navigation duplicate URLs, out-of-stock availability schema, category thin content — then general SEO, each with Rank Math settings paths, AIOSEO WooCommerce module configuration, and WordPress template code for the fix.

FAQ

Questions about the WooCommerce SEO audit

Does WooCommerce handle SEO automatically?

WooCommerce itself handles a minimal set of SEO basics: it creates URLs from product slugs and category slugs, and the standard WordPress sitemap (via an SEO plugin) includes WooCommerce products and categories. However, WooCommerce doesn\'t automatically generate Product schema with aggregateRating, doesn\'t handle faceted navigation duplicate URLs, and doesn\'t add Article JSON-LD to product descriptions. A WordPress SEO plugin (Rank Math, Yoast WooCommerce SEO add-on, or AIOSEO) adds the critical layer: Product schema, category breadcrumbs, and sitemap configuration for WooCommerce content types. Rank Math Free and AIOSEO (Basic tier with WooCommerce module) include automatic Product schema — outputting name, description, image, price, availability, and SKU in JSON-LD — which is required for Google\'s shopping rich results and influences product ranking signals.

How do I add review stars (aggregateRating) to WooCommerce product schema?

WooCommerce\'s native reviews are stored in the WordPress database. To output `aggregateRating` in Product JSON-LD: (1) Use a plugin that reads WooCommerce reviews and injects aggregateRating into the Product schema — Rank Math reads native WooCommerce ratings and includes aggregateRating automatically when reviews are enabled on the product. AIOSEO Pro and Yoast WooCommerce SEO also support aggregateRating from native reviews. (2) Use a third-party reviews platform (Judge.me, Stamped.io, Okendo, Yotpo) — these platforms provide their own schema output modules that inject aggregateRating into the product page HTML. After adding aggregateRating, verify it\'s in the server-rendered HTML (not rendered by client-side JavaScript) using Google\'s Rich Results Test or by checking your DeepSEOAnalysis audit report\'s structured data section.

How should I handle out-of-stock products for SEO?

The best approach depends on whether the product will return to stock: **Temporarily out of stock (will restock)**: keep the product page live at the same URL, update the schema `availability` from `InStock` to `OutOfStock` (`"availability": "https://schema.org/OutOfStock"`), and consider adding a back-in-stock notification form. The page retains its backlinks, internal links, and ranking history. **Permanently discontinued**: redirect with 301 to the most relevant category page or the nearest equivalent product. Do not 404 the page immediately if it has backlinks or GSC traffic — preserve the link equity via redirect. **Seasonal products**: use `discontinued` availability in schema or temporarily noindex the product page during the off-season, then re-index when the product returns.

Is the WooCommerce SEO audit free?

Yes. The complete audit is free with no signup and no email gate. Paid plans add saved history, scheduled monitoring, larger crawls (up to 1,000 pages), and agency workflows.