---
title: "Product structured data (schema.org) · Specoria"
description: "Product structured data (schema.org): Google, ChatGPT Shopping and Perplexity read the product name, price and identity from this data first."
source_url: "https://specoria.com/method/checks/product-schema/"
lang: "en"
---

[← All checks](https://specoria.com/method/checks/)
product_schema

# Product structured data (schema.org)

Why it matters Google, ChatGPT Shopping and Perplexity read the product name, price and identity from this data first.

**Category**
Product data

**Weight**
7 of 100 points

**Critical blocker**
Yes. If it fails, the score is capped at 59; with two or more blockers, at 39.

**Applies to**
Online stores

**Effort**
2-4 hours · developer (once, in the theme template)

**Score model**
v2.4

## How we measure it

We look for JSON-LD Product (or ProductGroup) on the product page. Only microdata or Open Graph product tags is a partial pass; none fails and is a critical blocker.

### What the result page says

These are the sentences in the test result; “…” is replaced by what we found on your site.

- Passed The product page includes schema.org Product data.
- Partial Product data is only available as microdata or Open Graph; agents read JSON-LD more reliably.
- Failed The product page has no machine-readable Product data, so agents have to guess from the text.

## How to fix it

**Target:** Every product page carries Product data as JSON-LD; products with variants use ProductGroup + hasVariant.

### Example code

`<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sample product",
"image": "https://example.com/img/product.jpg",
"description": "A short, original product description.",
"sku": "SKU-001",
"brand": { "@type": "Brand", "name": "Brand Name" }
}
</script>`
Example values (example.com, product name, price) are placeholders; replace them with your own.

### How to verify it yourself

Validate the product page with Google’s Rich Results Test (search.google.com/test/rich-results).

### Fix it with an AI coding agent

Paste this into Claude Code, Cursor or another coding agent working on your store’s code. Review the change before you deploy it.

`You are working on my online store. Specoria’s agent readiness test checks the item below. Fix it so AI shopping agents can read the store and act on it.

## 1. Product structured data (schema.org) (product_schema)
Target: Every product page carries Product data as JSON-LD; products with variants use ProductGroup + hasVariant.
Example fix (adapt it to this codebase and platform; example values are placeholders):
```
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sample product",
"image": "https://example.com/img/product.jpg",
"description": "A short, original product description.",
"sku": "SKU-001",
"brand": { "@type": "Brand", "name": "Brand Name" }
}
</script>
```
Reference: https://specoria.com/method/checks/product-schema/

## Rules
- First look through the codebase and tell me which files or templates you will change, before editing anything.
- Change only what these checks need, and keep the visible page and the structured data saying the same thing.
- Never invent prices, stock, shipping or return terms, reviews or product identifiers (GTIN): take them from the store’s real data or ask me.
- Don’t block or slow down real visitors and don’t add tracking.
- After deploying, run the free test again at https://specoria.com/ to verify the fix.`

## Specifications and guidance

- [schema.org/Product ↗](https://schema.org/Product)
- [Google: merchant listing structured data ↗](https://developers.google.com/search/docs/appearance/structured-data/merchant-listing)

The check is based on these open sources; links go to the publisher’s own pages.

## Where it sits in the 196-criteria framework

The result of this check counts as evidence for these items of the readiness framework:

- `2.2` Product schema on every product page

[The framework and its source →](https://specoria.com/method/#criteria)

[← PreviousCan the product page be indexed?](https://specoria.com/method/checks/indexable/)[Next →Price, currency, availability and URL](https://specoria.com/method/checks/offer-complete/)

[Run the free test](https://specoria.com/method/checks/product-schema/#test) [See the sample report →](https://specoria.com/reports/sample-report/)

## Related

- [Price, currency, availability and URL](https://specoria.com/method/checks/offer-complete/)
- [Product identity (GTIN/MPN, brand, SKU)](https://specoria.com/method/checks/product-identity/)
- [Agent Readiness Index 2027](https://specoria.com/index/) How the benchmarked stores scored, with open data
- [Glossary and formulas](https://specoria.com/glossary/) Every metric, defined the way we compute it

FREE TEST

## Test your store now

Enter your store’s address: 27 checks on your public pages, the way a shopping agent reads them.

The free test runs in your browser and needs JavaScript. [Request the free deep audit by email instead →](https://specoria.com/#contact)

Your result opens on its own page. Want the full picture? The free deep audit and panel come next, by email.
