New ChatGPT vs Google Search Volume: What OpenAI’s 20% Claim Really Means

Technical SEO

Breadcrumbs and SEO: Navigation, Schema and Best Practices

What breadcrumb links do for visitors and search engines, how to mark them up with BreadcrumbList schema, and how I set them up and test them.

Breadcrumbs and SEO: Navigation, Schema and Best Practices

Quick Answer

Breadcrumbs help SEO in three ways. They give visitors a clear path back up your site. They add steady internal links to category pages. And with valid BreadcrumbList structured data, Google can show a readable trail instead of a raw URL in desktop results. Since January 2025, Google shows only the domain on mobile. I recommend hierarchy-based breadcrumbs, tested in the Rich Results Test.

Key Takeaways

  • Hierarchy-based breadcrumbs are the right default. History-based trails add little for SEO.
  • BreadcrumbList needs at least two ListItems, each with a position and name, and an item URL on all but the last.
  • Google recommends trails that follow a typical user path, not a copy of the URL.
  • Since 23 January 2025, breadcrumb trails show in desktop results only. Mobile shows just the domain.
  • In WordPress, make sure only one source (theme or plugin) outputs breadcrumb markup.
  • Test one page per template in the Rich Results Test and watch the Breadcrumbs report in Search Console.
In this article
  1. What Breadcrumb Navigation Is
  2. The Three Types of Breadcrumbs
  3. Why Breadcrumbs Help SEO and Users
  4. BreadcrumbList Structured Data: What Google Needs
  5. How Breadcrumbs Appear in Google Search Results
  6. Design and Placement Best Practices
  7. Does Every Site Need Breadcrumbs?
  8. Adding Breadcrumbs in WordPress
  9. Common Breadcrumb Errors and How to Fix Them
  10. How to Test Your Breadcrumbs
  11. Breadcrumbs SEO: The Short Version
  12. Frequently asked questions

Breadcrumbs are the small trail of links near the top of a page, like Home > Shoes > Running Shoes. They show where a page sits on your site. For breadcrumbs SEO, they do three useful jobs. They help visitors move up a level. They add steady internal links. And with BreadcrumbList structured data, they can change how your URL looks in Google’s desktop results.

They will not lift rankings on their own. But on any site with more than a couple of levels, I think they are one of the cheapest structure fixes you can make. In this guide I cover the types, the markup Google expects, how they show in search today, and how to set them up and test them.

What Breadcrumb Navigation Is

A breadcrumb trail is a second layer of navigation. It does not replace your main menu. It shows the path from a top-level page down to the page the visitor is on, and each step is usually a link.

A typical trail on an online store looks like this:

Home > Women > Footwear > Running Shoes > Trail Runner X

Someone who lands on that product from search can see right away that the shop sells more running shoes and more women’s footwear. They can get there in one click. That matters, because most search visitors land deep in a site, not on the homepage.

The Three Types of Breadcrumbs

Breadcrumbs are usually grouped into three types. Only one of them is a good default for SEO.

Hierarchy-Based (Location) Breadcrumbs

These show where the page sits in your site structure: home, category, subcategory, page. They are the most common type, and Google’s breadcrumb documentation is built around them.

Use them on blogs with categories, service sites with grouped services, documentation and online store catalogues. If you only set up one type, make it this one. This is what I use on almost every site.

Attribute-Based Breadcrumbs

These show the filters a visitor has picked, for example Shoes > Running > Size 8 > Blue. They are common on large online stores with faceted navigation (filters for size, colour, price and so on).

They can help shoppers see and remove their choices. The SEO risk is that each filter step can point to a URL with parameters. That creates lots of near-identical pages. If you use them, only link steps to category pages you actually want indexed. Treat the filter part as part of the interface, not the site structure. Our guide to how Google handles duplicate content explains why filter URLs need care.

History-Based (Path) Breadcrumbs

These show the pages a visitor clicked through in their visit, a bit like the browser’s back button. They change from visitor to visitor. So Googlebot sees something different from users, and the trail tells nobody where the page actually lives.

