The symptom
- Rich Results Test warning *Missing field "availability"*.
- Stock management is off, or stock is tracked by an external ERP that does not sync to WooCommerce.
Why it matters
Assistants answer "where can I buy X now?" — a product without availability: https://schema.org/InStock is treated as unknown and usually excluded. Google merchant listings require it.
WooCommerce writes availability only when stock status is set; plugins that render the price block via AJAX, or themes overriding the product template, can drop it.
How to check it yourself
- Rich Results Test → Offers →
availability. Values must be full URLs, e.g.https://schema.org/InStock,OutOfStock,PreOrder,BackOrder. - WooCommerce → Product → Inventory: is *Stock status* set on simple products and on each variation?
How to fix it
- Enable stock management (WooCommerce → Settings → Products → Inventory) or at least set a stock status per product and variation.
- Let your SEO plugin output availability; if you use custom schema, map: instock → InStock, outofstock → OutOfStock, onbackorder → BackOrder.
- For dropshipping or ERP-fed stock, schedule a sync so the schema value is never stale; Google penalises mismatches between schema, feed and page.