Invalid value [availability]
Invalid value [availability] means the availability value could not be read as one of Google’s supported values. The fix guide is How to fix: Invalid product availability. Feed values are `in_stock`, `out_of_stock`, `preorder`, and `backorder`, documented in the product data specification. On the page, schema.org ItemAvailability URLs such as `https://schema.org/InStock` and `https://schema.org/OutOfStock` are the values Google maps. A word the theme invented, or a truncated URL, does not map.
Shopify causes
The theme prints a label instead of a schema.org URL. Values such as `available`, `sold out`, `pending`, or `yes` show up in JSON-LD when a custom section builds the offer by hand.
The availability string is cut off. A liquid filter or a JSON escape can emit `https://schema.org/InSto` or `InStock` without the schema.org prefix. Google’s mapping expects the ItemAvailability URL.
Two offers disagree. One block says InStock and a microdata tag says a custom string. The crawler can take the one that does not map.
Invalid JSON hides the real value. If the JSON-LD block fails to parse, the crawler may fall through to a partial microdata tag. Validate the script first. See Missing microdata for condition.
What to change
- Search the product template for `availability` and replace custom strings with `https://schema.org/InStock`, `https://schema.org/OutOfStock`, or `https://schema.org/PreOrder`.
- Match that value to the variant inventory policy, using the same rules as Inaccurate availability.
- Remove a second offer that uses a different availability string.
- If the feed itself contains `pending` or another unsupported word, change the feed value to one of the four supported availability values. This app does not edit the feed.
- Recrawl the variant URL and confirm the page source shows one availability URL.
How PageCop detects it
The app parses JSON-LD and microdata offers. An availability string that is not a recognized schema.org InStock, OutOfStock, or PreOrder value is filed as Invalid value [availability], and the evidence includes the string from the page. A page with no offer at all is missing structured data, not an invalid value.
FAQ
Is PreOrder valid?
The app treats `https://schema.org/PreOrder` as a recognized page value. Google’s feed still needs `preorder` or `backorder` plus an availability date when you use those states. A page that says PreOrder while the feed says `in_stock` can still become Inaccurate availability.
Can the add-to-cart button text be the availability value?
No. Button text is a hint. Google’s structured-data mapping uses the offer availability. Put the schema.org URL in the offer.