Skip to content
Innovialabs

Breadcrumbs for SEO: Navigation and BreadcrumbList Markup

Practice4 min

In short

Breadcrumbs show where a page sits in the site structure; add a visible trail plus matching BreadcrumbList JSON-LD with sequential positions and canonical URLs so search engines understand the hierarchy.

The short answer

Breadcrumbs are a line of links that shows the path to the current page: Home › Catalog › Laptops › Model X. They help users move up a level in one click and help search engines understand the site hierarchy.

For SEO you need two things that match each other:

  • a visible breadcrumb trail on the page, built from regular HTML links;
  • BreadcrumbList structured data (usually JSON-LD) describing the same trail.

Search engines may use the markup to show the path instead of a raw URL in results, but display is never guaranteed.

When breadcrumbs help

  • Catalogs and stores with categories and subcategories: users often land on a product from search and want to see similar items.
  • Blogs and knowledge bases with sections: the trail shows the topic and leads to related articles.
  • Large service and documentation sites with three or more levels of nesting.

Breadcrumbs add little value on a flat site of a few pages or on a one-page landing. There, a simple menu is enough.

How to build them

For catalogs

  • Follow the category hierarchy, not the user's click history.
  • If a product belongs to several categories, choose one primary category and use it consistently in the trail and in the markup.
  • Do not include filters and sorting in the trail: Laptops › 16 GB RAM › Price ascending creates noise and points to non-canonical URLs.

For blogs

  • A short trail works best: Home › Blog › Section › Article.
  • Use section names that match real category pages, so every link in the trail leads to a useful page.

General rules

  • Every element except the last one is a link to an indexable canonical page.
  • The last element is the current page. It can be plain text without a link.
  • Place the trail near the top of the content, above the H1.
  • Use a nav element with an accessible label, for example aria-label="Breadcrumb".

A correct BreadcrumbList example

{
  "@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/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "SEO",
      "item": "https://example.com/blog/seo/"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "Redirect chains"
    }
  ]
}

Place it in a <script type="application/ld+json"> tag. Key points:

  • position starts at 1 and increases by one with no gaps.
  • item is an absolute URL that matches the canonical address of that page.
  • name matches the text visible in the trail.
  • The last element may omit item, since it is the current page.

In multilingual sites, the trail and the markup should use the language and the URLs of the current version.

Common mistakes

MistakeWhat happens
Markup does not match the visible trailSearch engines may ignore it as misleading
Positions skipped or duplicatedThe item list becomes invalid
Relative or redirecting URLs in itemSignals point to non-canonical pages
Links to pages closed by noindex or 404The trail leads nowhere for robots and users
Keywords stuffed into nameLooks like spam and does not help
Markup added only on the client after loadSome robots may not see it; render it on the server
Different trails for the same productHierarchy becomes unclear

After publishing, check the page with Google's Rich Results Test and the Schema.org validator, then watch the Breadcrumbs report in Search Console for errors.

FAQ

Yes, it is usually the first element. The home page itself does not need breadcrumbs, since there is no path to show.

We can help with this

If you'd rather get the result than figure it all out yourself — this is what we do every day.

Discuss a project

Read next

Have an idea or a task? Tell us about it

We'll reply within one business day and propose a solution. The consultation is free.