BreadcrumbList is a Schema.org structured data type used to explicitly define the hierarchical navigation path, or breadcrumb trail, that indicates a webpage's position within a site's information architecture. By marking up this sequence of parent pages, developers provide search engines with a machine-readable understanding of site structure, enabling the generation of a rich breadcrumb trail in search results instead of a raw URL.
Glossary
BreadcrumbList

What is BreadcrumbList?
A technical definition of the Schema.org BreadcrumbList type and its role in communicating site hierarchy to search engines.
The markup uses an ItemList containing ListItem elements, each with a position and an item specifying the page's @id and name. This explicit entity relationship mapping is a foundational signal for algorithmic trust, as it disambiguates a page's context and reinforces the hierarchical authority flow from the homepage down to deeper content, improving crawl efficiency and user orientation.
Key Properties of BreadcrumbList
The BreadcrumbList type relies on a specific set of properties to define a page's position within a site's hierarchy. Understanding these properties is critical for generating valid, machine-readable breadcrumb trails.
itemListElement
The required core property. It accepts an ordered array of ListItem objects, each representing a single crumb in the trail. The order of these items must strictly reflect the page's hierarchical path, starting from the root or a high-level category and ending with the current page. Each ListItem is defined by its position (an integer starting at 1) and the item it represents.
numberOfItems
An optional but recommended integer property that explicitly states the total count of items in the itemListElement array. Providing this count helps parsers and validators quickly confirm the list's completeness without needing to iterate through every element. It serves as a simple integrity check for the structured data payload.
ListItem & item
Each crumb is a ListItem with two key properties:
- position: An integer (1, 2, 3...) defining the crumb's sequential order.
- item: A Thing (typically a WebPage) representing the linked page. This is where you define the crumb's
name(the anchor text) and@id(the full URL). The final crumb representing the current page should not be a hyperlink.
JSON-LD Representation
The preferred serialization format. A BreadcrumbList is expressed as a JSON-LD script block with @type set to BreadcrumbList. The itemListElement is an array of objects, each with @type: ListItem, position, and item. This format cleanly separates the structured data from the visible HTML, making it easy to inject into a page's <head> without altering the user interface.
Microdata & RDFa Alternatives
While JSON-LD is recommended by Google, BreadcrumbList can also be implemented using Microdata or RDFa directly within the HTML markup. In Microdata, you would use attributes like itemtype="https://schema.org/BreadcrumbList" and itemprop="itemListElement" on the visible breadcrumb elements. This tightly couples the structured data to the user-facing DOM, which can be more complex to maintain.
Validation & Testing
A valid BreadcrumbList must pass strict schema validation. Use the Schema Markup Validator (schema.org) or Google's Rich Results Test to check for errors. Common issues include:
- Missing
positionvalues. - Non-sequential integer ordering.
- The final crumb being a hyperlink.
- A mismatch between the visible breadcrumb text and the structured data
name.
Frequently Asked Questions
Get precise answers to the most common technical questions about implementing BreadcrumbList structured data for rich results and site hierarchy communication.
BreadcrumbList is a specific Schema.org type used to markup the hierarchical navigation path on a webpage, enabling search engines to display a rich breadcrumb trail in search results and understand a page's structural position within a site. It works by defining an ItemList containing multiple ListItem elements, each representing a step in the navigational hierarchy from the homepage down to the current page. Each ListItem specifies a position (integer starting at 1), an item (the URL of that level), and a name (the human-readable label). When Google's crawler parses this structured data, it replaces the standard URL in search results with a clean, clickable breadcrumb path like Home > Category > Subcategory > Current Page, improving user orientation and click-through rates.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Mastering BreadcrumbList requires understanding its place within the broader structured data vocabulary. These related Schema.org types and concepts are essential for building a complete semantic site architecture.
ListItem
The atomic unit within a BreadcrumbList. Each ListItem represents a single crumb in the trail and requires two properties:
position: An integer starting at 1, indicating the crumb's depth in the hierarchyitem: The URL of the page that crumb represents
A valid BreadcrumbList must contain at least two ListItem entries to form a meaningful path.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us