Guides · Updated 3 November 2026
How to check and fix your product data (schema.org)
Product data is a block of code on your product page that tells machines what you sell, at what price and whether it is in stock. Google calls name, image and an offer with price and currency required; the rest is recommended but makes your product much easier to understand.
What it looks like
The common format is JSON-LD: a piece of code in the page that visitors do not see. A simple example:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Stoneware side plate 22 cm, moss green",
"image": ["https://www.example-shop.com/img/bord-groen.jpg"],
"description": "Stoneware side plate, 22 cm diameter, 2 cm high. Dishwasher and microwave safe. Made in Portugal.",
"brand": { "@type": "Brand", "name": "Example Ceramics" },
"gtin13": "8712345678901",
"offers": {
"@type": "Offer",
"price": "12.95",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}
}
</script>
Which fields you need
| Field | What it is | According to Google |
|---|---|---|
name | Product name | Required |
image | Product photo (preferably several) | Required |
offers.price + priceCurrency | Price and currency, such as 12.95 and EUR | Required |
offers.availability | Stock status, such as InStock | Recommended |
description | Description | Strongly recommended |
brand.name | Brand | Recommended |
gtin13 (or another GTIN) | Barcode, called EAN in Europe | Recommended |
aggregateRating | Average review score | Recommended |
shippingDetails, hasMerchantReturnPolicy | Shipping and returns policy | Recommended |
Errors we see often
- Broken code. One wrong character, such as a hard line break inside the description, makes the whole block unreadable. Machines then skip it entirely.
- Extra code after the block, for example from an app or plugin, with the same result.
- An older format (microdata) instead of JSON-LD. It still works, but is more error-prone.
- No stock status, so an assistant cannot tell whether the product is available.
- A different price in the data than on the page, for example after a sale.
- The barcode in the wrong field, such as the item number (
sku) instead ofgtin13.
How to test it
- Scan a product page with the free Shelv scan. You see per field what is missing.
- Check the page in Google's Rich Results Test, which shows exactly where an error is.
- Then scan two other product pages. If the error is everywhere, it comes from the theme or an app, and you can fix it in one go.
Fixing it
In most store systems, the theme or the store software adds the product data itself. Errors then often come from an app or plugin that adds a second block, or from a theme customisation. Have your web developer or us do the fix, and make a backup first.
How does your product page score?
Paste the address of a product page into the free scan. Within seconds you see what AI assistants can and cannot read.