AI Web Checkby noviKEY
Menu

Technical guide · Standard or specification

Schema.org Product and Offer for AI-commerce

How to describe products, offers, price, currency, availability, identifiers, and variants without creating a machine-readable version that conflicts with the visible product page.

Published
Updated

Scope: this guide explains a technical signal observed by AI Web Check. It does not claim that the signal causes ranking, indexing, citation or inclusion in AI answers.

Product is the entity; Offer is the commercial proposal

Product represents the product or service as an entity. Offer represents a concrete commercial offer, such as selling that product at a particular price and availability state. The relationship is commonly expressed through Product.offers.

Consistency matters more than markup volume: title, price, currency, availability, identifiers, and canonical URL should describe the same thing the user sees.

What AI Web Check evaluates

AI-commerce checks run only after a commerce context is confirmed. On a bounded product sample, the service looks for Product or ProductGroup, Offer or AggregateOffer, core fields, price and currency, availability, brand, identifiers, canonical URLs, and variant signals.

Where a comparison is unambiguous, selected visible HTML values are compared with JSON-LD. Raw prices, product names, SKU or GTIN values, and full markup are not stored in aggregate metrics.

Minimal example

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Device",
  "sku": "SKU-123",
  "offers": {
    "@type": "Offer",
    "price": "199.00",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Common failure modes

  • JSON-LD price is updated less often than the visible price.
  • priceCurrency is missing or conflicts with the displayed currency.
  • availability remains InStock after the product is unavailable.
  • One Product node is reused for multiple variants without clear SKU, GTIN, or canonical mapping.
  • Markup describes a product that is not actually present in the primary page content.