Content Accessibility · Emerging · Low impact
Breadcrumb / navigation schema
Helps an agent make sense of where a page sits in your site.
- Emerging
- Low impact
- Draft standard
| Property | Value |
|---|---|
| Check id | breadcrumb |
| Dimension | Content Accessibility (22%) |
| Tier | Emerging — pool 5 pts |
| Weight inside tier | 1 |
| Impact | Low |
| Maturity | Draft — A published specification that is not yet ratified. |
| Conditional | No |
| Publishing skill | breadcrumb-schema |
| Standards | schema.org/BreadcrumbList |
What is measured
This check declares no probe path, so the scanner walks the JSON-LD of the fetched homepage / for a BreadcrumbList and inspects itemListElement. Pass when the list has at least two entries typed ListItem whose position values start at 1 and increase by one, each with a name and an item that is a resolvable URL (an absolute http(s) URL or a host-relative path — a bare string such as garbage is not an item URL). The last entry may omit item entirely, as Google's breadcrumb guidance allows, because it stands for the current page. Partial when BreadcrumbList is present but an entry is not typed ListItem, a position is missing or out of order, an entry before the last has no resolvable item URL, or any entry carries an item that is not one; fail when no BreadcrumbList appears.
Reproduce it yourself
You do not have to take our word for any of this. Run the same measurement against your own domain:
DOMAIN="https://example.com"
curl -sL "$DOMAIN/" | perl -0777 -ne 'while (m{<script[^>]*application/ld\+json[^>]*>(.*?)</script>}gsi) { print "$1\n" }' | jq -r '.. | objects | select((."@type"? | if type == "array" then .[] else . end) == "BreadcrumbList") | .itemListElement[] | [(.position|tostring), .name, ((.item."@id" // .item) // "NO URL")] | @tsv'
The fix
This is the artifact to ship. It is the complete change, not a description of one.
<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": "Checks", "item": "https://www.example.com/checks" },
{ "@type": "ListItem", "position": 3, "name": "Structured data", "item": "https://www.example.com/checks/jsonld" }
]
}
</script>
Standards referenced
-
schema.org/BreadcrumbList
Related checks
| Check | Tier | Impact | Same skill |
|---|---|---|---|
markdown-negotiation — Markdown content negotiation | Recommended | Critical | — |
headings — Semantic heading structure | Essential | High | — |
meta — Title and summary metadata | Essential | High | — |
jsonld — JSON-LD structured data | Essential | Critical | — |
faq-schema — FAQ / question-answer schema | Recommended | High | — |
summary — Prominent summary block | Recommended | Medium | — |
lang — Language declaration and multilingual access | Recommended | Medium | — |
no-js-fallback — Content that needs no JavaScript | Essential | High | — |