All posts
Breadcrumb Schema: How to Add BreadcrumbList Markup (And What It Still Does in 2026)
Schema MarkupStructured DataGoogle Search ConsoleTechnical SEO

Breadcrumb Schema: How to Add BreadcrumbList Markup (And What It Still Does in 2026)

Breadcrumb schema tells Google where a page sits in your site. Here's the BreadcrumbList JSON-LD, what Google requires, and what changed on mobile.

October 5, 2026 · 7 min read

Breadcrumb schema is a small block of structured data, built on the schema.org BreadcrumbList type, that tells Google where a page sits in your site's hierarchy. On desktop, Google can use it to replace the raw URL in your search listing with a readable trail such as yourblog.com › Guides › Technical SEO. It takes about ten lines of JSON-LD, most blogs can add it once at the template level, and it's one of the structured data types Google still supports — with one change on mobile that's worth knowing before you spend time on it.

What Breadcrumb Schema Actually Does

Google's documentation describes a breadcrumb trail as something that "indicates the page's position in the site hierarchy, and it may help users understand and explore a site effectively." The markup is how you state that position explicitly instead of leaving Google to work it out from your URLs.

Three things follow from that:

  • It changes how the listing looks, not where it ranks. The trail replaces the URL line in the result. Google documents breadcrumbs as a search appearance feature, and nothing in that documentation describes them as a ranking factor.
  • Valid markup makes a page eligible, nothing more. Google's guidelines state that it "does not guarantee that your structured data will show up in search results, even if your page is marked up correctly."
  • It only helps if the trail is real. Google's general structured data guidelines require markup to describe content a visitor can actually see, so the schema should match breadcrumbs that are visible on the page.

What Changed on Mobile in January 2025

In January 2025, Google stopped showing breadcrumbs in mobile search results in every language and region. Mobile listings now show a simplified URL line instead, and breadcrumbs continue to appear on desktop. Google's breadcrumb documentation reflects this today: the feature is listed as available "on desktop in all regions and languages where Google Search is available."

That narrows the payoff without removing it:

| Where | What searchers see | Does the markup matter? | |---|---|---| | Desktop results | Breadcrumb trail in place of the URL path | Yes — this is where the markup is used | | Mobile results | Simplified URL line, no trail | No visible effect | | Your own page | The visible breadcrumb links | Indirectly — they're ordinary internal links |

If most of your search traffic is mobile, breadcrumb schema will change less of what your audience sees than it did a few years ago. It's still worth having because the cost is close to zero once it lives in a template. It's a different situation from FAQ schema, where Google retired the rich result for every site and device.

How Do You Write BreadcrumbList Markup?

Here is a complete example for a blog post that sits under a category page:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Blog",
      "item": "https://yourblog.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Technical SEO",
      "item": "https://yourblog.com/blog/category/technical-seo"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Breadcrumb Schema"
    }
  ]
}

Place it inside a <script type="application/ld+json"> tag anywhere in the page's HTML. Google also accepts RDFa and Microdata for breadcrumbs, but JSON-LD is the easiest to maintain because it lives in one block instead of being woven through your HTML.

The properties Google requires

| Property | What it holds | Notes | |---|---|---| | itemListElement | The array of crumbs, in order | One ListItem per level | | position | The crumb's place in the trail | Position 1 is the start of the trail | | name | The title shown for that crumb | Keep it short and match the visible label | | item | The URL that crumb points to | Not required for the last crumb |

Google's wording on the minimum is specific: "define a BreadcrumbList that contains at least two ListItems." A single-item trail isn't eligible. For the final crumb you can leave item out, and Google uses the URL of the page the markup is on.

Should the Trail Follow Your URLs?

Not necessarily. Google recommends "providing breadcrumbs that represent a typical user path to a page, instead of mirroring the URL structure." If your posts live at /blog/post-name but readers reach them through category pages, the trail can run Blog › Category › Post even though the category isn't in the URL.

The same guidance says you don't need a ListItem for the top-level path (your domain) or for the page itself, so a two-level trail is perfectly valid. And if a page legitimately belongs in two places, Google supports more than one trail: add a second BreadcrumbList to the same page.

Because visible breadcrumbs are links, they also give every post a consistent link back to its parent section. That overlaps with the work in an internal linking audit, and it's a simple way to make sure new posts don't end up as orphan pages that nothing on the site points to.

Common Breadcrumb Schema Mistakes

  1. A trail with only one item. Often produced by a template that outputs just the current page. Google needs at least two.
  2. A missing item URL on a crumb that isn't the last one. Every crumb except the final one needs a URL.
  3. Positions out of order or repeated. position should count up from 1 with no gaps.
  4. Crumbs that point at redirecting or deleted URLs. After a category rename, breadcrumbs are one of the places old URLs tend to survive. Point each item at the final destination URL.
  5. Markup that doesn't match the visible page. If the schema says Blog › Guides › Post and the page shows no breadcrumbs, or different ones, you're describing something visitors can't see.
  6. Two breadcrumb blocks from two sources. SEO plugins such as Yoast SEO and Rank Math can output BreadcrumbList for you, and so can many themes. Check what your site already emits before adding your own, or you may end up with two conflicting trails.

How to Test and Monitor It

Run the live URL through Google's Rich Results Test. The test reports whether it found valid breadcrumb markup on the page and flags missing required fields as errors. Breadcrumbs are one of the types the tool still reports on, which hasn't been true of every type lately. If you want a syntax check against the full schema.org vocabulary as well, a general schema markup validator covers that.

After Google has indexed the pages, Search Console is the second place to look. Google's documentation points to the rich result status report for breadcrumbs, which lists valid and invalid items across the whole site. That's the report that catches template-level breakage a one-off test misses.

What neither tool tells you is whether the change did anything for clicks. A cleaner desktop listing can make a result more inviting, but that's a claim to check against your own numbers, not assume. Compare click-through rate for the affected pages before and after — the same comparison that helps with high impressions and no clicks. Traffic Monitor pulls clicks, impressions, and CTR from Search Console every day, so a before-and-after like this doesn't depend on remembering to export the data yourself.

Is Breadcrumb Schema Still Worth Adding?

For most blogs, yes, as long as you treat it as housekeeping. It's quick to add, Google still supports it on desktop, and the visible breadcrumbs it describes are useful to readers on every device. What it won't do is move rankings or change your mobile listings. Add it once in your template, confirm it in the Rich Results Test, check the Search Console report a week or two later, and move on to work with a bigger return.

Track your blog rankings automatically

Connect Google Search Console and get daily alerts, keyword research, and AI diagnostics — free to start.

Start free →