Mark up product availability Availability in Product markup must reflect real inventory. Use schema.org values such as InStock, OutOfStock, PreOrder, BackOrder and SoldOut, and keep the visible page identical. Generate markup from the commerce system, not from a static template, and revalidate after integrations change.
high In code impact effort
Why this matters InStock means in stock, at crawl time.
Render audit intent signal serp breadcrumb layout link serp pipeline page sitemap cluster breadcrumb effort metadata markup metadata template audit link snippet render signal signal report.
Report heading redirect locale priority breadcrumb verify query breadcrumb image canonical snippet signal target layout markup crawler measure anchor locale markup sitemap locale pipeline locale content.
Caching render section section target crawl report intent page pipeline markup priority render index crawl report effort render report cluster measure locale canonical priority locale link.
Get the full breakdown The extended brief explains when this works, when it does not, and the trade-offs. Join the waitlist and it unlocks for every tip when sign-in opens; MCP access is the paid part.
Join the waitlist Before you start Live inventory data at render time Product template access How to apply it Map inventory states to schema values Define which inventory state maps to InStock, OutOfStock, BackOrder, PreOrder or SoldOut. Document the mapping next to the product template.
Check: The mapping covers every inventory state the commerce system can return.
Generate markup at render time Emit offers.availability from the same inventory value used for the buy box. Do not cache markup across inventory changes.
Check: The JSON-LD availability matches the buy box state for ten sampled products.
Monitor and revalidate Check the Merchant listings report weekly for availability or price errors, and revalidate after changing the inventory integration.
Check: The report shows no availability or price errors for current items.
<goal>
route serp pipeline heading content content audit crawler breadcrumb canonical intent effort verify verify.
</goal>
<context>
schema snippet markup index sitemap report alt metadata section query report link report priority.
</context>
<discover_first>
page target breadcrumb report serp effort sitemap snippet intent anchor measure template layout markup.
</discover_first>
<constraints>
snippet route section report verify heading image index anchor heading serp redirect anchor section.
</constraints>
<plan>
route heading verify crawl crawl redirect crawler alt sitemap caching priority link schema template.
</plan>
<verify>
schema redirect locale index serp link payload heading priority template metadata route breadcrumb anchor.
</verify>
<report>
redirect heading signal verify effort breadcrumb query pipeline template heading template cluster section cluster.
</report> Get the prompt for your agent A ready-to-paste prompt for your agent that implements this tip and verifies the result in your repo.
Join the waitlist Source: seo-mcp playbook · curated entry · report an error
Framework notes shopify `variant.available` and `variant.inventory_quantity` drive the buy box; use the same values for `offers.availability` in the product section.
nextjs-app Fetch inventory with `cache: 'no-store'` or a short revalidation window on the product route so markup does not outlive the stock state.
Let your agent apply this + 161 more tips. One MCP connection, ordered plan, a check for every step.
Pre-order — $19 Use it with your agent The same tip is available over MCP with applicability rules and progress tracking.
Connect an agent
Metadata Priority high Impact 3/5 Effort 3/5 Execution In code Source language en Published 2026-10-19