Skip to main content
Rich product search results showing star ratings and price information
Module 17·Lesson 4 of 12·56 min read

Product schema, Offer schema and rich product results

Rich product results with price, availability and star ratings dramatically increase click-through rates. This lesson gives you full Product and Offer schema implementations specific to Wix Stores.

What you will learn in this Wix SEO lesson

  • Product schema with all Google-recommended properties
  • Offer schema: price, priceCurrency, availability, priceValidUntil
  • AggregateRating schema for product reviews on Wix
  • Handling product variants in schema markup
  • Testing product schema with Rich Results Test

Product schema markup is the structured data that tells Google exactly what your product is, how much it costs, whether it is in stock, and what customers think of it. When implemented correctly, it unlocks rich product results in Google Search: star ratings, price ranges, availability badges, and review counts displayed directly in the search listing. These rich results dramatically increase click-through rates and make your listings stand out against competitors who lack structured data. This comprehensive lesson covers the complete Product schema specification, Offer and AggregateOffer markup, variant handling, AggregateRating implementation, and the full process for adding, validating, and monitoring schema on your Wix Store.

How-to infographic showing eCommerce SEO techniques for Wix Stores including site architecture, product page optimisation, Google Shopping, product schema, category pages, and site speed
eCommerce SEO techniques tailored to Wix Stores help your products rank higher, attract more qualified traffic, and convert more visitors into customers.

What Product Schema Achieves in Search Results

Without product schema, your search listing shows a plain blue link with a title and meta description. With product schema, Google can display rich snippets that include a star rating, the number of reviews, the price, availability status, and even shipping information. Studies consistently show that rich results receive 20-40% more clicks than plain listings at the same position. For eCommerce, where every click represents a potential sale, this is an enormous competitive advantage.

Wix Stores automatically generates basic Product schema on product pages, but the default implementation is often incomplete. It may miss AggregateRating data, variant-specific offers, or detailed product attributes. By adding comprehensive JSON-LD schema manually through Wix's custom code injection or the Velo developer tools, you can ensure Google has every piece of data it needs to generate the richest possible results.

Rich Results Eligibility

Google does not guarantee rich results even when schema is correctly implemented. However, having valid, comprehensive schema is a prerequisite. Pages without schema will never show rich product results. Pages with valid schema are eligible but may or may not receive them depending on the query, competition, and Google's algorithms. The more complete and accurate your schema, the higher your chances.

Core Product Schema Structure

The foundation of product structured data is the Product type from Schema.org. At minimum, every product page should include the product name, description, image, brand, and at least one Offer. Google strongly recommends including a unique product identifier (GTIN, MPN, or SKU) as this helps Google match your product to its knowledge graph and improves eligibility for Merchant listings in search.

Required and Recommended Properties

  • name (required): The exact product name as displayed on the page
  • image (required): One or more product image URLs, ideally the same images shown on the page
  • description (recommended): A factual description matching the page content
  • brand (recommended): The brand or manufacturer using @type Brand
  • offers (required for price display): One or more Offer objects with price, currency, and availability
  • sku or gtin13 or mpn (recommended): At least one unique product identifier
  • aggregateRating (recommended for star display): Review summary data with rating value and count
  • review (recommended): Individual review details for rich review snippets
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Organic Lavender Essential Oil - Pure Therapeutic Grade",
  "description": "100% pure organic lavender essential oil, steam-distilled from French lavender flowers. Therapeutic grade, ideal for aromatherapy, skincare, and relaxation. 30ml amber glass bottle with precision dropper.",
  "image": [
    "https://www.yourstore.com/product-images/lavender-oil-front.jpg",
    "https://www.yourstore.com/product-images/lavender-oil-bottle-detail.jpg"
  ],
  "brand": {
    "@type": "Brand",
    "name": "YourBrand Naturals"
  },
  "sku": "LAV-OIL-30ML",
  "gtin13": "5060000000000",
  "offers": {
    "@type": "Offer",
    "url": "https://www.yourstore.com/product-page/organic-lavender-essential-oil",
    "priceCurrency": "GBP",
    "price": "14.99",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "Organization",
      "name": "YourBrand Naturals"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "bestRating": "5",
    "ratingCount": "124"
  }
}

