Breadcrumbs are the small trail of links near the top of a page — Home > Blog > Category > Post — that show visitors where they are in your site. They’re a small UI detail, but to Google they’re a map: breadcrumbs make your site’s hierarchy explicit instead of forcing search engines to guess it from internal links alone.
Table of Contents
This guide covers how breadcrumb navigation and the matching BreadcrumbList structured data work together, how to add both, and the mistakes that keep sites from getting the breadcrumb display in search results.
Quick Answer
Add a visible breadcrumb trail to your pages (Home > Category > Page) and mark it up with BreadcrumbList structured data in JSON-LD format. The visible trail helps users and gives Google extra internal links to crawl; the structured data tells Google explicitly how your pages nest, which can get your breadcrumb trail shown in search results instead of a raw URL.
Why Breadcrumbs Matter for SEO
Google’s own documentation describes a breadcrumb trail as something that ‘indicates the page’s position in the site hierarchy’ and helps users navigate and explore a site. Two separate things are happening here, and both matter.
First, the visible breadcrumb is a normal internal link — it reinforces your site’s category structure and gives crawlers another path between pages, which is especially useful for sites with deep category trees (product catalogs, large blogs, documentation sites).
Second, when you add BreadcrumbList structured data, you’re giving Google a clean, unambiguous version of that hierarchy in code rather than asking it to infer the relationship from visual layout or link position. Google has stated that it uses this markup to categorize content from the page and may show the breadcrumb trail in place of the page’s URL in search results, which makes a listing look more organized and can improve click-through.
How to Add Breadcrumb Structured Data
The format Google reads is schema.org’s BreadcrumbList, written as JSON-LD — a small block of JSON embedded in your page’s HTML that search engines parse but users never see. It consists of a list of ListItem entries, each with a position number, a name (the text shown), and an item (the URL for that step in the trail). Google’s guidance notes the final item’s URL is optional since it’s the current page, but every earlier step should include one, and a list needs at least two items to qualify.
On WordPress, SEO plugins handle the schema generation for you, but the visible breadcrumb trail itself still needs to be placed somewhere on the page. In Yoast SEO, you turn on the feature under SEO > Settings > Breadcrumbs, then insert the yoast_breadcrumb() template tag into your theme file (commonly page.php or single.php, just above the title) unless your theme already has built-in Yoast breadcrumb support. Rank Math works the same way: enable breadcrumbs in Rank Math > General Settings > Breadcrumbs, then add the trail using the shortcode in a page, widget, or theme builder block, or the rank_math_the_breadcrumbs() function in a theme template. Many popular themes have native integration with one of these plugins, in which case the trail appears automatically once the setting is enabled — check your theme’s documentation first before editing template files.
If you’re hand-coding a site or using a platform without that automation, you can write the JSON-LD directly and drop it into the page’s head, or use Google Tag Manager to inject it.
Whichever method you use, follow the same hierarchy as your actual site structure and navigation — Google’s documentation specifically asks that breadcrumbs reflect a typical user path through the site rather than an arbitrary or overly deep path invented just for the markup.
After publishing, test the page in Google’s Rich Results Test. Paste in the URL, and if the markup is valid you’ll see a ‘Breadcrumbs’ item flagged with a green status. You can also check the Breadcrumbs report inside Google Search Console over time to see how many indexed pages have valid markup.
Tips and Common Mistakes
Keep the visible trail and the structured data in sync. If your BreadcrumbList schema claims a page sits under ‘Shoes > Running’ but the visible breadcrumb or actual URL path says something different, that mismatch is confusing to both users and crawlers and is a common cause of errors in Search Console.
Don’t skip the item URL on intermediate steps — a missing or malformed item property is one of the most frequent errors flagged in the Rich Results Test and Search Console’s structured data reports.
Avoid breadcrumbs that are too shallow to be useful (just ‘Home > Page’) or artificially deep with categories that don’t exist in your actual navigation. Match it to how a real visitor would click through your site.
If you’re running both an SEO plugin’s breadcrumbs and a theme-native breadcrumb feature at the same time, turn one off — running two sources at once can produce duplicate or conflicting schema on the same page.
Remember that adding valid BreadcrumbList markup makes you eligible for the breadcrumb rich result — it doesn’t guarantee Google will display it. Google generates search result appearances algorithmically and may choose to show the standard URL instead, even with perfect markup.
Explore more: more digital strategy guides.
Breadcrumbs for SEO FAQs
Do I need both visible breadcrumbs and BreadcrumbList schema?
You don’t strictly need the schema for breadcrumbs to help SEO — the visible links alone improve internal linking and crawlability. But adding BreadcrumbList structured data is what makes your site eligible for Google to show the breadcrumb trail in search results, so most sites benefit from doing both.
Will breadcrumbs guarantee a rich result in Google Search?
No. Valid markup makes a page eligible, but Google decides case by case whether to display the breadcrumb trail instead of the URL in any given result.
Can I add breadcrumb schema without a developer?
Yes, in most cases. Yoast SEO and Rank Math both generate the BreadcrumbList schema automatically once you enable breadcrumbs in their settings. You’ll still need to place the visible trail yourself — a shortcode, widget, or small template snippet the plugin provides — unless your theme already has built-in support for that plugin’s breadcrumbs, in which case it just appears.
How do I check if my breadcrumb markup is working?
Run the page URL through Google’s Rich Results Test, which flags BreadcrumbList items and any critical errors. Search Console’s structured data reports also track breadcrumb validity across your site over time.
Build It With GTStudios
Need help with your website, app, or small-business tech? GTStudios builds web, apps, and software for small businesses. See how GTStudios can help.
Want dev news in your inbox? Subscribe to the free newsletter.