---
title: Breadcrumb (BreadcrumbList) structured data
description: "## **What is Breadcrumb Structured Data?** Breadcrumb structured data provides a **trail of links** showing the page’s position within the site hierarchy. This helps users understand where they are and navigate back step-by-step. Google may display this breadcrumb trail in…"
url: "https://fsidm.in/knowledge/seo/breadcrumb-structured-data/"
updated: "2025-11-13"
category: SEO
---

# Breadcrumb (BreadcrumbList) structured data

## **What is Breadcrumb Structured Data?**

Breadcrumb structured data provides a **trail of links** showing the page’s position within the site hierarchy. This helps users understand where they are and navigate back step-by-step.

Google may display this breadcrumb trail in search results on desktop, improving clarity and user experience.

## **Key Points**

- Use **BreadcrumbList** schema to mark up breadcrumbs.
- Each breadcrumb item is a **ListItem** with:

  - position (order in the trail)
  - name (label shown to users)
  - item (URL of that breadcrumb page, optional for the last item)
- Breadcrumbs should represent **typical user navigation paths**, not necessarily the exact URL structure.
- Include **at least two ListItems** to be eligible for rich results.
- The last breadcrumb item’s item property can be omitted; Google uses the current page URL then.
- Support for multiple breadcrumb trails on one page is allowed (JSON-LD array).

## **JSON-LD Example (Single Breadcrumb Trail)**

<script type="application/ld+json">

{

  "@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"

  }\]

}

</script>

## **JSON-LD Example (Multiple Breadcrumb Trails)**

<script type="application/ld+json">

\[

  {

    "@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"

    }\]

  }

\]

</script>

## **Guidelines to Follow**

- Provide a **logical and user-friendly breadcrumb path**.
- At least two breadcrumb items (ListItems) required.
- Use real URLs for all breadcrumbs except possibly the last one.
- Don’t include your site’s root domain or current page as mandatory items.
- Avoid marking up irrelevant or spammy breadcrumb trails.
- Make sure URLs are crawlable by Google.
- Use JSON-LD (recommended) or Microdata/RDFa if preferred.
- Test your markup with Google’s Rich Results Test.

## **Monitoring & Troubleshooting**

- Use **Google Search Console** to monitor valid and invalid breadcrumb markup.
- Fix errors promptly based on Search Console feedback.
- Allow a few days/weeks for Google to re-crawl and reflect changes.
- Refer to Google’s **General Structured Data Guidelines** for additional best practices.
- If markup issues persist, check for possible manual actions or spammy markup.
