Skip to content

Technical SEO

Breadcrumbs SEO: Navigation and Structured Data Guide

Add saadrazaseo.com as a preferred source on Google

Free and no obligation. A real reply from me, not a bot.

Breadcrumbs are a row of links, usually near the top of a page, showing where it sits in your site hierarchy, such as Home, Services, Technical SEO. They help visitors move up a level and, when marked up with BreadcrumbList structured data, tell Google the page’s place in your site.

Nielsen Norman Group’s guidance on breadcrumbs says they “provide many benefits to users at almost no cost to the UI”, particularly for people who land deep in a site from an external link and skip the usual navigation steps.

Breadcrumbs are a small feature with an outsized job. They answer “where am I?” and “how do I go up one level?” without anybody having to think. For SEO they also reinforce your site structure with a sitewide internal-link pattern and, with the right markup, give Google a clear picture of the hierarchy. This guide covers the types, the usability rules, the structured data, and how to implement breadcrumbs on WordPress and on custom sites.

The three types of breadcrumb

TypeWhat it showsExampleMy view
Location (hierarchy)The page’s position in the site structureHome > Services > Technical SEOThe one to use for almost every site
AttributeProperties of a product or itemHome > Shoes > Running > BlueOccasionally useful in catalogues, but easy to make confusing
Path (history)The pages the visitor passed throughHome > Page A > Page BAvoid: it duplicates the browser’s back button

Nielsen Norman Group makes the same point about history: breadcrumbs are not intended to show the pages a visitor traversed during a session. They should reflect the hierarchy, and they supplement the main navigation rather than replace it.

Usability rules that make breadcrumbs work

I use the same short checklist on every audit. It comes from NN/g’s guidance plus common sense.

  • Start with the homepage and move down the hierarchy to the current page.
  • Show the current page as the last item, and do not make it a link. A link to the page you are already on has no purpose.
  • Use a clear separator. A “>” is the most widely understood; a slash also works.
  • Link only real pages. If a category label has no page of its own, either create one or leave it out of the trail. A breadcrumb that goes nowhere frustrates people.
  • Give each link enough room on mobile. NN/g warns against trails that wrap over several lines or have tiny tap targets, and suggests that showing just the parent level can work on small screens.
  • Skip them on flat sites. A five-page brochure site has no hierarchy worth showing.
  • For items in several categories, show one canonical path, usually the main category.

Breadcrumbs sit on top of structure; they cannot fix a messy one. If your hierarchy is confused, start with site architecture for SEO, because a breadcrumb will faithfully display whatever structure you have.

Rather have an expert do this for you?

Hand it over and get back to running your business.

Hand it over to me

What breadcrumbs do for SEO

I want to be honest about the limits here. Breadcrumbs are not a ranking trick. What they do is help in three practical ways.

  1. Internal linking. Every deep page links up to its parent category and the homepage with descriptive anchor text. That reinforces relationships between pages, and it gives otherwise isolated pages another route. For pages with no inbound links at all, see my guide on orphan pages.
  2. Clearer structure for crawlers. Consistent links up the tree make the hierarchy easy to follow.
  3. Search appearance. Google’s breadcrumb structured data documentation says breadcrumb information shows a page’s position in the site hierarchy and may help users understand and explore a site. It states that Google displays breadcrumbs in desktop search results across all regions and languages. Whether your result shows a breadcrumb is Google’s decision, so treat it as a possible benefit, not a guarantee.

You can mark up a trail in JSON-LD, RDFa or Microdata. Google supports all three, and JSON-LD is the format I use because it sits separately from the visible HTML. The old data-vocabulary.org markup is no longer eligible.

The properties Google lists are:

  • BreadcrumbList with an itemListElement array of items in order.
  • Each ListItem needs a position (1 is the start of the trail), a name (the title shown to users), and an item (the URL of the breadcrumb page). The URL may be left out on the last item, which is the current page.
  • At least two list items.

A minimal JSON-LD example for a page at the end of a three-level trail looks like this:

