Product schema

On this page 7

Product schema is the Schema.org structured data type that describes a product on a web page, including its name, image, brand, identifiers, price, availability and reviews. In structured data and SEO, it is the markup that makes a page eligible for product rich results such as price, stock status and star ratings shown directly in search.

The markup does not change what visitors see. It translates information already on the page into a machine-readable vocabulary, usually as JSON-LD, so search engines can understand the offer precisely and match it to shopping queries with confidence.

How product schema describes an item

Product schema describes an item through a Product entity with nested entities for the offer, ratings and reviews. The Product holds stable facts about the item itself, while the nested Offer holds commercial facts that can change daily, such as price and availability.

This separation mirrors how commerce works. The same product can have several offers from different sellers or conditions, and Schema.org models this with AggregateOffer for a price range. Reviews attach to the Product, not to the Offer, because opinions concern the item rather than one seller.

The table lists the most important properties and their purpose.

PropertyContentPurpose
nameProduct nameIdentifies the item, required
imageOne or more image URLsVisual display in results
brandBrand entityDisambiguates similar products
gtin, mpn, skuGlobal and seller identifiersMatches the item across sites
offersOffer with price, priceCurrency, availabilityShows price and stock
aggregateRatingAverage rating and rating countEnables star ratings
reviewIndividual review entitiesSupports review snippets
Core properties of product schema

Rich result types enabled by product schema

Google distinguishes two families of product rich results that use the same vocabulary but serve different pages. Product snippets suit pages that review or describe products, while merchant listings suit pages where the product can actually be bought.

AspectProduct snippetsMerchant listings
Typical pageReview or comparison pageProduct page in a shop
Minimum requirementname plus review, rating or offername, image and an offer with price
Displayed informationRating, price, review detailsPrice, availability, shipping, returns
Key extra propertiespositiveNotes, negativeNotesshippingDetails, hasMerchantReturnPolicy
Search surfacesStandard resultsStandard results and shopping surfaces
Product snippets compared with merchant listings

Eligibility does not guarantee display. Search engines decide whether to show a rich result based on query, quality and trust, so valid markup is a necessary condition, not a promise.

The choice between the two families follows the page purpose. A retailer product page should aim for merchant listings with full offer details, whereas an independent review site should use product snippets with ratings and pros and cons, because it does not sell the item itself.

Product schema and neighboring structured data types

Product schema frequently appears alongside other Schema.org types on the same page. Knowing where each belongs avoids duplicated or conflicting entities, a common source of validation warnings.

TypeDescribesRelation to product schema
OfferTerms of sale for one sellerNested inside Product
ProductGroupFamily of variantsGroups Products by size or color with hasVariant
Review snippetRating and review markupOften embedded in Product
BreadcrumbListPosition in site hierarchySeparate entity on the same page
Organization schemaSeller or manufacturerCan be referenced as brand or seller
Article schemaEditorial contentUsed for buying guides, not single products
Related types and their relation to product schema

Variants deserve attention. A shirt sold in four sizes and three colors is best modeled as a ProductGroup with variesBy and individual Product variants, each with its own SKU and offer, rather than one Product with a confusing price range.

Implementing product schema correctly

Correct implementation means that every value in the markup matches the visible page and the data feed. Most e-commerce platforms generate product schema from the catalog, which keeps prices and stock synchronized, but templates still need review.

  • Prefer JSON-LD. It keeps markup separate from HTML and is the format search engines recommend; Microdata and RDFa remain valid alternatives.
  • Use ISO formats. Currency as a three-letter code such as USD and dates in ISO 8601.
  • Express availability with Schema.org values. Use InStock, OutOfStock or PreOrder rather than free text.
  • Add identifiers. A valid GTIN greatly improves product matching.
  • Validate twice. The Rich Results Test checks search eligibility, while the Schema Markup Validator checks vocabulary correctness.

Placement and rendering also matter. JSON-LD can sit in the head or the body, but it should be present in the initial HTML or reliably rendered by JavaScript, because markup injected late or only after user interaction may be missed. Shops that also submit a product data feed should keep feed and markup values identical, since search engines cross-check both sources.

Common product schema errors

Product schema errors usually stem from mismatches between markup and reality. Search engines compare structured data with page content and feeds, and inconsistent data can remove eligibility or, in serious cases, lead to a manual action for spammy structured data.

ErrorTypical causeFix
Price mismatchCached markup after a price changeGenerate markup from live catalog data
Missing offers or ratingTemplate outputs only name and imageAdd at least one required nested entity
Invisible reviewsRatings in markup but not on the pageMark up only reviews users can see
Markup on category pagesProduct type applied to listing pagesUse Product only on single-item pages
Wrong availabilityStock status not updatedSync availability with inventory
Errors, causes and fixes

Put simply

Product schema is a label written in a language search engines read. A product page already shows the name, price and reviews to people, and product schema repeats those facts in a tidy, standard format for machines.

Think of the barcode on a box in a store. Shoppers read the packaging, while the scanner reads the barcode to know exactly what the item is and what it costs. With product schema, a search engine can show the price and rating right in the results, which helps shoppers decide before they even click.

In practice

A small online shop selling coffee grinders has product pages with prices and customer reviews, but its search results show only a plain title and description. The developer adds JSON-LD product schema to the product template, with name, images, brand, GTIN, an Offer with price in USD and InStock availability, plus aggregateRating from the review system.

The Rich Results Test confirms eligibility for merchant listings and product snippets. After the pages are recrawled over the following weeks, several results begin to show price, stock status and star ratings. When a grinder later sells out, the catalog updates availability automatically, so the markup never advertises stock the shop does not have.