Breadcrumb Hierarchy & Schema Auditor
Google compares your visible breadcrumb trail to your BreadcrumbList
structured data. When they disagree — "Shoes" in the HTML but "Footwear" in the JSON-LD —
the rich result can be rejected. This auditor finds every mismatch between what users
see and what Google reads.
Tool interface
Audit Results
Position-by-Position Comparison
| # | DOM Text | DOM href | JSON-LD name | JSON-LD item | Status |
|---|
Introduction
Breadcrumb rich results are one of the most common structured data features, but they silently fail when the JSON-LD drifts out of sync with the visible navigation. This happens frequently after site redesigns or CMS migrations. This auditor catches the drift instantly.
How It Works
- The DOM breadcrumb trail is extracted via semantic and class-based selectors.
- The
BreadcrumbListis parsed from all JSON-LD blocks, including@graph. - Items are aligned by position and compared for name and URL equality.
- Mismatches, missing positions, and count differences are flagged.
Privacy
Your HTML is parsed entirely in your browser using DOMParser. No content is transmitted anywhere. No API calls, no tracking.
Limitations
- Cannot detect breadcrumbs rendered by JavaScript after load; paste the final HTML.
- Name comparison is case-insensitive exact match; semantic synonyms ("Shoes" vs "Footwear") are flagged as mismatches by design.
- Requires the JSON-LD to use
BreadcrumbListwithitemListElement.
FAQ
Do breadcrumb names have to match exactly?
Google expects the structured data to reflect the visible trail. Minor casing differences are fine, but different words (like "Shoes" vs "Footwear") can cause the rich result to be rejected.
Does the last item need a URL?
No — the final breadcrumb (current page) can omit the item URL. This tool treats a missing URL on the last item as acceptable.
Is my HTML uploaded?
No. Everything is parsed locally in your browser. Nothing is transmitted.