Understanding the Offer Schema in Detail

The Offer nested within your Product schema is where pricing, availability, and purchase conditions are defined. Google uses this data to display the price and availability status in rich results. Every Offer must include at minimum: price, priceCurrency, and availability. Without these three fields, Google will not generate price-related rich snippets. The priceValidUntil field is strongly recommended as it tells Google when to re-check your price data.

The availability property uses Schema.org enumerated values. The most common are InStock, OutOfStock, PreOrder, and BackOrder. Getting this right is essential because Google can penalise sites that show "in stock" in schema but "out of stock" on the page. Wix automatically syncs inventory status with its default schema, but if you are adding custom schema, ensure your availability values match your actual inventory status dynamically.

  • Always use the full Schema.org URL for availability: https://schema.org/InStock (not just "InStock")
  • Set priceValidUntil to a date at least 30 days in the future and update it when prices change
  • Use the correct ISO 4217 currency code: GBP, USD, EUR, AUD, etc.
  • Include the itemCondition property: NewCondition, UsedCondition, or RefurbishedCondition
  • Add shippingDetails if you want shipping cost and delivery time to appear in search results
  • Include a hasMerchantReturnPolicy property if you want your return policy displayed in rich results

Shipping and Returns in Offer Schema

Google now supports displaying shipping costs and delivery times directly in search results through the OfferShippingDetails schema. Adding this data makes your listing more informative and can improve click-through rates, especially when you offer free or low-cost shipping. The schema includes handling time, transit time, shipping rate, and destination region. For stores offering free shipping, set the shippingRate value to "0".

Merchant return policies can also be expressed in schema using the MerchantReturnPolicy type. This tells Google your return window (14 days, 30 days, etc.), return method (in-store, by mail), and cost (free returns, buyer pays). Products with visible return policies in search results see higher click-through rates because shoppers feel more confident about the purchase.

Handling Product Variants in Schema

When a product has multiple variants (different sizes, colours, or configurations with different prices), you should not list just one price in your schema. Instead, use an AggregateOffer or multiple Offer objects to represent the full range. Google recommends using multiple Offers when each variant has a distinct price, and AggregateOffer when you want to show a price range.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Organic Essential Oil Gift Set",
  "description": "Curated collection of pure organic essential oils in multiple set sizes.",
  "image": "https://www.yourstore.com/product-images/essential-oil-gift-set.jpg",
  "brand": {
    "@type": "Brand",
    "name": "YourBrand Naturals"
  },
  "offers": [
    {
      "@type": "Offer",
      "name": "3-Oil Starter Set",
      "price": "29.99",
      "priceCurrency": "GBP",
      "availability": "https://schema.org/InStock",
      "sku": "GIFT-SET-3"
    },
    {
      "@type": "Offer",
      "name": "6-Oil Collection Set",
      "price": "49.99",
      "priceCurrency": "GBP",
      "availability": "https://schema.org/InStock",
      "sku": "GIFT-SET-6"
    },
    {
      "@type": "Offer",
      "name": "12-Oil Complete Set",
      "price": "89.99",
      "priceCurrency": "GBP",
      "availability": "https://schema.org/InStock",
      "sku": "GIFT-SET-12"
    }
  ]
}

AggregateRating Schema: Displaying Star Ratings in Search

The AggregateRating property is what generates those coveted star ratings beneath your listing in Google Search. It summarises all customer reviews into a single rating value and count. To be eligible for star rating rich results, you need a minimum of one review, though Google is more likely to display stars when you have a meaningful number of reviews, typically five or more. The ratingValue should be the average score, and ratingCount should reflect the total number of ratings submitted.

Individual Review schema can be nested within the Product alongside AggregateRating. This provides Google with specific review content that may appear as review snippets in search results. Include the reviewer name, rating value, date published, and the review body text. Google may display one or more of these individual reviews directly beneath your listing, adding compelling social proof to your search result.

