Which is the best breadcrumb plugin for WordPress?

All of you would have used or have experimented with breadcrumbs on your website at one point of time or another. I did too and I was curious as to see which breadcrumb plugin is the best. Most of the times a breadcrumb is much of an after-thought in the process of website design. Nonetheless, it’s also quite important in the sense that Google SERPs show the breadcrumbs.

When you mark up breadcrumb information in the body of a web page, Google can use it to understand and present the information on your pages in our search results.

Google Developers

The breadcrumbs also happen to have at least some usability function on the actual website (like navigation).

Breadcrumb trails on a page indicate the page’s position in the site hierarchy. A user can navigate all the way up in the site hierarchy, one level at a time, by starting from the last breadcrumb in the breadcrumb trail.

Google Developers

So what’s the best breadcrumb? My idea of an ideal breadcrumb plugin is that it should

  • Reflect the actual URL structure of the current page.
  • Allow some basic configuration via a UI/options page or arguments.
  • Work accurately with taxonomies, CPTs, rewrites, etc.

Here’s a small list that I’ve experimented with over time.

  1. Yoast SEO
  2. Breadcrumb NavXT
  3. Breadcrumb Trail

I’m going to start with the most popular and I’ve saved the best for the last.

1. Yoast SEO

Everyone installs the Yoast SEO plugin. It’s become second-nature to WP developers. While the Yoast SEO plugin’s main functionality is SEO related, the breadcrumb plugin comes bundled mostly for the sake of completeness. It does give you the options to change the labels for the breadcrumbs etc and you can choose what kind of taxonomy you want to show for posts. It’s basic and it does the job. Unless you want more complicated functionality… in which case you’d need to try something else.

The breadcrumb plugin bundled with Yoast SEO is basic and does the job.

2. Breadcrumb NavXT

Breadcrumb NavXT comes with several options that let you define the template for each breadcrumb view. That doesn’t necessarily translate to more options or robustness. But that’s quite some flexibility if you want to take control of the breadcrumb markup and output. It does come with some action and filter hooks to allow flexibility. But then you will essentially have to code that functionality yourself.

Breadcrumb NavXT allows complete control over the breadcrumb markup and output; requires coding though.

3. Breadcrumb Trail

Breadcrumb Trail is developed by Justin Tadlock and is perhaps the oldest and the most refined in this list. It has evolved with time to support complex structures.

Breadcrumb Trail automatically picks up the current permalink structure of your site so that the breadcrumb output is in-line with the URL structure.

The good part of Breadcrumb Trail is that it is unassumingly simple and silent. But when it comes to control and flexibility, it handles everything very well without any need of intervention. It also has the most exhaustive list of arguments that you can pass it to tweak it to your requirements.

With time Breadcrumb Trail has evolved to become solid, robust and it is able to take care of various edge cases. It comes with several hooks that allow you to configure and tweak it to your requirements. The documentation is thorough and support impeccable. If your site has custom taxonomies, custom post types or a complex permalink structure, chances are that Breadcrumb Trail will be able to take care of it out-of-the-box. And you can always hook into it when you need.

Breadcrumb Trail is able to take care of complex edge cases out-of-the-box.

When I was setting up one complex site structure, I wanted to have the breadcrumbs for pages show a taxonomy as a part of the page’s breadcrumb. And Breadcrumb Trail was the one I ended up using.

What is your take on this? Which breadcrumb plugin do you vouch for?

Leave a Reply

Your email address will not be published. Required fields are marked *