Product Schema and Merchant Listings Checklist
For developers and SEOs adding structured data to product pages. Use it when you launch markup, when the Search Console Products report shows errors, or when prices and availability in search do not match your site.
- critical
Why and how
- Why it matters
- Without structured data, Google has to guess product details, and you lose eligibility for product rich results.
- How to check or fix it
- Output a single Product object with name, image, description and offers in a script tag of type application/ld+json.
- critical
Why and how
- Why it matters
- Offer data is what powers price and stock information in results, and missing fields cause merchant listing errors.
- How to check or fix it
- Use a numeric price, an ISO 4217 currency code such as USD, and a schema.org availability URL like https://schema.org/InStock.
- critical
Why and how
- Why it matters
- Google's guidelines require markup to reflect on-page content, and mismatched prices can trigger warnings or loss of rich results.
- How to check or fix it
- Compare the rendered price and stock status against the JSON-LD for several products, including sale items. Fix any template that caches old values.
- important
Why and how
- Why it matters
- Images are required for product rich results, and blocked or tiny images fail validation.
- How to check or fix it
- Add crawlable image URLs in the image property, check that robots.txt does not block the image path, and use the URL Inspection live test.
- important
Why and how
- Why it matters
- Identifiers help Google match your product to its catalog entry and compare offers accurately.
- How to check or fix it
- Use the gtin, mpn and brand properties, taking values from your catalog rather than inventing them.
- important
Why and how
- Why it matters
- Self-serving or fabricated ratings violate Google's review guidelines and can lead to a manual action.
- How to check or fix it
- Use aggregateRating with ratingValue and reviewCount that match visible, genuine customer reviews on that product.
- important
Why and how
- Why it matters
- Mixing variants into one Offer can show a wrong price or availability for the selected option.
- How to check or fix it
- Use ProductGroup with hasVariant for variant sets, or a separate Offer per variant, following Google's product variant documentation.
- important
Why and how
- Why it matters
- Shipping and return details are shown in merchant listing experiences and reduce shopper uncertainty.
- How to check or fix it
- Add shippingDetails and hasMerchantReturnPolicy to the Offer, or configure them in Merchant Center settings.
- important
Why and how
- Why it matters
- Template errors repeat across thousands of pages, so catching one early prevents widespread issues.
- How to check or fix it
- Run representative URLs for simple products, variants, sale items and out-of-stock items through the Rich Results Test.
- nice
Why and how
- Why it matters
- These reports show errors and warnings across the whole catalog after deployment.
- How to check or fix it
- Open Enhancements in Search Console, review Merchant listings and Product snippets, and fix grouped errors by template.
- nice
Why and how
- Why it matters
- Two plugins emitting markup can create conflicting prices or duplicate entities on the same page.
- How to check or fix it
- View source and search for application/ld+json, then disable the extra generator so only one Product object remains.
Progress is saved in this browser only. Nothing is sent to a server.
Common questions
Is Product schema a ranking factor?
Google has not said structured data directly improves rankings. It helps Google understand the page and makes it eligible for rich results, which can improve visibility and clicks.
Do I need Merchant Center if I use Product markup?
No, markup alone can make pages eligible for product snippets and some merchant listing features. A Merchant Center feed gives you more control and wider eligibility, and the two should agree with each other.