Skip to content
Lexiik
ecommerce

Product Schema: Schema.org markup for e-commerce product pages

Last updated : April 12, 2026

Product Schema is the Schema.org markup type specifically designed for product pages in online stores. When correctly implemented in JSON-LD, it enables Google to display price, availability, average rating, and review stars directly beneath your page title in search results — known as rich snippets. These visual enhancements significantly boost click-through rate (CTR) and pre-qualify incoming traffic before the click ever happens.

Required and recommended properties

Google distinguishes between required properties (without which rich snippets won't appear) and recommended properties (which enrich the display). For the Product type, required properties are: name (product name) and at least one valid offer via the offers property. Strongly recommended properties include: image (URL of the main image, ideally high resolution), description (product descriptive text), sku (internal reference), and brand (brand name via a Brand object).

The Offers property: price, availability, and currency

The offers property is central to e-commerce rich snippets. It encapsulates an Offer object (or AggregateOffer for multiple sellers) with the fields: price (numeric price without currency symbol, e.g. 29.90), priceCurrency (ISO 4217 code, e.g. USD), availability (Schema.org URL: https://schema.org/InStock, OutOfStock, or PreOrder), and priceValidUntil (price expiry date in ISO 8601 format, e.g. 2026-12-31). Google requires that the price in the markup exactly matches the price displayed on the page — any discrepancy can result in rich snippet removal.

Markup and page must match

Google penalizes pages where the price or availability in structured data does not match what is displayed on the page. Check consistency regularly, especially during price changes, promotions, or stock-outs.

AggregateRating: stars in Google search results

The aggregateRating property enables star ratings to appear in Google SERPs. It contains ratingValue (average rating, e.g. 4.7), bestRating (maximum rating, typically 5), worstRating (minimum rating, typically 1), and reviewCount (number of reviews). Stars are one of the most effective rich snippets for improving CTR — industry studies estimate a gain of 15 to 30% at equivalent positions. Important: Google only accepts reviews collected independently and with purchase verification; self-assessments are prohibited.

JSON-LD implementation example

Google recommends JSON-LD format inserted in a script tag of type application/ld+json, placed in the head or body of the page. A minimal valid example for a product page includes: @context schema.org, @type Product, name, image, description, sku, brand with @type Brand and name, offers with @type Offer, price, priceCurrency, availability, and priceValidUntil, plus aggregateRating with ratingValue, bestRating, and reviewCount. This JSON block is invisible to users but fully readable by Google.

Test with Rich Results Test

Google's Rich Results Test tool (search.google.com/test/rich-results) lets you validate your Product Schema markup in real time. It identifies missing properties, format errors, and indicates whether the page is eligible for rich snippets. Use it after every markup change.

Which rich results does Product Schema enable?

  • Price and currency displayed below the title in Google results
  • Availability (In stock / Out of stock / Pre-order) visible in SERPs
  • Star ratings and review count (via aggregateRating)
  • Product image in certain contexts (Google Shopping, Google Images)
  • Enhanced results in Google Lens for product images

Implementing Product Schema on PrestaShop

PrestaShop has generated basic Schema.org markup natively since version 1.7, but this markup is often incomplete: incorrectly formatted price (comma instead of decimal point), missing availability, aggregateRating absent even when reviews exist. For complete, compliant markup, two approaches are available: use a dedicated SEO module that automatically generates complete JSON-LD from PrestaShop product data, or modify the product page template (product.tpl) to inject JSON-LD via a theme override.

Google Search Console displays detected errors on your product pages in the Structured Data section. This is the reference dashboard for monitoring the health of your markup across your entire catalog, identifying products with recurring errors, and measuring the impact on rich snippet impressions and clicks.