Skip to the journal
Search Engine Optimization Directory

BreadcrumbList Schema: Implementation and How Breadcrumbs Appear in Search

  • Filed November 10, 2026
  • Structured data, guide 2 of 9

BreadcrumbList markup describes the path to a page within a site’s hierarchy, such as Home, then Furniture, then Sofas, then the product. Google’s documentation says it “uses breadcrumb markup in the body of a web page to categorize the information from the page in search results” (Google’s breadcrumb structured data documentation). Since January 2025, breadcrumbs appear in Google results on desktop only; on mobile the visible URL is simplified to the domain. Breadcrumbs are also a separate feature from sitelinks: they show a result’s place in the site, while sitelinks are additional links to other pages, chosen automatically.

Where breadcrumbs appear

Google’s documentation states the feature “is available on desktop in all regions and languages where Google Search is available”. On January 23, 2025, Google announced it would no longer show breadcrumbs on mobile search results, simplifying the mobile visible URL to the domain only, while breadcrumbs continue on desktop. The announcement added: “If you’re using breadcrumb markup, there’s nothing you need to do” (Google’s January 2025 announcement).

How to structure the trail

Google’s guidance includes:

  • “We recommend providing breadcrumbs that represent a typical user path to a page, instead of mirroring the URL structure”.
  • It is not required to include a ListItem for the top level (the domain) or for the page itself.
  • A BreadcrumbList should contain at least two ListItems.
  • If there are several ways to navigate to a page, you can specify multiple breadcrumb trails for one page.
  • If item is omitted for the last item, Google uses the URL of the containing page.

Each ListItem has a position (starting at 1), a name and, except optionally for the last item, an item URL.

A valid example

For a product page at https://www.example.com/p/oslo-3-seat-sofa:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Furniture",
      "item": "https://www.example.com/furniture/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Sofas",
      "item": "https://www.example.com/furniture/sofas/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Oslo 3-Seat Sofa"
    }
  ]
}

The trail follows the user’s path (Furniture, Sofas, product), even though the product URL is a flat /p/ path. That is the case Google’s recommendation addresses: the breadcrumb represents navigation, not the URL.

Invalid or problematic examples

Problem Example Why it fails
Only one item A list with just the current page Google asks for at least two ListItems
Positions out of order or duplicated Positions 1, 3, 3 Positions should describe the order of the trail
Relative URLs in <!–INLINECODE6–> <!–INLINECODE7–> Use absolute URLs
Trail not visible on the page Markup present, no visible breadcrumb Google's general guidelines say not to mark up content readers cannot see
Trail that does not match the site Category in markup that the page is not in Misleading markup
Keyword-stuffed names <!–INLINECODE8–> Not a real navigation label
Non-canonical URLs Category URLs with tracking parameters Points to duplicates instead of canonical category pages

Breadcrumbs vs sitelinks

Breadcrumbs Sitelinks
What they show A result's position in the site hierarchy Extra links to other pages of the site under a result
Controlled by markup? BreadcrumbList markup is the documented input No; Google says sitelinks are automated
Where Desktop results, in the URL line Under results, on navigational searches where Google finds them useful

BreadcrumbList markup does not produce or choose sitelinks. Good site structure supports both, but through different mechanisms.

Testing

  1. Run the Rich Results Test on representative templates (product, category, article); the structured data troubleshooting sequence covers what to do with its errors.
  2. Check the Breadcrumbs report in Search Console for errors across the site.
  3. Confirm the visible breadcrumb on each template matches the markup.
  4. Check that each item URL returns 200 and is the canonical version.
  5. On desktop, search for the page and observe whether a breadcrumb appears; on mobile, expect the domain only.

Step 3 is the one tools cannot do for you: Google’s general guidelines note that a structured data issue “can result in a manual action” (structured data general guidelines), so markup for a trail readers cannot see, or for a category the page is not in, risks more than a missing breadcrumb.

Breadcrumb markup checklist

  • [ ] Visible breadcrumb trail on each page that carries markup.
  • [ ] At least two ListItems, positions in order.
  • [ ] Absolute, canonical URLs in item.
  • [ ] Trail reflects a user’s navigation path.
  • [ ] Multiple trails only where multiple real paths exist.
  • [ ] No expectation of mobile display or of sitelinks from this markup.
  • [ ] Validated and monitored.