Breadcrumb (BreadcrumbList) structured data
By Tan Lee Published on Jun 23, 2025 38
A breadcrumb trail shows a page's position within a site's hierarchy and helps users navigate the site by allowing them to move up one level at a time.
Single breadcrumb trail
When only one breadcrumb path exists to a page, that path should be displayed on the page.
For example: Books › Science Fiction › Award Winners
<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>
Generating json-ld for single breadcrumb trail using FoxLearn.JsonLd
var breadcrumbList = new BreadcrumbList { ItemListElement = new[] { new ListItem { Position = 1, Name = "Books", Item = new Uri("https://example.com/books") }, new ListItem { Position = 2, Name = "Science Fiction", Item = new Uri("https://example.com/books/sciencefiction") }, new ListItem { Position = 3, Name = "Award Winners" }, } }; string json = JsonLdSerializer.Serialize(breadcrumbList, includeScriptTag: true); Console.WriteLine(json);
Multiple breadcrumb trail
If a page can be reached through different navigation paths, you can include multiple breadcrumb trails for it.
For example: Books › Science Fiction › Award Winners
<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>
Generating json-ld for multiple breadcrumb trail using FoxLearn.JsonLd
var schemaRoot = new SchemaRoot(); var breadcrumbList1 = new BreadcrumbList { ItemListElement = new[] { new ListItem { Position = 1, Name = "Books", Item = new Uri("https://example.com/books") }, new ListItem { Position = 2, Name = "Science Fiction", Item = new Uri("https://example.com/books/sciencefiction") }, new ListItem { Position = 3, Name = "Award Winners" }, } }; schemaRoot.Graph.Add(breadcrumbList1); var breadcrumbList2 = new BreadcrumbList { ItemListElement = new[] { new ListItem { Position = 1, Name = "Literature", Item = new Uri("https://example.com/literature") }, new ListItem { Position = 2, Name = "Award Winners" }, } }; schemaRoot.Graph.Add(breadcrumbList2); string json = JsonLdSerializer.Serialize(schemaRoot, includeScriptTag: true); Console.WriteLine(json);
Categories
Popular Posts
Implement security headers for an ASP.NET Core
Jun 24, 2025
Structured Data using FoxLearn.JsonLd
Jun 20, 2025
RuangAdmin Template
Nov 13, 2024
Modular Admin Template
Nov 14, 2024