Tutorial · technical-seo · Published 2026-08-16 · 3 min read

Add breadcrumb structured data (BreadcrumbList)

Add BreadcrumbList structured data correctly: ListItem, position, name and item, the desktop-only rich result note, and how to match the visible trail.

The required shape

Breadcrumb structured data describes the visible breadcrumb trail on your page so Google can replace the raw URL in the search snippet with the path. The markup is a BreadcrumbList JSON-LD block containing an ordered itemListElement array. Every entry is a ListItem with:

PropertyRequirement
positionRequired, integer starting at 1 and increasing by 1
nameRequired, the visible label of that step
itemRequired for every step except the final (current page)
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Guides",
      "item": "https://www.example.com/guides/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Breadcrumb schema"
    }
  ]
}

The trailing item on the current page is conventionally omitted; if you include it, it must point at the current page's own URL. Positions must start at 1, step by 1, and never introduce a gap. item values must be absolute URLs.

Match the visible trail

The markup mirrors what the visitor sees left-to-right. Two consequences follow:

  1. Do not invent steps. If the page shows Home / Guides / This page, markup exactly those three steps. Do not insert a Blog in the middle that the user cannot click.
  2. The path does not need to mirror the URL. Google recommends breadcrumbs describe a typical user path, which for a product page may be Home > Category > Product even when the URL structure is flat. As long as the visible trail and the markup agree, either hierarchy is valid.

An element that has no visible equivalent is the clearest source of a Rich Results warning: the test treats a mismatch as the schema being invented rather than describing content.

Desktop-only at the moment

A 2025 Google change means breadcrumbs now render only in desktop search results, not mobile; the markup and the Enhancement report remain supported and active. The mobile display was removed because of how breadcrumbs truncate on smaller screens, and Google continues to read the structured data (the path is still a signal for how the page is understood). Do not remove the markup because it does not show on a phone; the desktop snippet still uses it, and Google's own guidance still lists BreadcrumbList among the structured data types that continue to earn rich results.

Validation and maintenance

  1. Paste your JSON-LD into the Rich Results Test with the page URL. A valid result shows the breadcrumb snippet with the matching trail.
  2. In Search Console, the Enhancements report (the breadcrumb section) shows errors, valid-with-warnings, and valid pages, and it processes changes on the next crawl. The enrichment report article covers this surface.
  3. When the trail changes (a category is renamed, a hierarchy added), update the JSON-LD and mark the page for re-crawl.

Breadcrumbs are the highest-payoff-by-effort structured data on most sites: a few lines of JSON in one template, a visible trail that still informs search, and a snippet that reads clearer than a raw URL. It sits alongside the structured data overview and the entity schema as the small, reliable layer of markup instead of a schema ingredients list.

Need a website built, fixed, optimised, migrated or replaced?

This technical resource is written by CSMBAC, a small design and development studio. If you would rather hand the problem to a professional, the website service page explains how we build enquiry-ready websites.

Explore website services