For SEO and for most users, I’d skip them. A clear back link or the browser’s own history does the same job better.

Why Breadcrumbs Help SEO and Users

The benefits are practical, not dramatic. Here is what they actually do.

Better Navigation for Deep Landings

Visitors from search often land on a product, article or service page with no idea what else the site offers. A breadcrumb gives them an obvious next step that is not the back button. That helps people reach category pages and cuts down dead ends.

Every page with a breadcrumb trail links to its parent categories with short, clear anchor text. Across hundreds or thousands of pages, that gives category and hub pages a steady flow of internal links.

It also helps search engines understand how pages connect. A product that links up to Running Shoes and Footwear is clearly part of that section. For stores, this fits well with the other basics in our ecommerce product page SEO checklist.

Clearer Site Structure

Breadcrumbs force you to decide where each page belongs. If you can’t write a sensible trail for a page, your categories may overlap or the page may have no clear home. I find this is one of the most useful side effects. Fixing it helps both crawling and topic clarity.

A Different Look in Desktop Search Results

With valid markup, Google can show the trail instead of the raw URL above your title on desktop. example.com › Women › Running Shoes reads better than a long URL full of IDs and parameters. More on how this works below.

The visible breadcrumb on the page is for people. To make the trail readable for machines, you add BreadcrumbList structured data (a small block of code that describes the page to search engines) from schema.org. Google supports JSON-LD, Microdata and RDFa. I always pick JSON-LD. It is the easiest to maintain because it sits in its own script block instead of being mixed into your HTML.

According to Google’s breadcrumb structured data documentation, the required properties are:

  • itemListElement on the BreadcrumbList: an ordered list of ListItem entries. You need at least two.
  • position on each ListItem: a whole number, starting at 1 for the first step in the trail.
  • name on each ListItem: the label shown to users, like “Running Shoes”.
  • item on each ListItem: the URL of that step. It is required on every item except the last. If you leave it off the last item, Google uses the URL of the page the markup is on.

A JSON-LD Breadcrumb Example

Here is markup for a guide that sits two levels deep on a gardening site. You would place it in the page’s <head> or body inside a script tag.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Guides",
      "item": "https://www.example.com/guides/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Vegetable Gardening",
      "item": "https://www.example.com/guides/vegetables/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "How to Grow Tomatoes"
    }
  ]
}
</script>

A few points about this example:

  • The homepage is not included. Google says you don’t need a ListItem for the top-level domain. Adding it does no harm if your visible trail shows it.
  • The last item has no item URL, so Google takes the current page’s URL.
  • The names match the visible breadcrumb on the page. Markup should describe what users can see.

Follow the User’s Path, Not the URL

Here is a detail many guides miss. Google recommends breadcrumbs that show a typical user path to the page, not just a copy of the URL structure.

That helps if your URLs are flat or messy. A product at /p/12345 can still have a useful trail of Home > Kitchen > Coffee Makers. You don’t need to change your URLs to get good breadcrumbs.

Pages That Live in More Than One Place

Some pages really belong to two sections, like a book listed under both Fiction and Award Winners. Google allows more than one trail per page. In JSON-LD, you put the BreadcrumbList objects inside an array.

Use this rarely. For most pages, choose one main category and give it one trail. Multiple trails are for real cases of a page living in two places, not for squeezing in extra keywords.

How Breadcrumbs Appear in Google Search Results

On desktop, Google shows a URL line above each result title. When it understands your breadcrumbs, that line can show your site name and then the trail, split by the › symbol, instead of the full URL path.

Mobile is different. On 23 January 2025, Google announced on its Search Central blog that it was simplifying the visible URL on mobile search results. Breadcrumbs were often cut off on small screens. So mobile results now show only the domain, with no breadcrumb trail. The change applies to all languages and regions.

What did not change matters more:

  • Breadcrumbs still appear in desktop results.
  • Google still supports BreadcrumbList markup.
  • The Rich Results Test still checks breadcrumb markup, and Search Console still reports on it.

