Product Schema
Product Schema (structured product data) is markup based on the Schema.org standard that helps search engines understand information about a product: its name, price, availability, rating, images, reviews, and other characteristics.
This markup allows Google, Yandex, and other search engines to display products in rich results (Rich Snippets) — directly in search results, including data on price, rating, and availability.
What is Product Schema
Product Schema is a structured data format that tells search engines that a page contains information about a specific product. Thanks to this markup, the search engine can display the product in search results with additional elements — price, star rating, availability, and reviews.
Example:
Apple iPhone 15 Pro Max
4.9 — 243 reviews
Price: from 145,000 ₽
In Stock
Such a snippet looks much more attractive and increases CTR by 20–50%.
Why Product Schema is Needed
- Increases click-through rate (CTR) — the product card stands out in search.
- Speeds up catalog indexing.
- Increases trust in the site — users see real data: price, rating, reviews.
- Helps search engines better understand the store’s structure.
- May appear in the Google Shopping block or Yandex.Market.
Example of Product Schema Markup (JSON-LD)
Google recommends using the JSON-LD format, placed in the <head> or before the closing </body> tag.
html
<script type=”application/ld+json”>
{
“@context”: “https://schema.org/”,
“@type”: “Product”,
“name”: “Apple iPhone 15 Pro Max 256GB”,
“image”: [
“https://example.com/images/iphone15pro.jpg”
],
“description”: “Apple iPhone 15 Pro Max smartphone with a 6.7-inch display, 256 GB storage, and A17 Pro processor.”,
“sku”: “IPH15PM256”,
“brand”: {
“@type”: “Brand”,
“name”: “Apple”
},
“offers”: {
“@type”: “Offer”,
“url”: “https://example.com/iphone15promax”,
“priceCurrency”: “RUB”,
“price”: “145000”,
“availability”: “https://schema.org/InStock”,
“itemCondition”: “https://schema.org/NewCondition”
},
“aggregateRating”: {
“@type”: “AggregateRating”,
“ratingValue”: “4.9”,
“reviewCount”: “243”
}
}
</script>
This example includes basic product information, price, availability, and rating — everything needed to display a rich snippet in search.
Key Elements of Product Schema
| Element | Purpose | Example |
| @type | Defines the data type | “Product” |
| name | Product name | “iPhone 15 Pro Max” |
| image | Product images | “https://example.com/photo.jpg” |
| description | Product description | “Apple smartphone…” |
| brand | Manufacturer | “Apple” |
| sku | SKU / Product code | “IPH15PM256” |
| offers | Offer information (price, availability, currency) | See example above |
| aggregateRating | Average rating and review count | “ratingValue”: “4.9” |
| review | Individual reviews (optional) | “review”: {…} |
Markup for the offers block (price and availability)
The offers section is one of the most important elements. It shows the search engine that the product is for sale and available for order.
Example:
json
“offers”: {
“@type”: “Offer”,
“priceCurrency”: “RUB”,
“price”: “145000”,
“availability”: “https://schema.org/InStock”,
“url”: “https://example.com/iphone15promax”,
“itemCondition”: “https://schema.org/NewCondition”
}
Availability status options:
- https://schema.org/InStock — in stock
- https://schema.org/OutOfStock — out of stock
- https://schema.org/PreOrder — pre-order
- https://schema.org/LimitedAvailability — limited availability
Markup for ratings and reviews
To increase trust, you can add customer ratings.
json
“aggregateRating”: {
“@type”: “AggregateRating”,
“ratingValue”: “4.8”,
“reviewCount”: “178”
}
Or add one or more reviews:
json
“review”: {
“@type”: “Review”,
“author”: {
“@type”: “Person”,
“name”: “Irina”
},
“reviewRating”: {
“@type”: “Rating”,
“ratingValue”: “5”,
“bestRating”: “5”
},
“reviewBody”: “Excellent phone, the camera is impressive!”
}
Important: Google displays reviews in snippets only if they are published on the specific product’s page, not aggregated from external sources.
Product Schema for multiple products
If a page contains several products (e.g., a catalog category), it is better to use multiple Product objects within a single JSON-LD block.
json
{
“@context”: “https://schema.org”,
“@graph”: [
{
“@type”: “Product”,
“name”: “MacBook Air 15”,
“price”: “189000”
},
{
“@type”: “Product”,
“name”: “MacBook Pro 16”,
“price”: “249000”
}
]
}
Checking markup correctness
To check the structure, you can use the following tools:
- Google Rich Results Test — checks if the product will appear as a rich snippet.
- Schema Markup Validator — validator from Schema.org.
- Yandex Microformat Checker — check for Russian-language sites.
Best Practices for Product Schema
- Add only real data that matches what is displayed on the page.
- Update price and availability — discrepancies lead to the loss of the rich snippet.
- Mark up one specific product on the page, not a category.
- Use structured reviews only for products, not for companies.
- Add multiple images — this increases CTR.
Example of visual effect
- Before markup:
Apple iPhone 15 Pro Max — specifications and price - After adding Product Schema:
Apple iPhone 15 Pro Max
4.9 — 243 reviews
Price: from 145,000 ₽
In Stock
CTR increases, and users more often click through to the page with detailed information.
Errors to Avoid
- Discrepancy between markup data and actual page content.
- Using Product Schema for categories or overviews.
- Outdated prices and availability.
- Duplicating identical Product markup on the same page.
Conclusion
Product Schema is a powerful SEO tool that helps your online store stand out in search results, increases trust, and improves click-through rates.
The markup tells search engines everything they need to know about your product:
- name and description,
- price and availability,
- reviews and rating,
- brand and SKU.
Free in the Telegram bot 