What Are Breadcrumbs and Why Are They Important for WordPress
Breadcrumbs (or hierarchical navigation) are navigation links that show a user's location on a website, such as "Home > Articles > WordPress > Breadcrumbs". Breadcrumbs serve two main purposes: they improve user experience by making navigation easier, and they help Google understand your website structure better, which may indirectly impact your search rankings.
Beyond these benefits, breadcrumbs can also appear as rich results in Google search results. When you use BreadcrumbList Schema JSON-LD correctly, your site's breadcrumbs become eligible to display prominently in search snippets, giving your pages a visual advantage over competitors.
Fact: According to Google's recommendations, breadcrumbs should be present on every page where your site structure is hierarchical. When implemented with proper BreadcrumbList Schema, breadcrumbs increase the likelihood of Google displaying your site's rich results by 30-40%.
That said, not every website benefits equally from breadcrumbs. A site with only 2-3 breadcrumb levels might not gain much value, but for blogs, online stores, or hierarchically structured websites, breadcrumbs become essential navigation aids.
How to Add Breadcrumbs Using Yoast SEO
Yoast SEO is the most popular plugin for adding breadcrumbs, thanks to its ease of setup and automatic BreadcrumbList Schema support. Here's how to configure breadcrumbs in Yoast SEO.
Step 1: Install and Activate Yoast SEO
Download Yoast SEO from the WordPress.org repository, click "Install Now", and then activate it. Next, navigate to the Yoast SEO Dashboard to begin configuration.
Step 2: Configure Breadcrumbs
In the Yoast SEO Dashboard, go to Yoast SEO → Settings → XML Sitemaps → Enable breadcrumbs (or Tools → Breadcrumbs in older versions)
- Enable "Show breadcrumbs in frontend" to display breadcrumbs on your website
- Select "Yoast breadcrumb configuration" to let Yoast handle everything
- Set "Breadcrumbs prefix" to "You are here: " or whatever you prefer
- Set "Breadcrumbs separator" to "›" (or ">" as preferred)
Step 3: Add Breadcrumbs to Your Template
You need to add breadcrumb template code to your theme's template files (like single.php, page.php, archive.php). If your theme doesn't already support Yoast breadcrumbs, add this code where you want breadcrumbs to appear:
if ( function_exists( 'yoast_breadcrumb' ) ) { yoast_breadcrumb(); }
Note: Most modern WordPress themes already have Yoast breadcrumb hooks built in. You may not need to modify templates manually—simply enabling breadcrumbs in Yoast Settings should work seamlessly.
Setting Up Breadcrumbs with Rank Math
Rank Math is a more powerful SEO plugin than Yoast in many aspects and also supports breadcrumbs with more customization options. Here's how to configure breadcrumbs in Rank Math.
Install Rank Math and Navigate to Settings
Download Rank Math from WordPress.org, activate it, then go to Rank Math → SEO Settings → Breadcrumbs
Configure Breadcrumbs in Rank Math
- Enable "Enable Breadcrumbs"
- Choose your preferred breadcrumb style (Icon, Text, or Custom HTML)
- Set "Separator" (›, |, /, arrow, etc.)
- Enable "Rich Snippet" so Rank Math auto-generates BreadcrumbList JSON-LD
- Set "Home Label" to "Home" or your preferred text
Add Breadcrumbs to Your Theme
Like Yoast, Rank Math has breadcrumb hooks for modern themes. Or use this code:
<?php if ( function_exists( 'rank_math_the_breadcrumbs' ) ) { rank_math_the_breadcrumbs(); } ?>
Maximum Flexibility with Breadcrumb NavXT Plugin
Breadcrumb NavXT is a dedicated breadcrumb plugin offering the most granular control. If you need advanced customization, Breadcrumb NavXT is your best choice.
Configure Breadcrumb NavXT
- Install and activate Breadcrumb NavXT
- Go to Settings → Breadcrumb NavXT
- Customize your breadcrumb template (HTML prefix, suffix, separator, current page format)
- Configure taxonomy and post type labels as needed
- Enable "Enable Rich Snippet Markup" to activate BreadcrumbList JSON-LD
Add Breadcrumbs to Your Theme
Add this line to your template where breadcrumbs should appear:
<?php if ( function_exists( 'bcn_display' ) ) { bcn_display(); } ?>
Warning: If you enable breadcrumbs from Yoast, Rank Math, and Breadcrumb NavXT simultaneously, your breadcrumbs will appear duplicated on the page, and JSON-LD schemas may conflict. Choose only one plugin.
Adding Breadcrumbs to Your Theme Manually
If you prefer to write breadcrumb code directly into your theme's functions.php, you can create a custom function and call it in appropriate template files.
Example Custom Breadcrumbs Function
Add this code to your theme's functions.php:
function custom_breadcrumbs() {
if ( !is_home() && !is_front_page() ) {
echo '<div class="breadcrumbs"><a href="' . home_url() . '">Home</a>';
if ( is_category() ) {
echo ' › ' . single_cat_title( '', false );
} elseif ( is_single() ) {
$cat = get_the_category(); if ( $cat ) echo ' › ' . $cat[0]->name . ' › ' . get_the_title();
} elseif ( is_page() ) {
echo ' › ' . get_the_title();
}
echo '</div>';
}
}
Then call the function with custom_breadcrumbs(); in your single.php, page.php, or archive.php templates.
BreadcrumbList JSON-LD Schema Explained in Detail
BreadcrumbList Schema is JSON-LD code that tells Google about breadcrumb links in a machine-readable format. When Google properly reads this schema, it can display breadcrumbs as rich results in search snippets.
BreadcrumbList JSON-LD Structure
Here's an example BreadcrumbList schema for a WordPress tutorial article:
{"@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":"WordPress","item":"https://example.com/blog/wordpress/"},
{"@type":"ListItem","position":4,"name":"How to Add Breadcrumbs","item":"https://example.com/blog/wordpress/breadcrumbs/"}
]}
Breaking Down Each Component
- @context: Indicates this schema is from schema.org
- @type: The schema type is BreadcrumbList
- itemListElement: An array containing each breadcrumb item
- position: The breadcrumb's position (1, 2, 3...)
- name: The visible text of the breadcrumb (e.g., "Home", "WordPress")
- item: The URL the breadcrumb links to
Recommendation: Ensure URLs in your BreadcrumbList schema exactly match your page's actual URLs. Mismatched URLs cause Google to lose trust in your schema markup.
Testing Breadcrumbs with Google Rich Results Test
After setting up breadcrumbs and BreadcrumbList Schema, test that Google can read your schema correctly using the Google Rich Results Test.
Testing Steps
- Go to https://search.google.com/test/rich-results
- Paste the URL of your WordPress page with breadcrumbs
- Click "Test URL"
- Wait for Google to crawl the page (typically 10-30 seconds)
- The results will show if rich results were detected. If a green line shows "Breadcrumb", your markup is correct.
If you see errors: Such as "position must be an integer" or "item URL must be an absolute URL", check your JSON-LD. Verify that position values are numbers (not text) and URLs are full https://... paths, not /relative/paths.
Breadcrumbs for WooCommerce
If your WordPress site uses WooCommerce for online sales, breadcrumbs become even more important—they help customers navigate product categories and individual products more easily. WooCommerce has built-in breadcrumbs, but you need to enable and configure them.
Enable WooCommerce Breadcrumbs
- Go to WooCommerce → Settings → Products
- Look for "Display breadcrumbs" and adjust as needed
- Ensure "Breadcrumbs" is enabled
Example WooCommerce Breadcrumbs
On WooCommerce pages, breadcrumbs typically display as:
Home › Shop › Electronics › Laptop Computer (product name)
Tip: Use Yoast SEO or Rank Math and let them auto-generate BreadcrumbList Schema for WooCommerce products. This is superior to WooCommerce's default breadcrumb handling.
Comparing Breadcrumbs Plugins
Here's a comparison of popular breadcrumb plugins to help you decide.
| Feature | Yoast SEO | Rank Math | Breadcrumb NavXT |
|---|---|---|---|
| Price | Free | Free (plus Pro options) | Free |
| Ease of Setup | Very Easy | Easy | Moderate |
| BreadcrumbList Schema | ✓ (auto) | ✓ (auto) | ✓ (auto) |
| Customization | Basic | Advanced | Maximum |
| WooCommerce Support | ✓ | ✓ | ✓ |
| Performance Impact | Light | Light | Light |
In short: use Yoast SEO if you want set-it-and-forget-it simplicity; use Rank Math for moderate customization; use Breadcrumb NavXT for maximum control.
Best Practices for Breadcrumbs
Here are some best practices to maximize breadcrumb effectiveness:
- Include breadcrumbs on every page: Add them to home pages, category pages, single posts, and all other pages
- Verify hierarchy accuracy: Ensure breadcrumbs reflect your actual site structure. Don't show Page A as a parent of Page B if it isn't.
- Use clear, user-friendly text: Write "Home > Blog > WordPress > Breadcrumbs", not "Root > cat-123 > post-456"
- Always include BreadcrumbList Schema: Tell Google about your breadcrumbs using JSON-LD
- Test with Rich Results Test: Every time you modify your breadcrumbs structure
- Use a clear separator: Use "›" or ">" so breadcrumbs are easily readable. Avoid "/" (easily confused with URL slashes)
- Never create fake breadcrumbs: Don't create breadcrumbs that don't match your actual hierarchy just for SEO. Google will remove them from search results and may reduce trust in your site.
Start with AsiaGB Hosting — DirectAdmin, One-Click WordPress Install
WordPress Hosting ready to support Yoast SEO, Rank Math, and Breadcrumb NavXT, with DirectAdmin management, 99% uptime, and SSD storage for maximum performance.
View Hosting Plans