Issue #59 · standard
BreadcrumbList schema is missing from your website's inner pages.
What is this issue?
BreadcrumbList schema is missing from your website's inner pages. BreadcrumbList schema helps search engines understand your site's hierarchy and enables breadcrumb navigation to appear in search results.
Without BreadcrumbList schema:
- Search results won't show breadcrumb navigation paths
- Users can't see the page hierarchy in search results
- Search engines have less understanding of your site structure
- Internal linking structure is less clear to search engines
A proper BreadcrumbList schema should include: @type (BreadcrumbList), itemListElement with ListItem items, each having position, name, and item (URL).
Why does it matter?
BreadcrumbList schema is important for user experience and SEO:
- Search result appearance: Breadcrumbs appear in search results, showing users the page hierarchy
- User navigation: Helps users understand where they are on your site
- Site structure: Search engines better understand your site's organization
- Click-through rates: Breadcrumbs can improve CTR by showing clear page context
- AI search context: AI engines use breadcrumbs to understand content relationships
Resolving this issue improves your SEO health score by enhancing search result appearance and site structure understanding.
How to fix it
-
Add BreadcrumbList JSON-LD structured data to all inner pages (non-homepage pages with depth > 1):
{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" }, { "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://www.example.com/blog" }, { "@type": "ListItem", "position": 3, "name": "Article Title", "item": "https://www.example.com/blog/article-title" } ] } -
Ensure each ListItem has required properties:
position: Sequential number starting from 1name: Human-readable name for the pageitem: Full URL of the page
-
Make the last item match the current page URL
-
Validate with Google's Rich Results Test
Examples
Example 1: Missing BreadcrumbList Schema on Inner Page
Problematic state:
<!-- Inner page without BreadcrumbList schema -->
<html>
<head>
<title>Article Title - Example Blog</title>
</head>
<body>
<h1>Article Title</h1>
<p>Article content goes here...</p>
</body>
</html>
Corrected state:
<!-- Inner page with BreadcrumbList schema -->
<html>
<head>
<title>Article Title - Example Blog</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://www.example.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "Article Title",
"item": "https://www.example.com/blog/article-title"
}
]
}
</script>
</head>
<body>
<h1>Article Title</h1>
<p>Article content goes here...</p>
</body>
</html>
Example 2: BreadcrumbList with More Levels
Corrected state (deeper hierarchy):
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Products",
"item": "https://www.example.com/products"
},
{
"@type": "ListItem",
"position": 3,
"name": "Electronics",
"item": "https://www.example.com/products/electronics"
},
{
"@type": "ListItem",
"position": 4,
"name": "Headphones",
"item": "https://www.example.com/products/electronics/headphones"
}
]
}
Example 3: Incomplete BreadcrumbList Schema
Problematic state:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1
}
]
}
Missing name and item properties
Corrected state:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.example.com"
}
]
}
How PixyScan detects this
PixyScan follows these logical steps to detect missing BreadcrumbList schema:
-
Check non-homepage pages: The crawler examines all pages with URL depth greater than 1 (inner pages, not the homepage)
-
Extract structured data: The crawler looks for JSON-LD, Microdata, or RDFa blocks on the page
-
Check for BreadcrumbList schema: The crawler verifies if any schema block has:
@typeset toBreadcrumbListitemListElementproperty containing an array ofListItemobjects
-
Validate schema completeness: If BreadcrumbList schema is found, the crawler checks for:
- At least one
ListItemin theitemListElementarray - Each
ListItemhasposition,name, anditem(URL) properties - The last
ListItem'sitemURL matches the current page URL
- At least one
-
Trigger conditions: The issue is flagged when:
- Inner page doesn't have BreadcrumbList schema
- BreadcrumbList exists but has no
ListItementries - Any
ListItemis missingnameoritem(URL) properties