Ecommerce SEO structured data¶
Always-on rule for ecommerce-seo-structured-data · Source
- Emit one Product node that matches the visible product. Do not add a second Product JSON-LD block on a WooCommerce page that already prints one.
- Prefer the
woocommerce_structured_data_productfilter on WooCommerce. On a custom storefront, render JSON-LD in the server HTML. - Use a JSON number for
priceand an ISO 4217priceCurrency. Do not put currency symbols or Persian digits in the price. - A variant page marks up that variant's price, SKU, and availability. Do not mark a sold-out unit as
InStock. - Merchant listings need
name,image, and oneOfferwith a price greater than zero. Product snippets can useAggregateOfferfor a visible price range. - If both
offers.priceandpriceSpecificationare set, the offer price is the one Google uses. Keep it positive for a merchant listing. - Set
availabilityfrom the unit's stock status. Map WooCommerceonbackordertoBackOrder. - Keep
nameanddescriptionin the page language. Keephreflangand canonical URLs consistent for translated pages. - Run
scripts/check-product-jsonld.mjsfor themerchantorsnippetprofile before shipping the markup.