Product Schema for Product Pages: The Complete 2026 Guide

Product schema is a structured data vocabulary that describes a product's attributes directly on the page. When implemented on product pages, it enables...

Dilshad Akhtar
Dilshad Akhtar
Published: 24 June 2026
3 min read
TL;DRAI summary
  • Product schema is a structured data vocabulary that describes a product's attributes directly on the page.
  • Search engines rely on Product schema to extract pricing, availability, and offer details that would otherwise require complex HTML parsing.
  • The core properties for Product schema on product pages include: @type : Use Product .
  • Below is a complete JSON-LD block for a product page.
  • Inject the schema server-side using your CMS or product feed.
  • Validate every product page's schema with Google's Rich Results Test.
  • Google Search Central.

Product schema is a structured data vocabulary that describes a product's attributes directly on the page. When implemented on product pages, it enables rich results such as price display, availability badges, review stars, and shipping information in search snippets. This guide focuses...

Overview

Product schema is a structured data vocabulary that describes a product's attributes directly on the page. When implemented on product pages, it enables rich results such as price display, availability badges, review stars, and shipping information in search snippets. This guide focuses specifically on on-page Product schema markup for e-commerce product pages, distinguishing it from broader content schema strategies covered in other pillars.

Why Product Schema Matters On-Page

Search engines rely on Product schema to extract pricing, availability, and offer details that would otherwise require complex HTML parsing. Properly marked product pages are eligible for Google's product rich results, which display a prominent price badge and stock status directly in the SERP. This increases visibility and pre-qualifies clicks from users who see accurate pricing before visiting.

Google's merchant listing documentation confirms that Product schema is a recommended signal for surfacing in Shopping tab surfaces and organic rich results. Without it, your product pages compete on generic text snippets alone.

The Standard Properties

The core properties for Product schema on product pages include:

  • @type: Use Product.
  • name: The product title.
  • description: A clear product description (not the meta description).
  • image: One or more product image URLs.
  • sku or mpn: A unique product identifier.
  • brand: A Brand object with a name property.
  • offers: An Offer object with price, priceCurrency, availability, url, and itemCondition.
  • aggregateRating: Optional but recommended if you have user reviews.

Practical JSON-LD Example

Below is a complete JSON-LD block for a product page. Place it inside a <script type="application/ld+json"> tag.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Wireless Bluetooth Headphones Pro X1",
  "description": "Over-ear wireless headphones with active noise cancellation and 40-hour battery life.",
  "sku": "WBH-PRO-X1-BLK",
  "mpn": "WBH1001",
  "brand": {
    "@type": "Brand",
    "name": "AudioMax"
  },
  "image": [
    "https://example.com/images/headphones-pro-x1.jpg",
    "https://example.com/images/headphones-pro-x1-angle.jpg"
  ],
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/product/wireless-headphones-pro-x1",
    "priceCurrency": "USD",
    "price": "149.99",
    "priceValidUntil": "2026-12-31",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "0.00",
        "currency": "USD"
      }
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "238"
  }
}

On-Page Implementation Tips

Inject the schema server-side using your CMS or product feed. Dynamic population ensures that price changes, stock status updates, and new SKUs are reflected immediately. Use the offers array instead of a single Offer object if the product has multiple variants (size, color). Each variant should have its own price and availability.

Use the gtin property when available. Google prefers GTIN-8, GTIN-12 (UPC), GTIN-13 (EAN), or GTIN-14 for product identification. Including GTIN improves match rates in Shopping surfaces.

Audit Closing

Validate every product page's schema with Google's Rich Results Test. Confirm that offers.price is a string (not a number) to avoid floating-point truncation. Check that availability uses the full Schema.org URL (e.g., https://schema.org/InStock) rather than a shorthand string like InStock. Run a bulk validation on all product URLs using Schema.org's validator or a crawl tool. Ensure every product with a price has a valid offers block.

Citations

  1. Google Search Central. "Product structured data." https://developers.google.com/search/docs/appearance/structured-data/product
  2. Schema.org. "Product type definition." https://schema.org/Product
  3. Google Developers. "Rich results test." https://search.google.com/test/rich-results

Ready to Build Your Dream Website?

Let's discuss your project and create something amazing together.