So there is no reason to remove markup you already have. Just don’t expect a visual change in mobile results from adding it. The on-page benefits for navigation and internal links apply on every device.

Also remember that structured data makes a page eligible for a display feature. It does not promise Google will show your trail.

Design and Placement Best Practices

Good breadcrumbs are quiet and predictable. A few rules cover most sites:

  • Place them near the top. Above the main heading or just below the header, in the same spot on every template.
  • Keep them secondary. Smaller than your main menu, but big enough to tap easily on a phone.
  • Use a clear separator. The > or / characters are widely understood.
  • Use short, real category names. “Running Shoes”, not “Buy the Best Running Shoes Online Cheap”.
  • Don’t link the current page. Show it as plain text at the end of the trail, so it is clear where the visitor is.
  • Make every linked step a real, indexable page. Avoid linking to redirects, empty categories or pages blocked with noindex.
  • Wrap them in a <nav> element. An aria-label="Breadcrumb" attribute and aria-current="page" on the last item help screen-reader users.

On mobile, long trails can wrap onto two or three lines. Some sites shorten the middle steps or let the trail scroll sideways. Either is fine, as long as the markup still has the full trail.

Does Every Site Need Breadcrumbs?

No. A five-page brochure site with a flat structure gains almost nothing from Home > About. The value grows with depth. In my experience, small sites can safely skip them.

Breadcrumbs earn their place on:

  • Online stores with categories and subcategories
  • Blogs and news sites with category or topic archives
  • Service businesses with grouped services or location pages
  • Documentation, help centres and knowledge bases

If a page can only be reached through two or more levels of navigation, it is a good candidate.

Adding Breadcrumbs in WordPress

WordPress does not show breadcrumbs by default, but there are several simple routes. Pick one, and make sure only one source produces the markup.

  1. Your SEO plugin. Most major SEO plugins have a breadcrumbs feature. You turn it on in the plugin settings, then add the trail to your templates with a block, a shortcode or a small PHP function. The plugin usually adds BreadcrumbList data to its structured data output for you. This is the route I usually recommend.
  2. Your theme. Many themes have a breadcrumb option in the Customizer or theme settings. Check whether it also outputs structured data, and whether it uses the same trail your SEO plugin would.
  3. WooCommerce. Shop pages in WooCommerce have their own breadcrumbs. Your theme or SEO plugin may replace them, so check which version actually appears.
  4. A dedicated breadcrumb plugin. Useful if you need fine control over the trail, like custom post types or complex taxonomies.
  5. Custom code. A developer can build the trail from your categories or page parents and print matching JSON-LD. This suits custom themes where plugins add extra weight you don’t want.

The most common WordPress problem is duplication. The theme outputs one BreadcrumbList, the SEO plugin outputs another, and they disagree. I usually see this right after a theme change. Check the page source or the Rich Results Test, find every BreadcrumbList on the page, and turn off all but one.

For posts in several categories, set a primary category if your SEO plugin supports it. That decides which trail appears, so a post doesn’t jump between sections.

Common Breadcrumb Errors and How to Fix Them

Most breadcrumb problems are small template mistakes that repeat on every page. These are the ones I check first.

  • Missing field “item”. A ListItem other than the last has no URL. Often the trail includes a label with no link, like an unlinked category heading. Give it a URL or remove it from the markup.
  • Missing or invalid “position”. Positions must be whole numbers in order, starting at 1. Templates sometimes start at 0 or repeat a number.
  • Fewer than two items. A list with one item does not meet Google’s minimum. This happens on top-level pages. Leave the markup off those pages or add the parent.
  • Relative or wrong URLs. Use full URLs with the correct protocol and host. Staging domains left in templates are a classic.
  • Links to redirected or non-canonical URLs. If a category moved, update the trail to the new address instead of relying on a redirect. Our explainer on 301 and 302 redirects covers why direct links are better.
  • Markup that doesn’t match the visible trail. If users see one path and the structured data says another, fix the template so both come from the same source.
  • Duplicate BreadcrumbList blocks. Usually a theme and a plugin both adding markup, as above.
  • Old vocabulary. Old data-vocabulary.org markup is no longer eligible for rich results. Replace it with schema.org BreadcrumbList.

