BreadcrumbList Schema
Session 5.7 · ~5 min read
Declaring Your Hierarchy
BreadcrumbList schema tells Google your site's hierarchy explicitly. Instead of Google guessing how your pages relate to each other based on URL structure and internal links, you declare it: Home > Services > Pump Installation > Centrifugal Pumps. This is not just a navigation aid for users. It is a structural signal that defines parent-child relationships between pages.
When BreadcrumbList schema is correctly implemented, Google displays the breadcrumb path in search results instead of the raw URL. This improves click-through rates and tells users exactly where a page sits in your site structure before they click.
BreadcrumbList schema is one of the easiest schemas to implement and one of the most reliably triggered rich results. If you implement nothing else beyond Organization schema, add breadcrumbs.
What Breadcrumbs Signal to Google
Beyond the visual rich result, breadcrumb schema provides three structural signals:
| Signal | What It Tells Google | Entity Benefit |
|---|---|---|
| Page hierarchy | Which pages are parents of which | Clarifies topical structure |
| Section grouping | Which pages belong to the same section | Defines topical clusters for authority |
| Depth indicator | How deep a page is in your architecture | Helps Google prioritize crawling |
BreadcrumbList Structure
A BreadcrumbList is an ordered list of ListItems. Each ListItem has a position (its order in the trail), a name, and an item (URL). The convention is ascending order: position 1 is the topmost level (usually Home), and the last position is the current page.
Home"] --> P2["Position 2:
Services"] P2 --> P3["Position 3:
Pump Installation"] P3 --> P4["Position 4:
Centrifugal Pumps
(current page)"]
Implementation Example
For a page at yoursite.com/services/pump-installation/centrifugal/:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yoursite.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Services",
"item": "https://yoursite.com/services/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Pump Installation",
"item": "https://yoursite.com/services/pump-installation/"
},
{
"@type": "ListItem",
"position": 4,
"name": "Centrifugal Pumps"
}
]
}
</script>
Note that the last item (the current page) does not include an item URL. This is Google's recommended pattern: the last breadcrumb represents the page you are on, so it does not need a link.
SiteNavigationElement
While BreadcrumbList handles hierarchical position, SiteNavigationElement schema can describe your main navigation menu. It tells Google which pages are your primary navigation items. This is less commonly implemented than breadcrumbs and does not trigger a dedicated rich result, but it provides structural clarity.
| Schema Type | Purpose | Rich Result | Implementation Priority |
|---|---|---|---|
BreadcrumbList |
Declare page hierarchy | Yes (breadcrumb trail in SERP) | High |
SiteNavigationElement |
Declare main navigation structure | No (structural signal only) | Low-Medium |
Implementation Tips
Practical considerations for breadcrumb implementation:
- One BreadcrumbList per page. Do not add multiple breadcrumb schemas to a single page.
- Match visible breadcrumbs. If your page displays a visible breadcrumb trail in the UI, the schema should match it exactly. Google penalizes mismatches between visible content and structured data.
- Dynamic generation. For sites with many pages, generate BreadcrumbList schema dynamically based on the URL structure or page metadata. Do not hardcode it per page.
- Consistent URL format. The URLs in your BreadcrumbList must match your site's canonical URLs exactly (protocol, www/non-www, trailing slash).
Rich Result + Structure Signal"] VB --> Users["User
Navigation Aid"] BC -.->|"Must match"| VB
Further Reading
- Breadcrumb Structured Data - Google Search Central's official guide to implementing BreadcrumbList schema.
- BreadcrumbList - Schema.org Type - Schema.org documentation for the BreadcrumbList type.
- Why BreadcrumbList Schema Is Important - Schema.dev's explanation of breadcrumb benefits and implementation patterns.
- Breadcrumbs and Breadcrumb Schema - Matthew Edgar's detailed guide to breadcrumb best practices for SEO.
Assignment
- Map your site hierarchy for your 5 most important pages. For each, write the full breadcrumb trail from Home to that page.
- Write BreadcrumbList JSON-LD for each of those 5 pages. Ensure position numbers are correct and URLs match your canonical format.
- If your site already displays visible breadcrumbs, confirm your schema matches the visible trail exactly.
- Validate one of the blocks at the Rich Results Test. It should show "Breadcrumb" as an eligible rich result.