Google has strict policies on review schema. You must only include AggregateRating data based on genuine customer reviews collected on your own product pages. Do not fabricate ratings, import reviews from other sites, or inflate scores. Google actively detects fake review schema and can issue manual actions that remove all rich results from your entire domain.

Adding Custom Product Schema to Wix

Method 1: Wix Custom Code Injection

How to add JSON-LD product schema via Wix Custom Code

  1. 1Go to your Wix Dashboard and navigate to Settings > Advanced > Custom Code
  2. 2Click "Add Custom Code" in the top right corner
  3. 3Paste your JSON-LD script wrapped in <script type="application/ld+json"> tags
  4. 4Name the code snippet descriptively, such as "Product Schema - Lavender Oil"
  5. 5Set the placement to "Head" for optimal schema detection
  6. 6Under "Pages", select "Choose specific pages" and select only the product page this schema applies to
  7. 7Save and publish your changes
  8. 8Test the URL immediately in Google Rich Results Test to verify correct implementation

Method 2: Dynamic Schema with Wix Velo

For stores with more than 20 products, manually adding schema to each page is impractical. Use Wix Velo to create a reusable schema template that dynamically pulls the product name, price, SKU, image URL, and review data from your Wix Stores database. This ensures schema is always in sync with your actual product data and automatically updates when you change prices or receive new reviews.

Dynamic Schema with Wix Velo

In Velo, use $w.onReady to query the current product data, build the JSON-LD object programmatically, and inject it into the page head using wixSeo.setStructuredData(). This approach scales to any catalogue size and ensures schema data always matches your live product information.

Testing and Validating Your Product Schema

Before your schema can generate rich results, it must be valid and error-free. Google provides two testing tools: the Rich Results Test (which shows you exactly what rich results your page is eligible for) and the Schema Markup Validator (which checks for syntax errors). Always test with both tools after implementation.

  • Test every unique product page template, not just one sample page
  • Verify that price, availability, and rating values match what is displayed on the page
  • Check for warnings as well as errors; warnings indicate missed opportunities for richer results
  • Re-test after any changes to product data, schema code, or Wix template updates
  • Monitor the Rich Results report in Google Search Console for site-wide schema issues
  • Use the URL Inspection tool in Search Console to see how Google renders your schema in production

Complete How-To Guide: Implementing Product Schema on Your Wix Store

This guide walks you through adding comprehensive Product and Offer schema to your Wix Store product pages to earn rich product results in Google, from auditing existing schema through implementation, validation, and ongoing monitoring.

How to add Product schema to your Wix Store for rich search results

  1. 1Step 1: Audit what schema Wix already generates. Open one of your product pages and paste the URL into Google Rich Results Test. Review the detected structured data types and check which fields are present, which are missing, and whether there are any errors or warnings.
  2. 2Step 2: Compare the auto-generated schema against Google's recommended Product schema specification. Check whether it includes name, description, image, price, priceCurrency, availability, brand, sku/gtin, aggregateRating, and review data. Document which fields are missing.
  3. 3Step 3: Ensure every product in your Wix Store has complete data fields. Go through each product in your Wix Dashboard and verify: product name is descriptive, description is at least 150 words, at least one high-quality image is uploaded, price and currency are set, availability status matches actual stock, and brand name is entered.
  4. 4Step 4: Add product identifiers to every product. In each product's settings in Wix Dashboard, open Advanced Settings and enter the GTIN (barcode number) or MPN (manufacturer part number). For custom or handmade products without barcodes, note these for setting identifier_exists to false.
  5. 5Step 5: Enable customer reviews on your Wix Store if not already active. Go to Store Settings > Product Reviews and turn on the review feature. Reviews generate the AggregateRating data that displays star ratings in search results.
  6. 6Step 6: Collect at least 3-5 reviews per product before expecting rich review snippets to appear. Set up a Wix Automation to request reviews 7 days after order delivery to accelerate review collection.
  7. 7Step 7: For products with variants (sizes, colours), verify that each variant has its own price and availability data entered correctly in Wix. Test a variant product in Rich Results Test to confirm all variant prices appear in the schema.
  8. 8Step 8: If the auto-generated schema is missing critical fields, create custom JSON-LD schema to supplement it. Build a complete Product schema object including all required and recommended properties, using data that exactly matches your product page content.
  9. 9Step 9: Add the custom schema to your Wix site. For individual products, use Settings > Custom Code with page-specific targeting. For store-wide implementation, use Wix Velo to dynamically generate schema from your product database.
  10. 10Step 10: Add the priceValidUntil property to every Offer in your schema. Set it to at least 30 days from today and create a calendar reminder to update it monthly. This tells Google when to re-verify your pricing data.
  11. 11Step 11: Add shippingDetails and hasMerchantReturnPolicy to your Offer schema if you want shipping and returns information to appear in search results. Include delivery time estimates, shipping costs, and your return window.
  12. 12Step 12: Test every product page type in Google Rich Results Test after implementation. Test at least one product from each category, one product with variants, and one product with reviews to confirm schema is valid and complete across your store.
  13. 13Step 13: Fix any validation errors flagged by the Rich Results Test. Common issues include missing required fields, incorrect price formats, invalid availability URLs, and mismatched data between schema and visible page content.
  14. 14Step 14: Monitor the Rich Results report in Google Search Console weekly during the first month after implementation. Go to Enhancements > Product to see which product pages have valid schema, which have errors, and which are pending processing.
  15. 15Step 15: Check Google search results for your product names within 2-4 weeks. Search for your top product keywords and look for rich product results with price, availability, and star ratings. If rich results are not appearing despite valid schema, ensure you have sufficient reviews and that your product data is complete.

