How to Fix Conflicting Breadcrumb Lists and ItemLists

By Ryan York

Resolve conflicts between BreadcrumbList and ItemList schema to ensure your navigation is correctly interpreted by search engines.

How Do You Resolve Conflicts Between BreadcrumbList and ItemList Schema?

Conflicts between BreadcrumbList and ItemList schema can confuse search engines and cause structured data errors. This guide explains how to avoid and fix these conflicts.

What are BreadcrumbList and ItemList?

  • BreadcrumbList describes the navigation path to a page
  • ItemList describes a list of items (e.g., products, articles)

Why Conflicts Happen

  • Using both schemas on the same page with overlapping or duplicate items
  • Incorrectly nesting one schema inside the other
  • Using the same @id for both lists

Example of a Conflict

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "/" },
    { "@type": "ListItem", "position": 2, "name": "Blog", "item": "/blog" }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "/" },
    { "@type": "ListItem", "position": 2, "name": "Blog", "item": "/blog" }
  ]
}

Problem: Both lists describe the same items.

How to Fix

  • Use BreadcrumbList for navigation, ItemList for content lists
  • Do not duplicate items between schemas
  • Use unique @id values if both are present

Best Practices

  • Validate your schema with Google's Rich Results Test
  • Only use both schemas if necessary and with clear separation

Conclusion

Clear separation between BreadcrumbList and ItemList ensures accurate navigation and content indexing by search engines.