Schema Markup Guide

BreadcrumbList Schema: Complete Reference

Schema MarkupPublished Jul 17, 2026Updated Jul 19, 20263 min readLinkedInX

BreadcrumbList schema describes the navigational path to a page — Home › Category › Article — as an ordered list, which Google can display as a breadcrumb trail in place of the raw URL in search results. It is one of the few structured-data types that still reliably produces a visible enhancement, and it is simple: an ordered list of items, each with a position, name, and URL. The main pitfalls are duplication and mis-numbered positions.

What BreadcrumbList Does

It replaces the URL in a search result with a readable hierarchy, improving how the listing looks and reinforcing your site structure for Google.

The breadcrumb trail is both a user-facing enhancement and a structure signal — it tells Google how a page fits your hierarchy, complementing the internal linking and site architecture covered in the Technical SEO pillar. It is owned by Rank Math and most SEO plugins as one of the four foundational types, so hand-adding it usually duplicates.

The ItemList Structure

A BreadcrumbList contains an itemListElement array of ListItem objects, each with a position (starting at 1), a name, and an item URL — in the order a user would traverse from home to the current page.

Positions are sequential integers beginning at 1, and the order must match the actual navigational path. The current page can be the last item; some implementations omit its URL. This is the same ItemList pattern used by CollectionPage + ItemList, just applied to a navigation trail rather than a content list.

Common Ordering Bugs

The frequent errors are non-sequential or duplicate positions, a path that does not match the visible breadcrumb, and multiple BreadcrumbList blocks from a plugin plus a theme both emitting one.

Google reads positions literally — skip a number or repeat one and the breadcrumb can fail validation. And if your theme outputs breadcrumb markup while your SEO plugin also does, you get duplicates. Pick one source. Confirm the rendered trail matches the markup with the Rich Results Test.

Who Should Output It

Your SEO plugin (or a dedicated breadcrumbs plugin) should own it — it generates positions automatically from your hierarchy, which is more reliable than hand-numbering.

On this site, breadcrumbs are handled at the template level and Rank Math owns the BreadcrumbList JSON-LD, so content never hand-adds it — exactly the pattern to avoid the duplicate-schema problem shared with Article and Organization.

Example Markup

A two-level BreadcrumbList (shown as code):

<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": "Blog", "item": "https://example.com/blog/" }
  ]
}
</script>

See JSON-LD vs Microdata for the format rationale.

Key Takeaways

  • BreadcrumbList shows a readable path instead of the URL in results — one of the few still-reliable rich enhancements.
  • Structure: an itemListElement array of ListItems, each with sequential position (from 1), name, and item URL.
  • Positions must be sequential and match the visible path; skipped/duplicate numbers break validation.
  • Avoid duplicate BreadcrumbList from both a theme and a plugin — pick one source.
  • Let your SEO/breadcrumbs plugin generate it automatically rather than hand-numbering.

Frequently Asked Questions

Do breadcrumbs still show in Google results?

Yes — unlike some retired rich results, breadcrumb trails still commonly appear in place of the URL when BreadcrumbList markup is present and valid. It remains one of the more dependable structured-data enhancements.

How do I number breadcrumb positions?

Sequential integers starting at 1, in the order a user travels from the homepage to the current page. Do not skip or repeat numbers, and make sure the order matches your visible breadcrumb trail.

Should I add BreadcrumbList by hand?

Generally no — your SEO or breadcrumbs plugin generates it from your site hierarchy automatically. Hand-adding risks duplicate blocks (especially if your theme also outputs one) and mis-numbered positions.

The Bottom Line

BreadcrumbList is simple, still visible, and best left to a plugin: an ordered, correctly numbered path that matches your navigation. Keep a single source, verify positions, and it quietly improves how every deep page looks in search — part of the well-behaved foundation the schema cluster is built on.


Further reading & sources

See how your site actually shows up in AI search. An AI visibility audit maps where you’re cited, where you’re invisible, and what to fix first — in plain English.

Get your AI visibility auditTry the free SEO tools →

Prefer self-serve? The interactive checklists turn guides like this one into a working to-do list.

Keep reading in Schema Markup

Get one email when something genuinely changes

AI search moves fast and most of it is noise. We send one short email when a real shift is worth your time. Unsubscribe anytime.

Published by Plain Intelligence — practical AI SEO, GEO, and technical SEO, documented in plain English. About Plain Intelligence →

↑ Back to Schema Markup · Explore all articles · Free tools & resources · Glossary