Breadcrumb: missing required properties
seo.schema.schema_rule_missing_breadcrumb
- Outcome class
- Automatic. An automated check that can report a confirmed violation.
- Area
- SEO, structured data
What the rule checks
Scope. Applies to JSON-LD nodes of type BreadcrumbList in the audited document (top level, top-level arrays, @graph entries; full schema.org IRIs count as the short type). Microdata and RDFa are outside this method.
Expectation. Fails when itemListElement is missing or has fewer than two entries, or an entry lacks position or name (name may sit on item), or a non-last entry lacks item. Two complete entries pass. Nested property values (an author Person, a provider Organization) are not nodes of their own and are not assessed; a page without a node of the type is not applicable. A page whose structured-data collection fails is not run for every feature, never clean.
Source. https://developers.google.com/search/docs/appearance/structured-data/breadcrumb (required: itemListElement with at least two ListItems; each with position and name, item on all but the last)
Detection: detect_structured_data; needs dom.
Failing example
The check reports a violation here. Corpus case schema_rules_breadcrumb_single_entry. The page may contain further findings for other rules.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Breadcrumb with a single entry</title>
<script type="application/ld+json">
{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"}]}
</script>
</head>
<body>
<header><p>Example</p></header>
<main>
<h1>Breadcrumb with a single entry</h1>
<p>Structured data corpus page.</p>
</main>
<footer><p>Footer</p></footer>
</body>
</html>Passing example
The check passes here and reports nothing. Corpus case schema_rules_complete. The page may contain further findings for other rules.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Schema rules corpus — complete/valid JSON-LD for all 17 features</title>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Article","headline":"Example headline","author":{"@type":"Person","name":"Ada"},"datePublished":"2026-01-01","dateModified":"2026-01-02","image":"https://example.com/article.jpg"}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Product","name":"Complete product","image":"https://example.com/product.jpg","review":{"@type":"Review","author":{"@type":"Person","name":"Ada"}},"aggregateRating":{"@type":"AggregateRating","ratingValue":4.5,"reviewCount":10},"offers":{"@type":"Offer","price":"19.99","priceCurrency":"USD"}}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://example.com"},{"@type":"ListItem","position":2,"name":"Current"}]}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Organization","name":"Example Inc","url":"https://example.com","logo":"https://example.com/logo.png","address":{"@type":"PostalAddress","streetAddress":"Main Street 1"},"telephone":"+1-555-0100","sameAs":["https://social.example/example"]}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"LocalBusiness","name":"Example Shop","address":{"@type":"PostalAddress","streetAddress":"Main Street 1"},"telephone":"+1-555-0100","url":"https://example.com","openingHoursSpecification":{"@type":"OpeningHoursSpecification","dayOfWeek":"Monday","opens":"09:00","closes":"18:00"},"image":"https://example.com/shop.jpg","priceRange":"$$","geo":{"@type":"GeoCoordinates","latitude":52.5,"longitude":13.4}}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Question 1","acceptedAnswer":{"@type":"Answer","text":"Answer 1"}}]}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Event","name":"Conference","startDate":"2026-09-01","endDate":"2026-09-02","location":{"@type":"Place","name":"Hall","address":"Main Street 1"},"description":"Annual conference","eventStatus":"https://schema.org/EventScheduled","image":"https://example.com/event.jpg","offers":{"@type":"Offer","price":0},"organizer":{"@type":"Organization","name":"Example"},"performer":{"@type":"Person","name":"Speaker"}}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Recipe","name":"Soup","image":"https://example.com/soup.jpg","author":{"@type":"Person","name":"Cook"},"datePublished":"2026-01-01","description":"A soup","recipeIngredient":["water"],"recipeInstructions":["Cook"],"recipeYield":"2 servings","totalTime":"PT30M"}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"VideoObject","name":"Demo","thumbnailUrl":"https://example.com/thumb.jpg","uploadDate":"2026-01-01","contentUrl":"https://example.com/video.mp4","description":"Demo video","duration":"PT1M","interactionStatistic":{"userInteractionCount":1},"regionsAllowed":"DE"}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"JobPosting","title":"Engineer","datePosted":"2026-01-01","description":"<p>Role</p>","hiringOrganization":{"@type":"Organization","name":"Example"},"jobLocation":{"@type":"Place","address":{"addressCountry":"DE"}},"baseSalary":{"value":50000},"employmentType":"FULL_TIME","identifier":"job-1","validThrough":"2026-12-31"}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"SoftwareApplication","name":"App","offers":{"price":0},"review":{"reviewRating":{"ratingValue":5}},"applicationCategory":"BusinessApplication","operatingSystem":"Web"}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"ProfilePage","mainEntity":{"@type":"Person","name":"Ada"},"dateCreated":"2026-01-01","dateModified":"2026-02-01"}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"ItemList","name":"Items","numberOfItems":2,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://example.com/1"},{"@type":"ListItem","position":2,"url":"https://example.com/2"}]}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","name":"About","url":"https://example.com/about","description":"About Example","inLanguage":"en","isPartOf":{"@type":"WebSite","name":"Example"},"author":{"@type":"Organization","name":"Example"},"publisher":{"@type":"Organization","name":"Example"},"image":"https://example.com/about.jpg"}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebSite","name":"Example","url":"https://example.com","inLanguage":"en","publisher":{"@type":"Organization","name":"Example"},"potentialAction":{"@type":"SearchAction"}}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Person","name":"Ada Example","url":"https://example.com/team/ada","image":"https://example.com/ada.jpg","jobTitle":"Engineer","worksFor":{"@type":"Organization","name":"Example"},"sameAs":["https://social.example/ada"]}
</script>
</head>
<body>
<h1>Schema rules corpus fixture (complete/valid JSON-LD)</h1>
</body>
</html>This page is generated from the rule catalogue and the rule contracts; see therule overview for how the outcome classes are derived.