- Bruxel.AI Blog
- Product structured data: a practical JSON-LD guide for stores
Product structured data: a practical JSON-LD guide for stores
By Manuel Mattar3 min read
In short
Product structured data is a JSON-LD block using Schema.org's Product type that tells Google, without interpreting the text, the name, brand, images, price and availability. It works when it matches what is visible on the page, is validated with Google's tools and is generated from the same data as the product record.
What it is and what it is for
A product page is made for people: title, photos, description, price. A search engine can infer that data from the text, but it can get it wrong. Structured data states it explicitly, in a format machines read without interpreting: this is the name, this the brand, this the price, this the availability.
Google uses that markup to understand the page and show it with extra information in results. For products it describes two kinds of experiences: product snippets, for pages where people cannot buy directly, and merchant listings, for pages where they can.
The format: JSON-LD with Schema.org
The vocabulary is Schema.org, shared by search engines, and the main type is Product. The format Google recommends is JSON-LD: a JSON block inside the page, separate from the visible HTML. That lets you generate and review it without touching the design.
A product block usually includes:
name,description,imageandbrand;skuand, when it exists, a global identifier such asgtin;offers, with price, currency and availability;- when they apply, real reviews and ratings.
Variants —sizes, colors— are described with ProductGroup, which groups products that differ only in some attributes.
The golden rule: what is visible
Google's guidelines are clear: structured data must represent the visible content of the page. You cannot mark up a price that does not appear, reviews nobody wrote or a product other than the one on the page.
In practice, the most common mistake is not bad faith but drift: the page says 750 W and the JSON-LD says 700 W because one was updated and the other was not. That is why both should come from the same source.
How to validate it
Before publishing, and every time you change your store template:
- Google's Rich Results Test: tells you whether the page is eligible and what is missing.
- The Schema.org validator: checks that the markup follows the vocabulary.
- Search Console: shows structured data errors and warnings across the whole site.
A warning is not always a problem; an error is. Start with the errors on your best-selling pages.
Common mistakes
- Outdated price or availability compared with what the page shows.
- Duplicate markup: the store template and a plugin each add their own product block.
- Images that don't match the product or can't be crawled.
- Made-up reviews or reviews copied from another site.
- Mixed-up variants: all sizes as one product, or each one without knowing which group it belongs to.
Structured data and AI assistants
Google says its AI features don't require special markup, but they do require structured data to match the page. A catalog with complete attributes and consistent JSON-LD gives any system clear data about your products; we explain it in GEO for e-commerce.
How Bruxel handles it
In Bruxel structured data is generated together with the description, from the same product data, so it says the same as the product record. It lives in the catalog with attributes and categories, and travels to your store in the columns each channel defines when you export. The guide to generating descriptions shows which fields are generated, and the PIM page shows the rest of the journey.
Where to start
Take your ten best-selling products and run each page through the Rich Results Test. Note three things: whether the product has a Product block, whether there is more than one and whether price and availability match what is visible. Fix the errors that repeat on every page first, because they almost always come from the store template and are fixed once. Then check that each product has the data the markup needs: brand, images, identifiers and a description that says the same as the page. That last part is a catalog job, not a template job.
Frequently asked questions
JSON-LD, microdata or RDFa?
Google accepts all three but recommends JSON-LD: it lives in a block separate from the visible HTML, so it can be generated and reviewed without touching the page design.
Does structured data improve my rankings?
It is not a ranking shortcut. It helps Google understand the page and show it with extra information, such as price or availability, which can improve how many people click.
Can I mark up data that is not visible on the page?
No. Google asks that structured data represent the page's visible content. Marking up something users cannot see can leave the page without rich results.
Sources
About the author
Manuel Mattar
Founder of Bruxel.AI
In 2014 he founded Wolf Sellers, an e-commerce agency in Mexico City, and later Bruxel.AI, the AI-powered PIM.
See all posts by Manuel MattarTry it with your catalog
Create your free account and try Bruxel with your own products using the welcome credits.
Keep reading
· 3 min read
Alt text in e-commerce: why it matters and how to write it
Alt text makes your product images useful to people who cannot see them and to search engines. What to say, what to avoid and how to write it at scale.
· 3 min read
GEO for e-commerce: how to get AI assistants to cite your products
More and more buyers ask an AI assistant before they search. What GEO is, what Google says about its AI features and what changes in your product pages.
· 3 min read
How to write product descriptions that sell (and that AI assistants cite)
A good description answers what the buyer asks, with facts that can be checked. How to write it for your store, for Google and for AI assistants alike.