Review Velocity

The fastest way to earn rich review snippets is to set up automated review request emails. Products with 5+ reviews and a 4.0+ rating are most likely to display star ratings in Google search results. Focus your review collection efforts on your highest-traffic product pages first.

Finished this lesson?

Mark it complete to track your course progress.

AI Lesson Tutor

AI Powered

Got a question about this lesson? Ask the AI tutor for a quick explanation or practical examples.

Your Course Resources

11 downloadable PDFs -- checklists, templates, worksheets and your certificate

Course Progress0/561 lessons

Checklists

Wix SEO Audit ChecklistPDF

20-point site-wide audit covering technical, on-page, content and local SEO

On-Page SEO ChecklistPDF

37-point per-page checklist: titles, headings, content, images, links, schema

Technical SEO Deep-DivePDF

50-point technical audit: crawlability, Core Web Vitals, speed, security, Wix-specific

Local SEO Setup ChecklistPDF

42-point local checklist: Google Business Profile, NAP, citations, reviews, local links

Site Launch SEO ChecklistPDF

48-point pre-launch and post-launch guide for new Wix sites going live

Templates & Worksheets

Keyword Research TemplatePDF

Printable tracker with columns for volume, difficulty, intent, priority and notes

Monthly SEO Report TemplatePDF

Client-ready report covering traffic, rankings, technical health and action plan

Content Brief TemplatePDF

Plan every page: target keywords, outline, competitor analysis, internal links, CTAs

Backlink Outreach TrackerPDF

Campaign log with status tracking plus 3 proven outreach email templates

Competitor Analysis WorksheetPDF

14-metric comparison table, content gap analysis and SEO SWOT framework

Achievement

Certificate of CompletionLocked

Complete all lessons to unlock (0/561 done)

Lesson Tools

No part of this Wix SEO Course content may be reproduced, copied, or distributed without the written consent of Michael Andrews.

This lesson on Product schema, Offer schema and rich product results is part of Module 17: Wix eCommerce SEO Mastery in The Most Comprehensive Complete Wix SEO Course in the World (2026 Edition). It covers Wix SEO optimization (US) and optimisation (UK) strategies applicable to businesses in the United Kingdom, United States, Australia, Canada, New Zealand, Ireland and worldwide. Created by Michael Andrews, the UK's No.1 Wix SEO Expert with 14 years of hands-on experience, 750+ completed Wix SEO projects and 425+ verified five-star reviews. This is lesson 176 of 561 in the most affordable, most comprehensive Wix SEO training programme available in 2026.