Schema creator
Pick a type, fill in what the page shows, and get JSON-LD to paste into it. Empty fields are left out, never made up.
No FAQ or HowTo: Google no longer shows either as a rich result.
index.html
<head>
<title>Trail shoe · Acme</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Product", "name": "Trail shoe",
"offers": { "@type": "Offer", "price": "120.00",
"priceCurrency": "USD" } },
{ "@type": "BreadcrumbList", "itemListElement": [
{ "@type": "ListItem", "position": 1,
"name": "Shoes", "item": "https://example.com/shoes" } ] }
]
}
</script>
</head>One block in the head holds the product and its place in the site together, in one @graph. Every value is on the page as well.
What does it check?
Rules from the rulebook, and how many of the sites mttr has read miss each.
- Add structured dataAdd valid JSON-LD that says what the page is.61%of sites miss it
- Match structured data to the pageUse the schema type that matches the page: Article for guides, Service or Product for offers, Organization or WebSite for the home page.49%of sites miss it
Questions
Where does the JSON-LD go?
Inside a script tag of type application/ld+json, in the page’s head or anywhere in its body.
Can a page have more than one block?
Yes. A product page can carry its Product, its BreadcrumbList and its Organization, each in its own block or together in one @graph.
Should the markup say things the page does not?
No. Everything in the structured data should be on the page for a person to read. Google treats markup that says more as spam.
The whole site
One page is one part. A read checks every page against the whole rulebook and says what to fix first.
Read a whole site