Skip to main content

Confirm

Are you sure?

SEO · Checked on every page

Breadcrumb navigation and structured dataWhat it checks and how to fix it

What it checks

Looks for breadcrumb navigation in the HTML (a nav labelled breadcrumb, a .breadcrumb or .breadcrumbs list, or BreadcrumbList microdata) and for a BreadcrumbList in JSON-LD. Passes when the JSON-LD is there; warns when a visible trail has no JSON-LD counterpart, or when the BreadcrumbList has no items or items without a name. Pages with no breadcrumbs at all are skipped.

Why it matters

Google shows a breadcrumb trail instead of the raw URL in search results when it finds BreadcrumbList markup, which makes the result easier to read and more likely to be clicked. The trail also tells crawlers and AI assistants how a page fits in the site's hierarchy, and a list with missing names is ignored altogether.

How to fix it

Keep the visible trail and describe the same trail in JSON-LD. Every item needs a position and a name, and every
item except the last one needs a URL.

<nav aria-label="Breadcrumb">
  <ol>
    <li><a href="/">Home</a></li>
    <li><a href="/guides">Guides</a></li>
    <li aria-current="page">DMARC setup</li>
  </ol>
</nav>

<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": "Guides", "item": "https://example.com/guides" },
    { "@type": "ListItem", "position": 3, "name": "DMARC setup" }
  ]
}
</script>

Monitor this automatically

Full Stack Audit runs this check and 126 others on your site on a schedule, and emails you when one that passed starts failing.

More SEO checks