# JSON-LD

Category: [Structured Data & SERP Features](https://seo-geo-glossary.com/en/glossary/category/structured-data-serp-features/) › [Basics & formats](https://seo-geo-glossary.com/en/glossary/category/structured-data-serp-features/basics-formats/)

**JSON-LD** (JSON for Linked Data) is a JSON-based format for embedding structured data in a web page. Search engines read it to learn what the page is about, such as a product, an article, or an organization. The vocabulary usually comes from schema.org.

## How is JSON-LD built?

The W3C published JSON-LD 1.1 as a Recommendation on July 16, 2020. Every JSON-LD document is also a valid JSON document. Three keywords carry the meaning. `@context` maps terms to unambiguous identifiers, `@type` names the type of an object, and `@id` identifies a node so that statements can be linked.

On web pages JSON-LD sits in a `<script type="application/ld+json">` element. Google allows it in the head or the body, and it can also be injected with JavaScript. That separates it from Microdata and RDFa, which put attributes into the visible HTML.

## Why does Google recommend JSON-LD?

Google supports JSON-LD, Microdata, and RDFa and recommends JSON-LD. Google calls JSON-LD the easiest solution for site owners to implement and maintain at scale, which makes it less prone to user errors. The data must match the visible content and belong to the page it sits on. Markup on blank pages is not allowed.

Whether a page then gets a rich result depends on the type and its required properties. Google recommends validating markup with the Rich Results Test.

## Example

```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Inc.",
  "url": "https://www.example.com/",
  "logo": "https://www.example.com/logo.png"
}
</script>
```

## JSON-LD and AI assistants

A test by searchVIU (2025) checked whether AI services use information from structured data. None of the five services tested (ChatGPT, Claude, Gemini, Perplexity and Google AI Mode) reported a price that appeared only in a test page's JSON-LD, while ChatGPT and Gemini did find prices shown in the visible text. Google says AI Overviews and AI Mode need no special markup and expects structured data to match the visible content.

## Common mistakes

- The markup describes content that is not visible on the page.
- Required properties are missing, so the type does not qualify for a rich result.
- The JSON is invalid, for instance through a trailing comma or typographic quotation marks.

## FAQ

**What is the difference between JSON and JSON-LD?** JSON-LD is JSON with additional keywords such as `@context` and `@type` that tie the data to a vocabulary.

**How can I validate JSON-LD?** With Google's Rich Results Test for Google features and with the Schema Markup Validator for general schema.org syntax.

## Structured data formats compared

| Format | Where does the markup go? | Relation to visible content | Google's position |
|---|---|---|---|
| JSON-LD | in a <script type="application/ld+json"> in the <head> or <body> | separate from the visible text; nested data is easy to express | recommended as easiest to implement and maintain at scale, less prone to user errors; also read when injected with JavaScript |
| Microdata | as attributes on HTML elements, usually in the <body>, also possible in the <head> | nested within the HTML content | supported; equally fine for Google as long as the markup is valid and implemented per the documentation |
| RDFa | as attributes on HTML elements, in the <head> and <body> | attributes on elements with user-visible content | supported; equally fine for Google as long as the markup is valid and implemented per the documentation |

Sources: [Google Search Central: Introduction to structured data markup in Google Search (last updated 2025-12-10)](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data); [schema.org: Data model](https://schema.org/docs/datamodel.html). Last checked: October 8, 2026

## Not to be confused with

- [Microdata](https://seo-geo-glossary.com/en/glossary/microdata/index.md): writes the data as attributes (itemscope, itemtype, itemprop) directly on the visible HTML elements. JSON-LD instead collects it in a separate script block.

## Related terms

- [Schema.org](https://seo-geo-glossary.com/en/glossary/schema-org/index.md)
- [Microdata](https://seo-geo-glossary.com/en/glossary/microdata/index.md)
- [Rich results](https://seo-geo-glossary.com/en/glossary/rich-results/index.md)
- [Rich Results Test](https://seo-geo-glossary.com/en/glossary/rich-results-test/index.md)
- [Schema Markup Validator](https://seo-geo-glossary.com/en/glossary/schema-markup-validator/index.md)

## More on the searchVIU blog

- [Schema Markup and AI in 2025: What ChatGPT, Claude, Perplexity & Gemini Really See](https://www.searchviu.com/en/schema-markup-and-ai-in-2025-what-chatgpt-claude-perplexity-gemini-really-see/)

## Sources

- [Introduction to structured data markup - Google Search Central](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data)
- [JSON-LD 1.1 - W3C Recommendation, 16 July 2020](https://www.w3.org/TR/json-ld11/)
- [Schema Markup and AI in 2025: What ChatGPT, Claude, Perplexity & Gemini Really See – searchVIU blog (2025)](https://www.searchviu.com/en/schema-markup-and-ai-in-2025-what-chatgpt-claude-perplexity-gemini-really-see/)
- [AI features and your website – Google Search Central](https://developers.google.com/search/docs/appearance/ai-features)

---

Last updated: October 8, 2026
URL: https://seo-geo-glossary.com/en/glossary/json-ld/
