Need the #1 SEO strategist and optimiser in Brisbane?Click here →

Product Schema Markup

12 min readLast reviewed: March 2025

Price, availability, reviews, and offers schema for rich results from product searches.

What Product Schema Does

Product schema tells Google about your products in a structured format. Instead of Googlebot parsing "Nike Air Zoom, $120, 4.6 stars" from HTML text, schema provides machine-readable data: name, price, currency, availability, rating count, review count, image URL. Google uses this data to display rich results in search and to feed Google Merchant Center for Shopping ads.

A product page with proper schema shows star ratings, price, and availability in the SERP snippet. A page without schema shows only the meta description. Click-through rate from rich snippets is 20-30% higher than plain text snippets. For e-commerce, this difference is massive.

Core Product Schema Properties

Minimum required properties for valid product schema: name, description, image, brand, offers (with price and priceCurrency). Without offers, your product does not show pricing in SERPs, reducing CTR.

Highly recommended properties: sku, aggregateRating (ratingValue and reviewCount), availability. The rating and review count are what convert clicks to purchases. A product showing "4.7 out of 5 stars (428 reviews)" outperforms one with no rating signal.

Availability schema is critical. Mark products as "InStock", "OutOfStock", or "PreOrder" with expected delivery dates. Google uses this to show "In stock" or "Out of stock" labels in SERPs. If your schema says "InStock" but the product sells out, users click through to find it unavailable — increasing bounce rate and lowering CTR for future impressions.

Structured Data Implementation

Product schema is typically implemented using JSON-LD in a <script> tag in the page head. This approach is preferred because it does not interfere with visible HTML and is easy to update dynamically.

Example minimal product schema:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Red Running Shoes for Women",
  "description": "Lightweight running shoes designed for long-distance...",
  "brand": {
    "@type": "Brand",
    "name": "Nike"
  },
  "image": "https://example.com/red-shoes.jpg",
  "offers": {
    "@type": "Offer",
    "price": "120.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "428"
  },
  "sku": "NIKE-RUN-RED-W-7"
}

Validate your schema using Google's Rich Results Test tool. If your JSON-LD is malformed, Google will not parse it and your rich results will not display.

Availability and Merchant Center Integration

Linking Google Search Console to Google Merchant Center enables free product listings in Google Shopping (for some product categories). Merchant Center crawls your website looking for product schema. If schema is missing or incorrect, products cannot be listed.

Availability schema is especially important for Merchant Center. If Merchant Center cannot determine whether a product is in stock, it will not show it in Shopping results. Keep your schema and your inventory database in sync. When a product sells out, immediately update the availability property to "OutOfStock".

Common Schema Mistakes

MistakeImpactFix
Missing offer priceNo pricing in SERP, lower CTRAlways include offers with price and priceCurrency
Static star rating for all productsFake reviews, user distrust, possible manual actionGenerate ratings only from verified purchases
Wrong availability statusUsers click expecting stock, find it outSync schema availability with inventory in real-time
Missing aggregateRatingNo trust signals in SERP, lower CTRImplement review collection and expose ratingValue and reviewCount
Image URL inaccessible or brokenImage not indexed, no image resultsEnsure all image URLs are public and return HTTP 200
Duplicate schema on category pagesGoogle confused about page type, indexation issuesUse Product schema only on product pages, CollectionPage on categories

Review Schema and User Trust

Review schema (using Review or AggregateRating) enables star display in SERPs. But reviews must be authentic. Google specifically warns against fake, paid, or incentivised reviews. Users rate content based on star display — if the displayed rating is inflated, conversion rates actually decline when users discover the deception.

Best practice: collect reviews through post-purchase email. Reward reviews with small discounts or loyalty points (standard retail practice) but never require positive reviews. Google allows "incentivised" reviews if they are clearly marked as such, but market research shows users trust uncompensated reviews more.

Monitor your review rating trends. If a product suddenly jumps from 3.2 stars to 4.8 stars in one week, Google's systems flag this as suspicious. Organic review growth (0.1-0.2 star improvement per month) is credible. Sudden spikes suggest fraud.

Penalty Risk
Google has penalised sites with fake reviews by removing them from search results entirely. This is not a fine or warning — it is removal. The cost is far higher than the short-term CTR gain from inflated ratings. Authenticity is not negotiable.

Scaling Schema Implementation

With thousands of products, manual schema creation is not viable. Schema must be generated dynamically from your product database. When a product is added or updated, schema is generated automatically.

For e-commerce platforms (Shopify, WooCommerce, Magento), schema generation is usually handled by the platform or an app. Verify that your platform generates valid JSON-LD for all products. Use Google's Rich Results Test to validate a sample of your product pages.

For custom-built sites, your development team should implement schema generation at the product rendering level. When the product page template renders, it should output correct schema JSON-LD based on the product's database values.

Testing and Monitoring

Google's Rich Results Test (search.google.com/test/rich-results) validates your schema and shows how it will display in search results. Test a sample of product pages from different categories and price ranges. If some pages fail validation, identify the pattern (e.g., "all products without reviews fail") and fix it systematically.

Monitor GSC for structured data enhancements. This section shows how many product pages have valid schema and how Google is displaying them. If the number of "detected" vs "valid" rich results diverges, you have a validation issue.

Implementation Priority
If you have 10,000 products with zero schema, implementing schema on your top 500 best-sellers and highest-margin products first can generate measurable CTR improvements within weeks. Then systematise the process for remaining products. Do not wait for perfection across all products before launching.

How This Connects

Product schema is foundational to e-commerce SEO. It enables rich results (improving CTR), feeds Google Merchant Center (enabling Shopping ads), and provides Google with unambiguous product information. Without it, you are operating with one hand tied behind your back.