Create a BreadcrumbList with at least two ordered ListItem entries that represent a typical visible user path. Keep positions sequential, ancestor URLs canonical and crawlable, and the structured trail consistent with navigation.
- Breadcrumb markup should describe meaningful user navigation rather than mechanically mirror URL folders.
- Google requires at least two ListItem entries for breadcrumb eligibility.
- Linked ancestor items should resolve directly to useful canonical pages.
- Multiple breadcrumb trails are appropriate only when the page genuinely belongs to multiple user paths.
01
Definition
Breadcrumb structured data describes a page’s position within one or more meaningful site paths.
Google uses the BreadcrumbList type with ordered ListItem entries. Current feature documentation requires at least two list items for eligibility and recommends representing a typical user path rather than mechanically copying the URL structure. The site root and the current page are not always required as list items. Breadcrumb structured data[1]
A breadcrumb trail can serve three related functions:
- Help users understand where the page sits
- Provide navigational links to broader sections
- Give search systems explicit hierarchy information
The visible breadcrumb and structured data should describe the same practical route.
02
Mechanism
A JSON-LD representation can be modeled as:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Technical SEO",
"item": "https://www.example.com/topics/technical-seo"
},
{
"@type": "ListItem",
"position": 2,
"name": "Structured Data",
"item": "https://www.example.com/topics/structured-data"
},
{
"@type": "ListItem",
"position": 3,
"name": "Breadcrumb Markup"
}
]
}This sample describes the sequence:
Technical SEO
→ Structured Data
→ Breadcrumb MarkupPositions must form an ordered path
Use integer positions beginning with one and increasing by one.
Avoid:
- Duplicate positions
- Missing middle positions
- Reversed order
- Several unrelated roots in one list
- Position values based on URL depth rather than breadcrumb order
Names should match the navigational meaning
A breadcrumb label can be shorter than the page title, but it should accurately identify the destination.
Good:
Home → Technical SEO → Breadcrumb MarkupWeak:
Home → Category 8 → Page 417The markup should help explain the page, not merely expose database structure.
Items should resolve to the intended pages
For linked ancestors, use absolute canonical URLs that return useful responses.
Check:
- Successful status
- Preferred protocol and hostname
- No redirect chain
- Correct language
- Correct canonical
- Crawlable internal link
- No staging hostname
Google’s documentation allows the final breadcrumb item to omit item when it represents the current page. Keep the implementation consistent across the template. Breadcrumb structured data[1]
One page can have more than one valid path
A page about an award-winning science-fiction book could belong to:
Books → Science Fiction → Award Winnersand:
Literature → Award WinnersGoogle documents multiple breadcrumb trails as a supported pattern. Use multiple lists only when both paths reflect real user navigation. Do not emit every taxonomy combination the database can generate.
Structured data should follow visible navigation
Google’s general quality rules require markup to describe content visible to users and avoid misleading representations. A hidden hierarchy invented only for search is weaker than a useful visible breadcrumb. General structured data guidelines[2]
03
Examples
Article inside a controlled topic
Visible trail:
Topics → Google Indexing → Crawl StatsStructured trail:
- Topics, position 1
- Google Indexing, position 2
- Crawl Stats, position 3
The article URL does not need to contain /topics/google-indexing/. Breadcrumbs express conceptual navigation, not a required URL-folder relationship.
Product with category and brand paths
The same shoe could be reached through:
Shoes → Running Shoes → Model Xor:
Brands → Example Brand → Model XBoth can be valid if the site truly supports both navigational paths. Keep each list internally coherent.
Breadcrumb shows a redirecting category
Visible link:
/old-categorywhich redirects to:
/new-categoryUpdate the visible link and structured-data item to the final canonical URL. Breadcrumbs should not preserve migration debris as a lifestyle choice.
Single-item breadcrumb
A list containing only the current page does not provide a hierarchy and does not meet Google’s documented minimum of two list items. Add a meaningful parent path or omit the feature.
URL-folder mirroring creates nonsense
URL:
/store/index.php?id=84&ref=menuA breadcrumb should not become:
Store → index.php → id 84 → ref menuModel the user-facing hierarchy instead.
04
Boundaries
Validate with this sequence:
- Inspect the visible breadcrumb.
- Confirm that every ancestor link works.
- Compare labels with the linked page.
- Verify canonical host and protocol.
- Check list positions.
- Confirm at least two list items.
- Test the live URL in the Rich Results Test.
- Inspect the rendered page if JavaScript generates the data.
- Monitor the breadcrumb enhancement report.
- Recheck after navigation-template changes.
Common failure modes include:
- Markup exists but visible breadcrumbs do not
- Structured path differs from navigation
- Position values repeat
- Item URL is relative, malformed, redirected, or blocked
- Breadcrumb points to staging
- Current page is represented as an unrelated parent
- Every taxonomy path is emitted
- Only one item is present
- Mobile and desktop templates disagree
- JavaScript removes or replaces the object
- A plugin emits a second conflicting list
Breadcrumb markup does not repair poor architecture by itself. The parent pages should remain useful, linked, indexable when intended, and contextually related.
Use JSON-LD vs. Microdata vs. RDFa when deciding how to encode the list. Use Organization Structured Data for stable entity identifiers and Internal Links vs. XML Sitemaps for the distinction between navigation and discovery support.
A reliable breadcrumb implementation begins with an honest user path. The structured object should document that path, not manufacture one after the interface has failed to provide it.
References
Sources behind this record
Corrections
Correction history
No corrections recorded.
To report an error, use the public corrections path.
Breadcrumb structured data can clarify hierarchy and rich-result eligibility, but it does not repair weak navigation or guarantee that Google will display the submitted trail.