Product schema is structured data that describes a product to search engines in a machine-readable form: what it is, what it costs, whether it is in stock, and how it has been rated. It is what makes price, availability and review stars eligible to appear in search results.
It does not improve rankings directly. What it does is change how a listing looks and how much of the buying decision happens before the click, which is why it matters commercially.
General structured data guidance is on structured data. This page covers product markup specifically.
What product markup needs to contain
- name matching the visible product title.
- image, referencing real, crawlable product images.
- description consistent with the visible description.
- offers containing price, currency and availability.
- sku and, where available, gtin or mpn, which help match your product to the same product elsewhere.
- brand where applicable.
- aggregateRating and review, only where genuine reviews exist on the page.
The binding rule throughout is correspondence: markup must describe what a visitor actually sees on the page. Markup asserting a rating or price that is not visible is a policy violation, not a shortcut.
The faults that appear most often
Duplicated markup
On WooCommerce, product schema is frequently emitted by both the platform and an SEO plugin. On Shopify, by both the theme and one or more apps. The result is conflicting blocks describing the same product differently.
Price and availability drift
Markup generated at build time, or cached, can advertise a price or stock status that no longer matches the page. This is among the most damaging faults because it misleads shoppers before the click.
Invented ratings
Applying aggregateRating where no reviews exist, or aggregating site-wide ratings onto individual products, is a common and enforceable violation.
Variant mismatch
A page offering a price range marked up with a single price. Where a product has variants, the offer should reflect the range.
Currency errors
South African stores occasionally emit USD through a default that was never changed, which misrepresents price in results.
Validating it
- Test representative product pages rather than one example, since faults are usually template-level.
- Check the rendered output, not the source, where markup is injected by JavaScript.
- Validate an in-stock and an out-of-stock product, since availability logic often differs.
- Validate a variable product, where price range handling is most likely to break.
- Watch Search Console enhancement reports for errors appearing at scale after template changes.
Relationship to Merchant Center
Product markup and Merchant Center feeds describe overlapping information through different channels. Where they disagree on price or availability, that inconsistency causes problems in both. Treat the product page as the source of truth and keep the feed reconciled to it.
Frequently asked questions
Does product schema improve rankings?
Not directly. It makes rich results eligible, which can improve click-through by showing price, availability and ratings in the listing. The gain is in presentation and qualified clicks rather than position.
Can I add review stars without reviews?
No. Marking up ratings that do not exist on the page, or applying site-wide ratings to individual products, violates the guidelines and can result in rich results being removed across the site.
Why did my rich results disappear?
Common causes are markup errors introduced by a template change, price or availability drift between markup and page, or duplicate conflicting blocks from a plugin or app. Check enhancement reports for when the errors began.
JSON-LD or microdata?
JSON-LD is the recommended format and is easier to maintain because it is separate from the visible markup. If your platform emits microdata, that still works, but avoid running both, which produces duplicate entities.
Consulting CTA
If your product rich results have disappeared, or your markup conflicts across platform and plugins, book an SEO consultation for a structured data review of your product templates.