FLASH SALE Get 20% OFF everything using the coupon code: FLASH20 View Pricing Plans →

WordPress Breadcrumbs: Improve SEO and Navigation With This Complete Setup Guide

Have you ever clicked through several pages on a website only to lose track of where you are? Or worse, realized you can’t get back to that category page you were browsing without hitting the back button five times? That’s exactly why WordPress breadcrumbs exist—and why they’re worth adding to your site.

WordPress Breadcrumbs

Breadcrumbs give your visitors a clear path home. They also help search engines understand your site structure, which can improve your visibility in search results. This guide shows you what breadcrumbs are, why they matter, and how to add them to your WordPress site using plugins, themes, or custom code.


Table of Contents

  1. What Are WordPress Breadcrumbs?
  2. Types of WordPress Breadcrumbs
  3. Why Add Breadcrumbs to Your WordPress Site
  4. How to Add Breadcrumbs Using Yoast SEO
  5. Adding Breadcrumbs With All in One SEO (AIOSEO)
  6. Using Breadcrumb NavXT Plugin
  7. Manually Adding Breadcrumbs with Custom Code
  8. Implementing Breadcrumb Schema Markup
  9. Best Practices for WordPress Breadcrumbs
  10. Customizing Breadcrumb Appearance
  11. Troubleshooting Common Breadcrumb Issues
  12. Get Professional Breadcrumb Navigation with WPZOOM Themes

What Are WordPress Breadcrumbs?

WordPress breadcrumbs are navigational links that show a visitor’s location within a site hierarchy. They typically appear near the top of a page and help users trace their path back to the homepage or a previous section. Breadcrumbs also improve site structure and support SEO by enhancing internal linking.

They typically look something like this:

Home > Blog > WordPress Tutorials > How to Add Breadcrumbs

Each element in the trail is clickable (except the current page), allowing visitors to jump back to any previous level without digging through menus or using the back button. It’s direct, efficient, and honestly just makes sense from a usability standpoint.

Unlike your primary navigation menu, which shows your site’s main sections, breadcrumbs show the specific path to the current page. They answer the fundamental question users often have: “Where am I in relation to the rest of this site?”

The name comes from the Hansel and Gretel fairytale, where the children dropped breadcrumbs to find their way back home—though in our case, the trail actually works.


Types of WordPress Breadcrumbs

There are three types of breadcrumbs you might encounter:

1. Hierarchy-Based (Most Common)

Shows your site’s structure and the user’s location within it.

Example: Home > Blog > WordPress Tutorials > Current Post.

This is what you want for most blogs, business sites, and content-heavy websites. It’s predictable and helps both users and search engines understand your site organization.

2. Attribute-Based (For eCommerce)

Displays product attributes and filters users selected.

Example: Home > Shoes > Men’s > Running > Size 10.

This works best for online stores where users browse by multiple product attributes. WooCommerce sites often use this approach.

Shows the actual browsing path a user took, which creates unpredictable, confusing trails. Most sites avoid this type.

Unless you’re running an eCommerce site, stick with hierarchy-based breadcrumbs.


Upgrade Your Website with a Premium WordPress Theme

Find a theme that you love and get a 10% discount at checkout with the FLASH10 code

Choose your theme

Why Add Breadcrumbs to Your WordPress Site

Breadcrumbs solve two major problems: they help users navigate your site and they boost your SEO.

1. Better User Experience

When someone lands on your site through search or a link, breadcrumbs immediately show them where they are in your site structure. Instead of hunting through menus or hitting the back button repeatedly, they can jump directly to any level in the hierarchy. This is especially valuable on mobile devices where navigation space is limited.

Breadcrumbs also reduce bounce rates by providing multiple exit routes. When users finish reading a post, they can click back to the category page to find similar content rather than leaving your site.

2. Improved Search Visibility

Google displays breadcrumb trails in search results when you implement them with proper markup. These enhanced listings make your result more prominent and provide context about where the page sits in your site.

Search engines also use breadcrumbs to better understand your site structure, which helps with crawling and indexing.

The combination of better UX and SEO benefits makes breadcrumbs worth the minimal effort to implement.

Pro Tip: For more ways to improve your search visibility, check out our comprehensive WordPress SEO guide.


How to Add Breadcrumbs Using Yoast SEO