{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://example.com/"},{"@type":"ListItem","position":2,"name":"Services","item":"https://example.com/services/"},{"@type":"ListItem","position":3,"name":"Technical SEO"}]}

Three details trip people up. First, the markup must match the breadcrumb visitors see, not a different trail. Second, Google says the trail should reflect a typical user path to the page and not simply mirror the URL structure, so do not generate names from the folders if the visible navigation differs. Third, a page can have more than one trail if it is reachable by different routes, and Google supports marking up multiple trails. For the vocabulary itself, see my schema markup guide.

After you add the markup, test it and check the enhancement report in Search Console. If errors or warnings appear, how to fix structured data errors in Search Console walks through reading them and validating fixes.

Implementing breadcrumbs on WordPress

On WordPress there are three practical routes, from least to most hands-on.

  • Your SEO plugin. Most major SEO plugins can output a breadcrumb trail and the matching structured data. Turn it on, place it in the theme with the method the plugin documents, and check the output.
  • Your theme or page builder. Many themes include a breadcrumb widget. Check whether it also outputs structured data; if both the theme and the plugin do, you can create duplicates.
  • Custom code. A developer can build the trail from the page’s parent chain or category structure and output visible HTML and JSON-LD from the same function, so they never disagree.

The risk to watch for is duplication: two BreadcrumbList blocks on the same page from different sources. Inspect the page source or run the page through a testing tool and keep one. The wider site health items sit in my WordPress technical SEO checklist.

Make sure your URL and category settings agree with the trail. If posts can sit in several categories, choose a primary category so the breadcrumb is predictable.

Implementing breadcrumbs on a custom site

On a custom build the principle is the same: one source of truth. Store each page’s parent relationship in your data (a parent ID, a category tree or a route configuration) and generate both the visible breadcrumb and the JSON-LD from it. Use absolute URLs in the markup, keep the names identical to the visible labels, and make the last item the current page. If a page can be reached via two parents, decide on one primary parent for the breadcrumb and use canonical tags for duplicates, so the trail is consistent.

A quick audit checklist

  1. Does every page below the top level have a breadcrumb that starts at the homepage?
  2. Does each link go to a real, live page and not a redirect?
  3. Is the current page unlinked and clearly marked?
  4. Does the trail match the BreadcrumbList markup exactly?
  5. Is there only one set of breadcrumb markup per page?
  6. Does it fit and remain tappable on a phone?
  7. Do the intermediate pages (categories, hubs) exist and deserve to rank in their own right?

Common breadcrumb mistakes

  • Linking to redirected URLs. If a category was renamed and the breadcrumb still points to the old address, every click adds a hop. Update the link at source, as described in redirect chains and loops.
  • Showing a trail that differs from the markup. Visitors see one path and Google is told another, which undermines the point of the structured data.
  • Using a very long page title as the last item. A shortened label keeps the trail readable on a phone.
  • Breadcrumbs that depend on how the visitor arrived. A trail that changes with the previous page is a history trail in disguise, and the markup will not match what Google sees.
  • Treating breadcrumbs as a replacement for menus. They are a secondary aid, and the main navigation still has to work on its own.

One more practical note: if you restructure a section and the URL of a parent page changes, the breadcrumbs on every child page change with it. Run a crawl afterwards and confirm each trail resolves to a live page with a 200 status. If you also use filters or tracking tags, keep URL parameters out of the breadcrumb links so the trail always points at clean addresses.

Questions about breadcrumbs and SEO

Do breadcrumbs improve rankings?

Not directly, as far as I know. They improve navigation and internal linking, and structured data can help Google understand and display your hierarchy, but they are not a ranking shortcut.

Do I need structured data for breadcrumbs?

No, the visible trail works for users without it. Structured data is how you tell Google explicitly about the trail, and it is needed if you want your breadcrumb considered for display in search results.

Should the breadcrumb match my URL structure?

It does not have to. Google says the trail should reflect a typical user path to the page, instead of simply mirroring the URL structure. In practice, keeping them aligned is cleaner, but the visible navigation comes first.

Should breadcrumbs appear on the homepage?

No. The homepage is the top of the hierarchy, so there is nothing above it to show.

If you are not sure whether your structure and markup are doing their job, ask for a free audit and I will review the trail, the schema and the internal links as part of technical SEO services.

More in this series (Technical SEO in depth): start with WordPress Technical SEO Checklist: What to Fix First, then explore:

Rather have an expert do this for you?

Tell me about your website and goals, and I will reply with a free first review.

Your details are only used to reply to your request. No spam.

Grow my trafficCall