BreadcrumbList Schema: breadcrumb markup
How to add BreadcrumbList structured data to your site: required fields, JSON-LD examples, impact on snippets and navigation, common mistakes.
BreadcrumbList Schema is a structured data type from schema.org for marking up navigation breadcrumb trails. It allows Google to display a clean chain of section names instead of a long URL in the snippet, improving click-through rate.
What is BreadcrumbList Schema
BreadcrumbList Schema is a structured data vocabulary that helps search engines understand the page hierarchy on your site. Breadcrumbs are a navigation trail showing the path from the homepage to the current page. Example: Home › Blog › SEO › Optimization.
When you add BreadcrumbList markup, Google may display a readable trail instead of the URL in the snippet. This improves CTR because users immediately see the site structure and understand how deep they are.
Required fields
For valid BreadcrumbList markup, you must include the following fields:
- @context — always https://schema.org
- @type — BreadcrumbList
- itemListElement — an array of ListItem objects, each representing a step in the trail.
- position — the order number of the element (starting at 1).
- name — the text label of the element (e.g., 'Home', 'Electronics').
- item — the URL of the element (for the last element, item may be omitted).
The first element always links to the homepage. The last element is the current page — for it, the item field is not needed since it points to the current URL.
Example JSON-LD markup
Below is a complete example of breadcrumb markup for a blog article page.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://example.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "SEO",
"item": "https://example.com/blog/seo"
},
{
"@type": "ListItem",
"position": 4,
"name": "How to optimize breadcrumbs"
}
]
}Insert this code inside a <script type="application/ld+json"> tag in the <head> or just before closing </body>. Google recommends JSON-LD as the preferred format.
Mistakes and nuances
When implementing BreadcrumbList, common mistakes include:
- Omitting the item field for the first element — always provide the homepage URL.
- Providing item for the last element — this creates a self-referential link, which is unnecessary.
- Incorrect position order — positions must be sequential (1,2,3…).
- Using relative URLs — all items should be absolute (with https://).
- Adding breadcrumbs to the homepage — they are not needed there and may confuse Google.
After adding the markup, test it using the Rich Results Test (https://search.google.com/test/rich-results). Make sure you see a preview with breadcrumbs.
Common questions
Discuss your project?
Share your goals and website context — I will suggest a practical next step.