Yoast SEO is one of the most popular WordPress plugins, and it includes built-in breadcrumb functionality. If you’re already using Yoast for SEO, this is probably your easiest implementation option.

Setting Up Yoast Breadcrumbs

If you don’t have Yoast SEO installed yet, go to Plugins > Add New, search for “Yoast SEO,” and install it.

Once installed, navigate to Yoast SEO > Settings > Advanced > Breadcrumbs in your dashboard.

Yoast SEO > Breadcrumbs

Configure your preferences:

  • Separator character (>, /, », →)
  • Homepage anchor text (usually “Home”)
  • Which taxonomy to show for posts (typically categories)
  • Whether to bold the current page

The settings are straightforward—adjust them to match your site’s style.

Displaying Yoast Breadcrumbs

After configuring settings, you need to add breadcrumbs to your site. Yoast offers several methods:

  • Gutenberg Block: In the block editor, search for “Yoast Breadcrumbs” and add the block to your header template or individual pages.
  • Shortcode: Add [yoast_breadcrumb] to any page, post, or text widget.
  • Widget: Go to Appearance > Widgets and add the Yoast Breadcrumbs widget to your header or other widget area.
  • PHP Code: For theme template integration, add this to your header.php or single.php (use a child theme):
<?php
if ( function_exists('yoast_breadcrumb') ) {
    yoast_breadcrumb( '<p id="breadcrumbs">','</p>' );
}
?>

The PHP method gives you precise control over placement. The block and widget methods are easier if you’re not comfortable editing theme files.


Adding Breadcrumbs With All in One SEO (AIOSEO)

All in One SEO is another comprehensive SEO plugin with built-in breadcrumb functionality.

After installing AIOSEO, navigate to All in One SEO > General Settings and click the Breadcrumbs tab.

AIOSEO breadcrumbs

AIOSEO automatically adds breadcrumbs to your schema markup. Configure your separator style, homepage label, and formatting preferences—the interface provides a live preview as you adjust settings.

To display breadcrumbs on your site, AIOSEO offers four methods:

1. Gutenberg Block: Add the AIOSEO Breadcrumbs block in the block editor
2. Shortcode: Use [aioseo_breadcrumbs] in posts or pages
3. Widget: Add the breadcrumbs widget to any widget area
4. PHP Code: Add to your theme files (requires child theme):

<?php
if ( function_exists( 'aioseo_breadcrumbs' ) ) {
    aioseo_breadcrumbs();
}
?>

The free version includes all essential breadcrumb features.


Using Breadcrumb NavXT Plugin

Breadcrumb NavXT is a dedicated breadcrumb plugin—it doesn’t do anything else, which means it’s lightweight and focused. If you don’t need a full SEO suite, this is a solid choice.

Installation and Configuration

Install Breadcrumb NavXT from Plugins > Add New in your dashboard. After activation, go to Settings > Breadcrumb NavXT.

The settings page has four tabs:

  • General: Breadcrumb separator, current item display, homepage settings
  • Post Types: Configure breadcrumbs for posts, pages, and custom post types
  • Taxonomies: Set taxonomy display preferences
  • Miscellaneous: Advanced options
Breadcrumb NavXT Settings

The default settings work well for most sites. The main thing you might want to customize is the breadcrumb separator on the General tab.

Displaying Breadcrumbs

Breadcrumb NavXT offers three display methods:

  1. Widget Method: Go to Appearance > Widgets and add the Breadcrumb NavXT widget to any widget area where you want breadcrumbs.
  2. Gutenberg Block: In the block editor, search for “Breadcrumb Trail” and add the block to your templates or pages.
  3. PHP Code: For direct template integration, add this to your theme files:
<?php
if (function_exists('bcn_display')) {
    bcn_display();
}
?>

Add this to your header.php, single.php, or wherever you want breadcrumbs.

One advantage of Breadcrumb NavXT is its automatic Schema.org markup support—the plugin adds structured data to your breadcrumbs without any extra configuration.


Manually Adding Breadcrumbs with Custom Code

If you’re comfortable with PHP or want complete control over your breadcrumb implementation, you can build a custom solution without plugins.

Creating a Custom Breadcrumb Function

Add this function to your theme’s functions.php file. Use a child theme to protect your changes from theme updates.

Here’s a basic breadcrumb function that handles most content types:

