Product schema is missing price

Add an `offers` object with `price` and `priceCurrency` (and `availability`). Without them, the page isn't eligible for product rich results.

Why this happens

Google requires an offers block inside a Product schema to display product rich results. Without pricing data there is nothing to show in the price field of a rich snippet, so the page is ineligible for that feature. The most common causes are a Product schema that only sets name and description without an offers object, or a CMS that does not map the price field to the structured-data output.

Check your structured data

Run the free JSON-LD Validator to catch missing required fields and rich-result issues.

JSON-LD Validator

The offers fields you need

Add an offers object (type Offer) with at least these three properties:

  • price — the numeric price (e.g. "29.99")
  • priceCurrency — ISO 4217 currency code (e.g. "USD")
  • availability — a schema.org value (e.g. "https://schema.org/InStock")

How to check

Paste your URL into the JSON-LD Validator. It shows whether your Product schema contains an offers block and flags which required fields are absent.

How to fix

Add a complete offers block to your Product JSON-LD:

JSON
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Product",
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}

Re-validate after adding it. See JSON-LD for product pages for a full guide to Product structured data.

Want to maintain this across every route?

Linkraft is coming soon. Use the free tools today, and join the waitlist for route-level fixes, monitoring, and reports.

By joining the waitlist, you agree to receive launch updates from Linkraft. You can unsubscribe at any time.

No spam. Just launch updates and useful resources about metadata, schema, and link previews.