Structured data (JSON-LD)

A hidden block of JSON that spells out a page's facts (product, price, rating, author) in a format search engines can parse.

the hidden code that tells Google what my page isschema markupschema.org markupjson ldjson-ld structured datarich snippet codethe script tag that makes stars show up in searchmarkup for recipes and reviews

See it

Live demo coming soon

What it is

Structured data is a machine-readable description of what a page is about, written against the shared vocabulary at schema.org: this is a Product, its price is 49 USD, it has 128 reviews averaging 4.6. JSON-LD is the format Google prefers, a single <script type='application/ld+json'> block in the head or body that sits alongside your HTML rather than tangling with it (the older alternatives, Microdata and RDFa, decorate the markup itself).

Add it when a page has facts worth parsing: Article, Product with Offer and AggregateRating, Recipe, Event, JobPosting, FAQPage, BreadcrumbList, Organization, LocalBusiness, SoftwareApplication. The confirmed payoff is twofold: machine-readable entity data about you, and eligibility for search features. Some AI systems read it as well, but support varies by product and plenty of them mainly retrieve the visible content, so file that under system-dependent bonus rather than the reason you shipped. Validate with the Rich Results Test and Schema.org's validator; Search Console reports errors per type once you ship.

Two traps. Structured data is not a ranking factor: it makes you eligible for rich results, it does not push you up the page, and eligibility is never a guarantee. And every claim must match what a human sees on the page. Marking up review stars that appear nowhere onscreen, or prices you do not actually list, is a spam violation that gets your markup (sometimes your site) demoted.

Ask AI for it

Add JSON-LD structured data to this site using schema.org types. Start by mapping each page template to the currently supported schema types that are actually relevant to it, checking first whether the page really contains the matching visible data. Then emit a <script type='application/ld+json'> block per template: Organization for the site entity, Article (headline, datePublished, dateModified, author, image) on posts, Product with Offer and AggregateRating on product pages, BreadcrumbList everywhere there is a trail. Emit only properties backed by data a visitor can see, and leave out SearchAction unless some named consumer still requires it, since Google retired the sitelinks search box it used to feed. Use absolute URLs and @id references to link the entities, then validate both the schema syntax and Google's feature eligibility with the Rich Results Test.

You might have meant

rich resultbreadcrumb structured datafeatured snippetentityindexing

Go deeper