function wpzoom_custom_breadcrumbs() {
    // Don't display on homepage
    if (is_front_page()) {
        return;
    }
    
    echo '<div class="breadcrumbs">';
    echo '<a href="' . home_url() . '">Home</a> <span class="separator">/</span> ';
    
    if (is_category() || is_single()) {
        $category = get_the_category();
        if ($category) {
            echo '<a href="' . get_category_link($category[0]->term_id) . '">' . $category[0]->name . '</a>';
        }
        
        if (is_single()) {
            echo ' <span class="separator">/</span> ';
            echo '<span class="current">' . get_the_title() . '</span>';
        }
    } elseif (is_page()) {
        $parents = array();
        $parent_id = wp_get_post_parent_id(get_the_ID());
        
        while ($parent_id) {
            $page = get_post($parent_id);
            $parents[] = '<a href="' . get_permalink($parent_id) . '">' . get_the_title($parent_id) . '</a>';
            $parent_id = $page->post_parent;
        }
        
        $parents = array_reverse($parents);
        foreach ($parents as $parent) {
            echo $parent . ' <span class="separator">/</span> ';
        }
        
        echo '<span class="current">' . get_the_title() . '</span>';
    }
    
    echo '</div>';
}

This function checks the page type and builds the appropriate breadcrumb trail for posts, categories, and hierarchical pages.

Pro Tip: For more on editing this file safely, check out our WordPress functions.php guide.

Calling the Breadcrumb Function in Templates

After adding the function to functions.php, call it in your template files where you want breadcrumbs to appear. For most sites, that’s in header.php, single.php, or page.php.

Add this line where you want breadcrumbs:

<?php wpzoom_custom_breadcrumbs(); ?>

Typically, you’d place this right after your opening <header> tag or just before your main content area.

Styling Custom Breadcrumbs with CSS

Your custom breadcrumbs need styling to look good. Add this CSS to your theme’s style.css file or use the Additional CSS section in the Customizer (Appearance > Customize > Additional CSS):

.breadcrumbs {
    padding: 10px 0;
    margin: 20px 0;
    font-size: 14px;
    color: #666;
}

.breadcrumbs a {
    color: #0066cc;
    text-decoration: none;
}

.breadcrumbs a:hover {
    text-decoration: underline;
}

.breadcrumbs .separator {
    margin: 0 8px;
    color: #999;
}

.breadcrumbs .current {
    color: #333;
    font-weight: 600;
}

Adjust colors, spacing, and typography to match your site’s design. The key is making links clearly clickable while distinguishing the current page (which isn’t a link).


Implementing Breadcrumb Schema Markup

Adding structured data to your breadcrumbs helps search engines understand your site hierarchy and can display breadcrumb trails in search results.

Understanding Schema.org Markup

Schema.org provides a standardized vocabulary for structured data. For breadcrumbs, use the BreadcrumbList schema type, which defines each item in your breadcrumb trail and its position.

When implemented correctly, Google can display breadcrumb trails in search results instead of just URLs. These enhanced listings tend to get higher click-through rates by providing more context about where the page sits in your site structure.

Adding Schema Markup to Breadcrumbs

The most common format for breadcrumb schema is JSON-LD (JavaScript Object Notation for Linked Data). If you’re using Yoast SEO, AIOSEO, or Breadcrumb NavXT, they handle schema markup automatically—you don’t need to add anything manually.

But if you built custom breadcrumbs or want to understand what’s happening under the hood, here’s what the markup looks like:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [{
    "@type": "ListItem",
    "position": 1,
    "name": "Home",
    "item": "https://www.yoursite.com"
  },{
    "@type": "ListItem",
    "position": 2,
    "name": "Category",
    "item": "https://www.yoursite.com/category"
  },{
    "@type": "ListItem",
    "position": 3,
    "name": "Current Page"
  }]
}
</script>

Each item in your breadcrumb trail gets its own ListItem with a position number and either a link (for clickable items) or just a name (for the current page).

After implementing schema markup, validate it using Google’s Rich Results Test. This confirms your markup is error-free and eligible for rich snippets.

Pro Tip: For more on structured data, see our guide on adding rich snippets in WordPress.


Best Practices for WordPress Breadcrumbs

