Skip to main content

Free Product Schema Checker

Paste Product JSON-LD, or the source of a whole product page, and see exactly which fields Google needs and which are missing or malformed. Every finding explains what the field does, so you know whether it blocks the rich result or only weakens it.

Free, no signup Runs in your browser Reads pasted HTML

Paste your markup

A JSON-LD object, or a full page source with ld+json script tags.

Schema clean? Keep it that way

Hand written markup drifts. Generated markup does not.

Grigora Commerce writes Product structured data from the real product record, so price, currency and stock in the markup stay identical to what the page shows. Site, newsletter and store run on one platform.

How to check Product schema

Four steps from pasted markup to a clean result.

1

Paste your markup

Drop in a JSON-LD object, or the whole page source and let the tool find the ld+json blocks.

2

Run the check

Every Product node is read and measured against the Google product structured data rules.

3

Fix the errors

Errors block the rich result. Warnings let it render but leave detail on the table.

4

Re-check and ship

Paste the corrected markup back in, confirm it is clean, then request indexing.

How to check Product schema, step by step

Real screenshots of the tool, taken while checking a Product JSON-LD block.

  1. 1

    Paste your Product markup

    A JSON-LD block on its own, or a whole page source. The checker finds the Product object inside it either way.

    Empty Product Schema Checker showing a JSON-LD paste box
  2. 2

    Load the example to see the shape

    The example carries the fields Google reads for a product rich result, so you can compare your own markup against one that passes.

    Product Schema Checker with example Product JSON-LD markup loaded into the box
  3. 3

    Read what would block a rich result

    Required fields, price format, availability values and GTIN check digits are each tested separately, so you know exactly which one to change.

    Validation results listing required field, price and availability findings for the pasted Product schema

When to run this check

Six moments a schema check pays for itself.

Before publishing a product page

Catch a missing priceCurrency while the page is still a draft rather than after it is crawled.

When rich results stop showing

A theme update quietly changes the markup. Paste the live source and see what moved.

After a platform migration

New template, new field names. Confirm price, image and availability survived the move.

Auditing a client storefront

Check a sample of product pages and hand back a list of fields with the reason each one matters.

Reviewing a plugin output

Schema plugins emit whatever the settings allow. Verify what actually reaches the page.

Before a seasonal campaign

A broken offer block during a sale week costs the whole shopping surface.

Finding your markup, by platform

Where the Product JSON-LD lives and how to get at it.

Shopify

  1. Open a live product page.
  2. View source and copy the whole page.
  3. Paste it here to read the theme output.

WooCommerce

  1. Open a product permalink.
  2. Copy the page source, including plugin blocks.
  3. Paste it here to see every Product node.

Grigora Commerce

  1. Open a published product page.
  2. Copy the source, product markup is generated for you.
  3. Paste it here to confirm the fields.

Hand written JSON-LD

  1. Copy the object between the script tags.
  2. Paste the JSON on its own.
  3. Fix the errors and paste it back.

Grigora vs. other schema checkers

Side by side.

CapabilityGrigoraRich Results TestSchema lintersSEO suites
Runs without uploadYes, in your browserSends the URL to GoogleUploads your markupRequires account
Accepts pasted HTMLYes, finds ld+jsonYesJSON onlyURL only
Explains why a field mattersYes, on every findingRule name onlyRule name onlyPartial
Checks GTIN check digitYesNoNoNo
Signup requiredNoNoYesYes

Common errors and how to fix them

Eight mistakes that keep a product out of rich results.

Price written with a symbol

Cause: price set to "$89.00" or "89,00".

Fix: Use a bare decimal, 89.00, and put the currency in priceCurrency as USD.

Missing priceCurrency

Cause: Only price is set.

Fix: Add the three letter ISO 4217 code. A number with no currency is dropped.

Free text availability

Cause: availability set to "in stock" or "Available".

Fix: Use https://schema.org/InStock, or the bare member name InStock.

Relative image path

Cause: image set to /img/kettle.jpg.

Fix: JSON-LD does not resolve relative paths. Use the full absolute URL.

Empty brand object

Cause: brand set to {"@type": "Brand"} with no name.

Fix: Give the Brand node a name, or remove the field entirely.

GTIN check digit fails

Cause: One digit mistyped when the barcode was copied.

Fix: Re-read the barcode. The last digit is computed from the others.

Rating with no count

Cause: aggregateRating has ratingValue but no reviewCount.

Fix: Add reviewCount or ratingCount. An average with no sample size is ignored.

Review with no author

Cause: review objects carry only a rating.

Fix: Add an author with a name. Anonymous reviews are not used.

Product schema rules worth memorising

The constraints behind most invalid markup.

3
Required top level fields: name, image and offers
10
Accepted ItemAvailability values, and no others
4
Valid GTIN lengths: 8, 12, 13 and 14 digits
0
Bytes of your markup sent to a server by this tool

Frequently asked questions

Ten answers about Product structured data.

Related free tools

Other utilities that pair with the Product Schema Checker.

Sell from the site you already run

Product pages, correct structured data, checkout and orders in one place, starting free.

Start building free