In short. Nest related items under a main item or connect separate entities with JSON-LD identifiers when their relationship matters.
Definition: Several structured data items can describe the same page as nested data or as separate items. Nest related items under one main item, or connect separate node descriptions with identifiers when the relationship matters.
Key facts
- Google Search understands multiple items whether they are nested or specified individually, according to Google's structured data guidelines.
- Google describes JSON-LD as a format whose markup is separate from visible text, which makes nested data items easier to express, in its structured data introduction.
- In JSON-LD,
@ididentifies a node object with an IRI or a blank node identifier, and a node reference can contain only@id, according to the W3C JSON-LD 1.1 specification.
What are the two ways to place several items?
Google defines multiple items as more than one kind of thing on a page. Its example combines a recipe, a video that shows how to make it, and breadcrumb information. Google Search understands both nesting, where additional items are grouped under one main item, and individual items, where each item is a separate block.
The page's main subject should have the main structured data type. Google's example says that a recipe page should include Recipe structured data as well as Video and Review structured data when those items describe visible content. The same guidance says that structured data items should be complete, including all visible reviews when a page displays multiple reviews.
When should related items be nested?
Nesting fits a page with one main item and supporting items that belong to it. Google gives a Recipe as the main item and places aggregateRating and video inside it. JSON-LD is suitable for this shape because its markup is not interleaved with the user-visible text.
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "Banana Bread Recipe",
"aggregateRating": {
"@type": "AggregateRating"
},
"video": {
"@type": "VideoObject",
"name": "How To Make Banana Bread"
}
}
This structure makes the video and rating properties of the Recipe object. The Google example uses the same Recipe, AggregateRating, and VideoObject types.
How should separate items be connected?
Separate blocks are also valid when each item is an independent block on the page. If two items are related, Google's guidance says to use @id in both the recipe and video items to specify that the video is about the recipe. The W3C specification defines @id as the keyword for uniquely identifying node objects and says that a node reference containing only @id can refer to a node described elsewhere in the document.
{
"@type": "Recipe",
"@id": "https://example.com/page#recipe"
}
{
"@type": "VideoObject",
"about": {
"@id": "https://example.com/page#recipe"
}
}
The identifier should identify the entity being referenced. The W3C specification describes IRIs as the identifiers that make nodes externally referenceable, and notes that dereferencing an identifier should result in a representation of that node. A top-level @graph is another JSON-LD shape for nodes that do not reference one another; it preserves one shared @context for the document.
What should be checked after implementation?
Check that every item represents content visible on the page and that its required and recommended properties follow the documentation for that type. Google's introduction identifies the Rich Results Test as a validation tool and points to Rich result status reports for monitoring after deployment. Google also says that an image URL in structured data must be crawlable and indexable for Google Search to find and display it.
The Google guidelines leave one implementation choice open: they document both nesting and separate items, so the relationship between the items determines the useful shape. They do not set one universal nesting rule for every schema.org type.
Related terms
FAQ
Can a page contain separate Recipe and BreadcrumbList items?
Yes. Google's example presents Recipe and BreadcrumbList as two distinct structured data items on the same page. Use a relationship identifier when separate items describe connected entities.
Should every item be nested under the main item?
No. Google documents nesting for a main item with related additional items and individual items for separate blocks. The choice depends on whether the data is grouped under one item or described separately.
Does @id replace the properties that describe an entity?
No. @id identifies the node. The item still needs the properties required or recommended by the relevant structured data documentation, and Google's guidelines require the markup to represent the visible page content.
Sources
- Google Search Central, "General Structured Data Guidelines", 10 July 2026
- Google Search Central, "Intro to How Structured Data Markup Works", 10 December 2025
- W3C, "JSON-LD 1.1", 16 July 2020
Check how a page reads to answer engines. Open the GEO score analyzer