How to Test Your Breadcrumbs

Testing takes a few minutes and catches problems before they spread across thousands of URLs.

  1. Run the Rich Results Test. Enter a live URL or paste your code. It shows whether a valid Breadcrumbs item was found, plus any errors or warnings. You can also inspect each ListItem.
  2. Test one page per template. Check a category page, a subcategory, a product or post, and any custom post type. Breadcrumbs come from templates, so one bad template affects every page that uses it.
  3. Use URL Inspection in Search Console. This shows what Google found on its last crawl and lets you test the live version. Confirm the page is not blocked by robots.txt or noindex.
  4. Watch the Breadcrumbs report. Under Enhancements in Search Console, the report lists valid and invalid items. A sudden jump in invalid items usually follows a theme update or plugin change. If you are new to it, our Search Console guide for beginners explains where the reports live.
  5. Validate fixes. After fixing a template, use the Validate Fix button in the report so Google crawls the affected pages again.

Changes in search take time. Google needs to crawl pages again before new markup shows up.

Breadcrumbs SEO is about structure more than snippets. A clear, hierarchy-based trail helps visitors who land deep in your site. It gives your category pages steady internal links. And with valid BreadcrumbList markup, it can tidy up your URL line in desktop results. Since January 2025, mobile results show only the domain, so I judge breadcrumbs on navigation and structure first.

Your next step: pick your most important template. Check its visible trail and its markup in the Rich Results Test. Fix any mismatch before you roll the same pattern out across the rest of the site.

Frequently Asked Questions

Do breadcrumbs improve Google rankings?

Not directly. Breadcrumbs help Google understand how pages connect, and they add internal links to category pages. That supports a healthy site structure. Any ranking effect comes from that structure and better navigation, not from the trail itself.

What is the difference between breadcrumb navigation and breadcrumb schema?

Breadcrumb navigation is the visible trail of links people see on the page. Breadcrumb schema is the BreadcrumbList structured data that describes that trail to search engines in code. You should have both, and they should match.

Why don't my breadcrumbs show in Google on my phone?

Google stopped showing breadcrumb trails in mobile search results in January 2025, because they were often cut off on small screens. Mobile results now show only the domain. Breadcrumbs still appear in desktop results if your markup is valid and Google chooses to show them.

Should I include the homepage in breadcrumb schema?

It is optional. Google says you don't need a ListItem for the top-level domain. If your visible trail starts with Home, adding it to the markup keeps the two the same and causes no problems.

How do I fix the missing field item error for breadcrumbs?

This error means a step in the trail, other than the last one, has no URL. Find the template that builds the trail. Either add the correct full URL to that step or remove the unlinked step from the markup. Then test again in the Rich Results Test and validate the fix in Search Console.

Can a page have more than one breadcrumb trail?

Yes. Google supports more than one BreadcrumbList on a page for content that really sits in more than one section. Keep this for real cases, though. Most pages are clearer with one main trail.

How long does it take for breadcrumbs to show in search results?

Google has to crawl and process the page again before new markup shows up. That can take days to weeks, depending on how often the page is crawled. Valid markup makes a page eligible, but Google does not promise to show the trail.

Get the Next Guide in Your Inbox

Google updates, AI search changes and practical SEO guides. We email you when a new article is published, nothing else.

One email when we publish something new. No spam, unsubscribe in one click. Privacy

Written by Lovepreet Singh Digital Marketing Manager @ Softtrix
  • 12+ years in SEO
  • 331 articles
  • Punjab, India

Lovepreet Singh has been working in SEO for the last 12 years. He started as an SEO analyst, checking rankings and fixing on-page issues, and today he is Digital Marketing Manager at Softtrix Tech Solutions, looking after search and growth for client websites, from online stores to local service businesses.

  • AI Search & AEO
  • Technical SEO
  • Local SEO
  • Google Business Profile

Keep Reading