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

1
Every page on your site except the homepage. The homepage sits at the root level with no breadcrumb path above it. All other pages — services, about, blog posts, location pages — should carry BreadcrumbList markup.
2
In a @graph alongside other schema types. BreadcrumbList works well combined with Article, LocalBusiness, or FAQPage in a single @graph block, sharing the same @context declaration rather than appearing as a separate script block.
3
Matching your visible breadcrumb navigation. If your page displays a visual breadcrumb trail, the schema must match it exactly — same names, same URLs, same order. Inconsistency between visible and schema breadcrumbs can trigger validation warnings.

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.

Questions about BreadcrumbList schema

What is BreadcrumbList schema?
+
BreadcrumbList schema is structured data markup that declares the hierarchical path to a page within a website — for example, Home > Services > Boiler Repair. It tells search engines and AI systems how your site is organised and how the current page relates to the rest of your content. It also controls the breadcrumb display in Google search results.
Does BreadcrumbList schema affect AI visibility?
+
Indirectly, yes. BreadcrumbList schema helps AI systems understand your site's content hierarchy — which topics are primary, which are sub-topics, and how content relates. A well-structured site with consistent BreadcrumbList markup is easier for AI to parse and index accurately.
Should the last item in BreadcrumbList include a URL?
+
The last item (the current page) does not need an item URL — Google treats it as optional for the final breadcrumb. Including it does no harm, but omitting it is standard practice. The name field for the last item should match the page's H1 heading.