How to fix lifecycle oos schema not updated on Adobe Commerce (Magento)
Update the `offers.availability` field in your Product schema to `OutOfStock` (or `PreOrder`/`Discontinued`) whenever a product sells out, so Google's data matches your real inventory.
Steps for Adobe Commerce (Magento)
- Adobe Commerce (Magento) generates Product schema through its built-in structured data module or via an SEO extension. Go to Admin > Stores > Configuration > Catalog > Catalog > Storefront to review schema settings.
- If using the native schema output (Magento 2.3+), availability is derived from the product's stock status. Ensure the product's stock status is set to 'Out of Stock': go to Admin > Catalog > Products > edit the product > Quantity and Stock Status section > set 'Stock Status' to 'Out of Stock'.
- For bulk updates: Admin > Catalog > Products > filter by stock status > select affected products > Actions > Update Attributes > set 'Stock Status' to 'Out of Stock'.
- If you use a third-party SEO or schema extension (e.g. Magefan SEO Suite, Amasty SEO Toolkit): check the extension's configuration under Stores > Configuration > [Extension name] > Structured Data, and confirm it maps availability to the live stock status field rather than a static value.
- For custom themes or headless implementations, locate the schema template (typically in 'Magento_Catalog/templates/product/view/schema.phtml' or equivalent JSON-LD template) and verify the availability logic reads '$product->isAvailable()' or the equivalent stock status check.
- Clear the Magento cache (System > Cache Management > Flush Magento Cache) after any changes, then validate with Google's Rich Results Test.
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Example Product Name",
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "49.99",
"availability": "https://schema.org/OutOfStock",
"url": "https://example.com/products/example-product"
}
}What is lifecycle oos schema not updated?
Product schema (also called structured data or JSON-LD) is a block of machine-readable code embedded in your product pages that tells Google, Bing, and other search engines key details about your products — including price, condition, and availability. The `offers.availability` property specifically signals whether an item is in stock. When a product sells out but the schema still says `InStock`, there is a mismatch between what your code tells search engines and what shoppers actually see on the page.
Google uses your Product schema to power Shopping ads and rich results (the star ratings, prices, and availability labels in search). If Google detects that your schema claims a product is `InStock` when it clearly isn't, it can disapprove that product in Google Merchant Center, suppress your Shopping listings, or penalise your rich results — costing you paid and organic traffic. Beyond search engines, stale availability data erodes shopper trust: someone who clicks expecting an in-stock item and lands on a sold-out page is likely to bounce immediately and not return. Keeping schema in sync with real inventory protects your Shopping feed, your organic product rich results, and your conversion rate.
See the complete Lifecycle oos schema not updated guide for every platform and the full background.
Not sure if your Adobe Commerce (Magento) store has this?
Run a free SEOLZ audit — we’ll find lifecycle oos schema not updated and every other issue across your whole site.
Scan my site free