How to fix lifecycle oos schema not updated on Shopify
Update the `offers.availability` value in your Product structured data from `InStock` to `OutOfStock` (or `PreOrder`) whenever a product sells out, so Google's records always match your actual inventory.
Steps for Shopify
- Shopify's default themes (Dawn and most modern themes) generate Product schema dynamically from the `product` Liquid object, so availability should update automatically when inventory hits zero — but only if the theme's schema template is using `product.available` correctly.
- In your Shopify admin, go to Online Store → Themes → (your active theme) → Actions → Edit Code.
- Open `sections/main-product.liquid` (or `templates/product.json` / `templates/product.liquid` depending on your theme). Search for `schema.org/InStock` or `availability`.
- The availability line should read: `"availability" : "{{ product.available | json }}"` — but the correct pattern is a conditional: if `product.available` output `https://schema.org/InStock`, else `https://schema.org/OutOfStock`.
- Replace any hardcoded `https://schema.org/InStock` string with the Liquid conditional shown in the code snippet below.
- Save the file, then verify with Google's Rich Results Test on a sold-out product URL.
What is lifecycle oos schema not updated?
Every product page on your store can include hidden structured data (called "Product schema" or "JSON-LD") that tells Google key facts about your item — its price, currency, and whether it is in stock. One field in that data, `offers.availability`, uses a standard vocabulary to signal stock status: `https://schema.org/InStock`, `https://schema.org/OutOfStock`, or `https://schema.org/PreOrder`. When a product sells out but this field is never updated, the schema keeps saying "InStock" even though the real page says "Sold Out." Google sees the contradiction and flags it as misleading data.
Google uses Product schema to power free Shopping listings and rich results. If Google detects that your structured data claims a product is "InStock" when it is actually sold out, it will disapprove those listings — meaning you lose free traffic from Google Shopping for every affected product. Repeated or widespread mismatches can also reduce Google's overall trust in your site's structured data, dragging down the rich-result eligibility of products that genuinely are in stock. Fixing stale availability data keeps your Shopping listings live, protects your click-through rates, and ensures customers who land on a product page aren't misled — reducing bounce rate and potential complaints.
See the complete Lifecycle oos schema not updated guide for every platform and the full background.
Not sure if your Shopify store has this?
Run a free SEOLZ scan — we’ll find lifecycle oos schema not updated and every other issue across your whole site.
Scan my site free