Product Schema Validator
Make sure your product pages describe products the way search engines expect. The validator finds every Product and ProductGroup in a page’s JSON-LD – including products nested inside other nodes – and checks the name, at least one of offers, review or aggregateRating, the offer price as a plain number, a three-letter ISO 4217 currency, a known availability and condition, a valid priceValidUntil date, GTIN length and check digits, rating ranges and review authors. It also suggests the properties merchant listings recommend.
- Encrypted connection
- No sign-up
- Free to use
How to use Product Schema Validator
- Enter a product page URL, or paste HTML or JSON-LD.
- Click “Validate product schema”.
- Review the products found.
- Fix errors, then warnings and suggestions.
Product Schema Validator features
Offer checks
Price, currency, availability, dates.
GTIN validation
Length and GS1 check digit.
Ratings
Value range and counts.
Reviews
Rating and author name.
Nested products
Found anywhere in the graph.
Paste JSON-LD
Validate code before it goes live.
When to use Product Schema Validator
- Testing product templates in an online shop.
- Debugging Merchant Center or Search Console warnings.
- Checking feeds converted to JSON-LD.
- Reviewing plugin output after updates.
Product Schema Validator FAQ
Why is “$19.99” an error?
The price must be a number like 19.99, with the currency in priceCurrency. Symbols and thousands separators make the value unreadable for machines.
What is a GTIN check digit?
The last digit of a barcode number, calculated from the others. A wrong digit means the identifier was mistyped.
Do I need reviews?
Product snippets need at least one of offers, review or aggregateRating. Ratings must come from real customers and be visible on the page.
What are merchant listings?
Google’s shopping-style results. They recommend shipping details and a return policy in addition to the basic offer.
Why must the price be a plain number?
Values such as “$19.99” or “19,99 €” can be misread. Use 19.99 and put the currency in priceCurrency.
Products described correctly
Product structured data feeds the price, availability and rating details that can appear under a search result and in shopping experiences. Small format mistakes are common: prices with symbols, lowercase currency codes, availability written as free text, or expired priceValidUntil dates.
The validator uses the rules from Google’s product snippet and merchant listing documentation, and reports them in three levels: errors that make the markup invalid, warnings for missing recommended data and suggestions that improve eligibility.
Keep the markup in sync with the visible page: a price in the markup that differs from the page is a reason for search engines to ignore it.
Product markup can show price, availability and ratings in search results. The validator finds every Product and ProductGroup in the page’s JSON-LD, including products nested in other nodes, and checks the essentials: a name and at least one of offers, review or aggregateRating.
Offers need a price as a plain number, a three-letter ISO 4217 currency code and an availability value such as InStock. Variants should use ProductGroup with hasVariant. Merchant listing features also look at shipping and return details.
The data in the markup must match the visible page – a different price in the markup than on the page is a common reason for rich results to be removed.