What BreadcrumbList schema does
BreadcrumbList schema declares the path from your homepage to the current page in a machine-readable format. It answers the question "where does this page sit in your website?" for search engines and AI systems — and it controls how your URL is displayed in Google search results as a breadcrumb trail rather than a raw URL.
For AI visibility, the value is structural. A website where every page has consistent BreadcrumbList markup gives AI systems a clear map of how your content is organised — which makes it easier to build an accurate model of what your business covers, and harder to miss pages that are relevant to a user query.
The structure of BreadcrumbList schema
BreadcrumbList uses an ordered itemListElement array of ListItem types, each with a position number, a name, and (for all but the final item) a URL:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.yourbusiness.co.uk/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Services",
"item": "https://www.yourbusiness.co.uk/services/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Boiler Repair"
}
]
}
The final item — the current page — does not require an item URL. Its name should match the page's H1 heading exactly.
Where to place BreadcrumbList schema
How BreadcrumbList interacts with Google Search appearance
When Google displays your page in search results, BreadcrumbList schema replaces the raw URL with a readable path — "yourbusiness.co.uk > Services > Boiler Repair" rather than "yourbusiness.co.uk/services/boiler-repair/". This has a small but measurable impact on click-through rate. It also signals to Google that your site has intentional, organised structure rather than flat or arbitrary URL patterns.
Common mistakes to avoid
Positions not sequential from 1
Position values must start at 1 and increment by 1. Gaps in position numbers (1, 2, 4) or starting at 0 will fail validation. Always number sequentially from 1.
Names that don't match visible navigation
The name values in your schema must match the visible breadcrumb text on the page. If your page shows "Services" in the nav but your schema says "Our Services", this is an inconsistency that may affect rich result eligibility.
Missing item URLs on non-final breadcrumbs
All breadcrumb items except the last must include an item URL. Omitting URLs from parent breadcrumbs (e.g. not including a URL for the "Services" level) is a common cause of BreadcrumbList validation failures.