BreadcrumbList Schema Markup
BreadcrumbList markup tells Google about your page's position in the site hierarchy. When implemented, Google replaces the URL in search results with a formatted breadcrumb trail, improving click-through rates and user understanding.
Google Search Features
- Breadcrumb The page's position in the site hierarchy, shown in its search result (desktop only).
When to Use BreadcrumbList
Properties
| Property | Type | Status | Description |
|---|---|---|---|
| itemListElement | ListItem (array) | required | Ordered list of breadcrumb items with position, name, and item (URL). |
JSON-LD Examples
E-commerce Breadcrumb
Product page breadcrumb trail.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://shop.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Electronics",
"item": "https://shop.com/electronics"
},
{
"@type": "ListItem",
"position": 3,
"name": "Headphones",
"item": "https://shop.com/electronics/headphones"
},
{
"@type": "ListItem",
"position": 4,
"name": "ProMax Wireless Headphones"
}
]
} Common Mistakes
Forgetting the position property — each ListItem must have a numeric position starting at 1.
Not including the item URL on intermediate breadcrumb items — only the last (current page) item should omit the URL.
Complete Guide to BreadcrumbList Schema Markup
BreadcrumbList schema markup replaces the plain URL in Google search results with a formatted breadcrumb trail showing the page's position in your site hierarchy. This small change can meaningfully improve click-through rates by giving searchers context about where a page lives on your site.
Each breadcrumb item is a ListItem with a position (starting at 1), name, and item (the URL). The last item in the trail (the current page) typically omits the item URL since it's the page the user is already looking at in search results.
Related Types
Check Your BreadcrumbList Markup
The generator doesn't have a BreadcrumbList form yet. Paste your markup into the validator to check its types, properties and values, and what Google needs from it.
Open Validator