Detect, validate, and generate Schema.org structured data as JSON-LD. Triggers when someone needs JSON-LD markup for a page (Article, Product, FAQPage, HowTo, BreadcrumbList, Organization, Event, Recipe, VideoObject), wants to check structured data against Google's rich-result rules, or asks to validate an existing JSON-LD block.
./install.sh schema-json-ld-buildername: "schema_json_ld_builder" description: "Detect, validate, and generate Schema.org structured data as JSON-LD. Triggers when someone needs JSON-LD markup for a page (Article, Product, FAQPage, HowTo, BreadcrumbList, Organization, Event, Recipe, VideoObject), wants to check structured data against Google's rich-result rules, or asks to validate an existing JSON-LD block."
Build correct Schema.org JSON-LD for a page, or validate an existing block against the structure rules and Google's current rich-result support. Ships with a working validator (bin/validate-jsonld.py) and tested generators in references/schema-types.md.
@id in one @graph. If the content does not match a type, do not force it.references/rich-result-rules.md.references/schema-types.md as the starting point. Only use facts from the page itself; never invent prices, ratings, dates, or authors.python3 bin/validate-jsonld.py block.json. Fix every ERROR. Read every WARNING and decide deliberately.<script type="application/ld+json"> block ready to drop in <head>, plus a one-line note on what rich result the page is eligible for and what test to run next (validator.schema.org, then Google's Rich Results Test).Every JSON-LD block delivered must:
"@context": "https://schema.org".priceCurrency on every offer, ascending breadcrumb positions starting at 1.@graph when multiple nodes are needed, @id linking nodes that refer to the same entity.@type must be the thing the page is actually about.bin/validate-jsonld.py.Page: a product listing for a 40L hiking backpack, in stock at $189.
json
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Alpine Trail Backpack 40L",
"image": "https://example.com/img/backpack.jpg",
"description": "A 40-liter hiking pack with an aluminum frame.",
"brand": { "@type": "Brand", "name": "Alpine" },
"sku": "ALP-40L-BLK",
"offers": {
"@type": "Offer",
"url": "https://example.com/shop/alp-40l",
"price": "189.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
This passes validate-jsonld.py, makes the page eligible for the Product rich result (price, availability, ratings), and contains nothing the shopper cannot see on the page.
publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
No ratings yet — be the first to rate it.