Follow these guidelines to implement breadcrumbs effectively:

  • Placement. Display breadcrumbs below your header or above your page title—and keep them in the same spot on every page. Don’t show breadcrumbs on your homepage (a trail that just says “Home” is pointless).
  • Design. Use a clear separator like > or / between links. Keep the font size smaller than your headings (typically 14px or less) and use subdued colors that don’t compete with your main content. Make the current page visually distinct—usually bold and non-clickable.
  • Structure. Always start with your homepage link and show the complete path to the current page. Use actual page titles in your breadcrumbs, not generic labels like “Post” or “Page.”
  • Mobile. Ensure breadcrumbs are touch-friendly with adequate spacing between links. If breadcrumb trails get too long on mobile, consider showing only the immediate parent or allowing horizontal scrolling.

These basics will give you breadcrumbs that are both functional and professional-looking.


Customizing Breadcrumb Appearance

Most plugins let you choose your separator character through settings. If you’re using custom code or want more control, you can customize appearance with CSS.

Changing Separators

Beyond the standard > and /, you can use icons from icon libraries like Font Awesome:

.breadcrumbs .separator {
    font-family: 'Font Awesome 5 Free';
    content: '\f054'; /* Right chevron */
    margin: 0 10px;
}

Or use Unicode characters: → (&#8594;), • (&#8226;), » (&#187;)

Styling with CSS

Add custom styles through Appearance > Customize > Additional CSS:

.breadcrumbs {
    background: #f5f5f5;
    padding: 12px 20px;
    border-radius: 4px;
    font-size: 14px;
}

.breadcrumbs a {
    color: #0066cc;
    transition: color 0.2s ease;
}

.breadcrumbs a:hover {
    color: #004499;
}

.breadcrumbs .current {
    color: #333;
    font-weight: 600;
}

Adjust colors and spacing to match your site’s design. Keep styling subtle—breadcrumbs should enhance navigation without demanding attention.


Troubleshooting Common Breadcrumb Issues

Even with careful implementation, you might run into problems. Here’s how to fix the most common issues.

Breadcrumbs Not Appearing

If you’ve configured everything but still don’t see breadcrumbs on your site:

  1. Verify plugin activation: Check Plugins > Installed Plugins to confirm your breadcrumb plugin is active.
  2. Check theme compatibility: Some themes interfere with breadcrumb display. Try switching temporarily to a default WordPress theme like Twenty Twenty-Four to see if breadcrumbs appear.
  3. Confirm code placement: If you added breadcrumb code to template files, double-check that you placed it in files that actually load on the pages you’re viewing.
  4. Clear all caches: Clear your WordPress cache, browser cache, and any CDN cache. Cached versions might not show your new breadcrumbs.
  5. Check CSS display properties: Sometimes breadcrumbs are there but hidden by CSS. Use your browser’s inspector tool to check if breadcrumb elements exist in the HTML but have display: none or similar properties.

Incorrect Hierarchy Display

If breadcrumbs appear but show the wrong path or structure:

For Posts: Check category assignments. If a post is in multiple categories, plugins like Yoast let you set a primary category. Go to your post editor and look for the primary category setting in the Categories panel.

For Pages: Verify parent page settings. In the page editor, check the Page Attributes box on the right sidebar. Make sure the parent page is set correctly.

For Custom Post Types: Configure breadcrumb settings specific to your custom post type. Most breadcrumb plugins have dedicated settings sections for custom taxonomies and post types.

For WooCommerce Products: Check product category assignment and the breadcrumb settings in WooCommerce > Settings > Products > Display.

If none of these solve your issue, look for theme or plugin conflicts. Disable plugins one by one (except your breadcrumb plugin) to identify conflicts.

Pro Tip: For more troubleshooting strategies, see our guide on common WordPress theme issues.


Looking for a Theme With Built-In Breadcrumbs?

WPZOOM themes come with breadcrumb navigation already configured—no plugins to install, no code to add, no setup required. Everything just works from the moment you activate your theme.

You get proper schema markup for SEO, clean HTML structure, and breadcrumb designs that match each theme’s style. Whether you’re building a portfolio, starting a blog, or running a store with WooCommerce, breadcrumbs are already integrated and ready to use.

Browse our collection of WordPress themes to see which one fits your project.

Related Posts

Upgrade Your Website with a Premium WordPress Theme

Find a theme that you love and get a 10% discount at checkout with the FLASH10 code

Choose your theme
Subscribe to the WPZOOM newsletter.

Join 150,000 people. Get our latest news & releases delivered to your inbox.

Leave a Reply

*

*