A breadcrumb trail displays a page's position within a website's hierarchy. [A breadcrumb trail on a page indicates the page's position in the site hierarchy, and it may help users understand and explore a site effectively] (Google Search Central). [Google Search uses breadcrumb markup in the body of a web page to categorize the information from the page in search results] (Google Search Central), displaying contextual navigation paths that help users understand content before clicking.
What is Breadcrumb?
A breadcrumb is a navigation element and structured data implementation that shows a user's location within a site. Marketers implement breadcrumbs using BreadcrumbList schema markup, which contains an ordered series of ListItem elements from Schema.org. Each item represents a level in the navigation path, allowing users to trace their location from the current page back toward the site root.
Why Breadcrumb matters
- Enhanced search visibility: [Google Search uses breadcrumb markup in the body of a web page to categorize the information from the page in search results] (Google Search Central). This contextual display helps users understand where a page sits within your site architecture.
- Improved navigation: Users can navigate up the site hierarchy one level at a time by following the breadcrumb trail, reducing bounce rates from visitors who land on deep pages.
- Multiple entry contexts: When users arrive from different search queries, breadcrumbs clarify site architecture by showing different valid paths to the same page.
- Desktop availability: [This feature is available on desktop in all regions and languages where Google Search is available] (Google Search Central).
How Breadcrumb works
Breadcrumbs function through structured data markup that defines hierarchical relationships between pages. [To specify breadcrumbs, define a BreadcrumbList that contains at least two ListItems] (Google Search Central).
The BreadcrumbList container requires:
* itemListElement: An array of ListItems containing at least two breadcrumbs
Each ListItem requires:
* position: An integer indicating the breadcrumb's order (position 1 signifies the beginning)
* name: The title displayed to users
* item: The URL to the webpage (not required for the last item in the trail)
You can implement this using JSON-LD, RDFa, or Microdata formats. JSON-LD typically sits in the page head, while RDFa and Microdata integrate into the HTML body.
Types of Breadcrumb trails
Sites can implement single or multiple breadcrumb trails depending on architecture complexity.
Single trail: Use when a page has one logical path. Example: Books > Science Fiction > Award Winners.
Multiple trails: Specify when different navigation paths lead to the same page. A book award page might appear under both "Books > Science Fiction > Award Winners" and "Literature > Award Winners." Implement this by including multiple BreadcrumbList objects in your markup.
Best practices
Represent user paths, not URLs: Provide breadcrumbs that reflect typical user navigation rather than mirroring URL structure exactly. This helps Google understand your site architecture from a user perspective.
Include the minimum requirements: Ensure every BreadcrumbList contains at least two ListItems with valid position, name, and item data.
Validate before deploying: Use the Rich Results Test to check for critical errors before going live. Fix any critical errors that prevent eligibility for rich results.
Monitor with Search Console: Check the Rich result status report after deployment to identify validation errors. Look for increases in valid items and no increase in invalid items.
Skip redundant levels: You do not need to include a breadcrumb ListItem for the top-level domain or the current page itself.
Common mistakes
Mistake: Creating a BreadcrumbList with only one ListItem. Fix: Include at least two items in the trail, as single-item lists do not provide navigation value and violate structured data requirements.
Mistake: Deploying markup without testing. Fix: Run your code through the Rich Results Test and fix critical errors before requesting re-crawling.
Mistake: Preventing Google from accessing breadcrumb markup with robots.txt or noindex tags. Fix: Ensure pages with structured data are accessible to Google crawlers and not blocked by login requirements.
Mistake: Attempting to manipulate search results with misleading breadcrumb paths. Fix: Follow Google's Search Essentials and general structured data policies to avoid manual actions.
Mistake: Overlooking the unparsable structured data report. Fix: Regularly check Search Console for structured data errors that the Rich Results Test might miss.
Examples
Single trail implementation (JSON-LD):
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Books",
"item": "https://example.com/books"
},{
"@type": "ListItem",
"position": 2,
"name": "Science Fiction",
"item": "https://example.com/books/sciencefiction"
},{
"@type": "ListItem",
"position": 3,
"name": "Award Winners"
}]
}
Multiple trails implementation (JSON-LD):
When a page belongs to multiple categories, include separate BreadcrumbList objects:
[{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Books",
"item": "https://example.com/books"
},{
"@type": "ListItem",
"position": 2,
"name": "Science Fiction",
"item": "https://example.com/books/sciencefiction"
},{
"@type": "ListItem",
"position": 3,
"name": "Award Winners"
}]
}, {
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Literature",
"item": "https://example.com/literature"
},{
"@type": "ListItem",
"position": 2,
"name": "Award Winners"
}]
}]
FAQ
Do I need to display breadcrumbs visually to use structured data? Not specified in the sources. However, Google recommends following general structured data guidelines, which suggest markup should accurately represent content visible to users. Maintain consistency between visible navigation and structured data.
How long until breadcrumbs appear in search results? Allow several days after publishing for Google to find and crawl the page. Use the URL Inspection tool to verify Google sees the markup correctly, then request recrawling if needed.
Can I use breadcrumbs for a flat site structure? Breadcrumbs require a hierarchical relationship. If your site lacks clear parent-child relationships, breadcrumbs may not provide navigation value or may not validate properly.
What happens if the last item lacks a URL? If you omit the item property for the final breadcrumb, Google uses the URL of the containing page. This is optional but recommended for the last position.
Why doesn't Google show my breadcrumbs? Google does not guarantee rich result display. Common reasons include structured data errors, manual actions against your page, or content that doesn't meet quality guidelines. Check the Unparsable structured data report and Manual Actions report in Search Console.
Can I specify breadcrumbs that differ from the URL structure? Yes. Google recommends providing breadcrumbs that represent typical user paths rather than mirroring the URL structure exactly. This allows you to show logical navigation paths even when URLs don't reflect the hierarchy perfectly.