ListItem schema
One element of an ItemList or BreadcrumbList.
Where to use it
Never a top-level node: ListItem lives inside ItemList or BreadcrumbList.
A complete example
Valid as written, with every required property and the recommended ones that carry real information.
{
"@context": "https://schema.org",
"@type": "ListItem",
"position": 1,
"name": "Acme Reference",
"item": "https://www.seoforsolos.com/example"
}Generate a ListItem node with your own values in the schema generator, and lint what your page actually ships with the schema validator.
Properties
| Property | Status |
|---|---|
position | Required |
name | Recommended |
item | Recommended |
url | Recommended |
The three mistakes this type attracts
- 01position starting at 0.
- 02Both item and url set with different values.
- 03Omitting name, leaving the entry unlabelled.
Related types
Where this appears in the playbook
- Structured data: what each type is for and which ones earned their place.
- The schema graph: composing types into one graph with stable identifiers.
- One JSON-LD script per page, holding one @graph
- Stable @id anchors that cross-reference rather than duplicate
- Optional fields are omitted, never emitted as empty strings
- Does schema markup work? What 42 types on one site actually did: which of these types measurably did anything in production.
Questions
What is the ListItem schema type for?
One element of an ItemList or BreadcrumbList. Use it on: never a top-level node: ListItem lives inside ItemList or BreadcrumbList.
Which ListItem properties are required?
ListItem requires one property: position. It also recommends 3: name, item, url.
Does ListItem produce a rich result?
ListItem does not produce a Google rich result. It is still worth shipping, because its value is entity resolution and answer extraction rather than search result presentation.
What is the most common ListItem mistake?
The most common ListItem mistake is: position starting at 0.