Open Graph price and availability tags that say "undefined"
SuiteCommerce fills its Open Graph product tags by reading microdata from the rendered product page: og:price:currency from [itemprop="priceCurrency"], og:availability from [itemprop="availability"]. A theme built for JSON-LD has no microdata, so those tags publish the literal string "undefined".
Updated · By the SuiteAnalytics team
What we detect
Product pages whose og:price:currency or og:availability value is "undefined". These are the product fields Facebook’s shopping surfaces read; most other link previews ignore them — but the same mapping produces the rest of the card.
Where the values come from
The mapping lives in core (metaTagMappingOg). Each tag has a selector: the title reads [itemprop="name"], the description [data-type="social-description"] or [itemprop="description"], the image [data-type="social-image"] or [itemprop="image"]. The data-type hooks let a JSON-LD theme feed the image and the description; price, currency and availability have no such hook.
How to fix it
- Decide which source is authoritative for your theme: JSON-LD or microdata.
- If JSON-LD: override
metaTagMappingOgfrom an extension so these tags read the item model instead ofitempropselectors. - If microdata: add the
itempropattributes for price, currency and availability to the product page templates. - Re-crawl and confirm
og:price:currencycarries the currency code.