JSON-LD (JavaScript Object Notation for Linked Data) is the W3C-recommended format for embedding structured data into web pages using a JSON script block, allowing search engines to read explicit metadata about page content.
JSON-LD in plain English
JSON-LD is a script you place inside a web page that tells search engines exactly what the page is about in a machine-readable format. On a product page, for example, a JSON-LD block declares the product name, price, currency, availability, SKU, brand, aggregate rating, and review count as structured fields rather than leaving search engines to guess from the visible HTML.
Mechanically, JSON-LD lives inside a <script type="application/ld+json"> tag, typically in the document head or body. The script contains a JSON object with a @context (almost always set to https://schema.org) and a @type (such as Product, Article, Organization, BreadcrumbList, or FAQPage), followed by properties defined by that schema type. Search engine crawlers parse the JSON, validate it against the declared schema, and use it to generate rich results, knowledge panel entries, and AI-generated answers.
Done well, JSON-LD mirrors what is visibly on the page, uses the correct schema type for the content, includes all required and recommended properties for that type, and validates cleanly in Google's Rich Results Test and Schema.org validator. Done poorly, it contradicts visible page content, uses generic Thing types instead of specific ones, omits required fields like price or availability on Product schema, or marks up content that does not exist on the page — all of which trigger manual actions or cause rich results to disappear entirely.
For ecommerce product pages, Google requires at minimum name, image, and either offers, review, or aggregateRating for Product schema to qualify for rich results. Stores running review, price, and availability markup correctly are eligible for star ratings, price displays, and stock status directly in search listings.
Why json-ld matters for ecommerce
Ecommerce listings live or die on what shows up in the SERP snippet. A product page with valid JSON-LD displays star ratings, price, and in-stock status directly in Google results and gets cited by AI search engines with accurate product details. A product page without it shows a plain blue link competing against richer-looking competitors. The decision shows up in concrete places: whether a Shopify theme's default schema is sufficient, whether to install a schema app, whether to add FAQPage markup to category pages, and whether broken markup is silently disqualifying the entire catalog from rich results.