BreadcrumbList
BreadcrumbList tells search engines the navigational hierarchy of a page within a site. It powers breadcrumb rich results in Google Search, displaying the page path directly below the title in search results (e.g., "Home > Blog > Post Title"). AI answer engines use BreadcrumbList to understand site structure and page relationships when constructing answers about specific content.
Google requires BreadcrumbList markup to display breadcrumb trails in search results. Without it, Google falls back to URL parsing, which often produces less readable paths.
Fields by Google status
Required
- itemListElement — An ordered array of ListItem objects representing each step in the breadcrumb trail. Each ListItem needs
position,name, anditem(URL).
JSON-LD example
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://stripe.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Docs",
"item": "https://stripe.com/docs"
},
{
"@type": "ListItem",
"position": 3,
"name": "Payments",
"item": "https://stripe.com/docs/payments"
},
{
"@type": "ListItem",
"position": 4,
"name": "Accept a Payment"
}
]
}
The last item in the list omits the item URL because it represents the current page. Google accepts this pattern.
When to use BreadcrumbList
Add BreadcrumbList to every page that has a logical position in the site hierarchy. This includes:
- Blog posts (Home > Blog > Category > Post)
- Product pages (Home > Category > Subcategory > Product)
- Documentation pages (Home > Docs > Section > Page)
- Any page deeper than the homepage
BreadcrumbList is commonly embedded within other page-level types like Article, Product, or WebPage using a breadcrumb property. It can also stand alone as a separate JSON-LD block on the page.
Do not use BreadcrumbList for pagination or unrelated link sequences. The list must represent a navigational path from the site root to the current page.