Product JSON-LD Schema Template
Product structured data (JSON-LD using Schema.org/Product) enables Google to display rich results in search including star ratings, price, availability, and sale pricing directly in search results — without users clicking through to your page. These rich results have significantly higher click-through rates than standard blue links: products with visible star ratings in search results consistently see 15–30% higher CTR than equivalent listings without them.
The most valuable rich result features for product pages are star ratings and review count (from AggregateRating), current price and original price for sale items (from Offer), and availability status (InStock, OutOfStock, PreOrder). Google uses these to build the product listing that appears in Shopping results and Knowledge Panels, and they can also appear as rich snippets beneath your organic search result.
Required fields that Google validates strictly: name (the product name), offers with at minimum price and priceCurrency, and either a complete AggregateRating or a Review array. The availability field must use Schema.org URIs: https://schema.org/InStock, not just "InStock". Price must be a decimal number, not a formatted string — use "29.99" not "$29.99". The pricePriceValidUntil field should be set if you have a promotional price; without it, Google may display an outdated price in rich results.
Brand is required for products sold by resellers and strongly recommended for all products. Use a brand object with @type: "Brand" and a name property. For products with GTINs (UPC, EAN, ISBN), include the gtin field — this helps Google match your product to its product knowledge graph and display your listing alongside competitor comparisons.
Image quality requirements for product rich results: at minimum 50,000 pixels total (width × height), aspect ratios between 1:1 and 4:3 or 16:9, PNG or JPEG format. Hosting images on your own domain rather than a CDN with generic domains improves attribution in rich results.
The PriceSpecification object handles complex pricing scenarios: per-unit pricing, tiered pricing, and VAT-inclusive vs. VAT-exclusive pricing. For markets where prices must be displayed with tax included (most EU countries), use the priceSpecification object with valueAddedTaxIncluded set to true.
Template Preview
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Product Name",
"description": "Product description here.",
"image": "https://example.com/product-image.jpg",
"brand": {
"@type": "Brand",
"name": "Brand Name"
},
"sku": "SKU-12345",
"gtin": "0123456789012",
"offers": {
"@type": "Offer",
"url": "https://example.com/product",
"priceCurrency": "USD",
"price": "29.99",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"name": "Store Name"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "127"
}
}Customize this template with your own details using the free generator:
▸Open in GeneratorFAQ
- How do I test if my Product schema is valid?
- Use Google's Rich Results Test at search.google.com/test/rich-results — paste your URL or the HTML snippet containing the JSON-LD, and it shows exactly which rich result features are eligible and any validation errors. Also run the Schema.org validator at validator.schema.org for specification-level validation that is independent of Google's implementation. Fix all errors before expecting rich results to appear.
- How long does it take for product rich results to appear in search?
- Google needs to re-crawl and reindex your page after you add structured data. For established pages with frequent crawling, rich results can appear within a few days to two weeks. For new pages or sites with slow crawl rates, it can take weeks. Submit updated URLs to Google Search Console's URL Inspection tool and request re-indexing to accelerate the process.
- Can I add Product schema to a page that has multiple products?
- Each product should have its own Product schema object. For a category page or product listing page, you can include an array of Product objects or wrap them in an ItemList. However, Google's product rich results guidelines state that they are designed for individual product pages, not listing pages — product rich results typically only appear for pages dedicated to a single product.