Smashing Magazine - we smash you with the information that will make your life easier. really.
Jacob Gube is a bilingual web developer (JavaScript and PHP), web designer, author, and the Founder/Chief Editor of Six Revisions: an online publication that shares useful development and design resources and tutorials for web professionals.
- 130 Comments
- 1
- 2March 17th, 2009 1:07 pm
Thank you for publishing this article! I found it interesting how creative folks are getting with them.
Of course designers should champion the importance of breadcrumbs in their designs. What I’d always stress to my clients though is that a breadcrumb does NOT replace a pagetitle.
Just because they are helpful, doesn’t mean they solve every problem. (They are no Windex, you know).
- 3March 17th, 2009 1:07 pm
great as allways, thanks Smashing!
- 4March 17th, 2009 1:08 pm
I’ve started a lot of arguments over these. Breadcrumbs can often elicit as many if not more questions than they answer. Are these supposed to be where I am? Or how I got here? Glad to see this at least acknowledged here.
I find a lot of user bases have real trouble defining whether breadcrumbs are location, path or attribute based.
If you can justify them based on depth of content and audience need, then by all means. There’s a lot of over-reliance on these IMHO. Reserve them for sites where you have to assume your users will get lost – but don’t use it as an excuse for poor IA.
- 5March 17th, 2009 1:34 pm
Really usefull article, thanks.
- 6March 17th, 2009 1:35 pm
And I thought breadcrump is dead.
Surprise. Surprise. - 7March 17th, 2009 2:11 pm
Guys,
Recently I used breadcrumps below the title of the page ( H1 tag).
This practice is wrong or can be accepted? - 8March 17th, 2009 2:38 pm
Hi – i’m a usability professional by training. In many many studies involving hundreds and hundreds of users we have hardly ever seen people using breadcrumbs on top ecommerce sites. Personally i think they are overhyped a bit. they are a must have for SEO (like sitemaps). curious if the usability pros here have DATA (not opinion) about what they’ve commonly observed in the lab and so on? please share your data.
- 9March 17th, 2009 3:16 pm
@Ethan: I agree with you in that you should justify the need before implementing breadcrumbs. I’m a minimalist, so for me, a site feature must have value for it to be incorporated in the design. Relying on breadcrumbs as a crucial method of navigation rather than an ‘extra’ site feature, usually, is an indication of a poor site design.
@Matt: Wrong in what sense? It’s all about implementation and styling: structurally, it’s valid.
One thing to keep in mind is that it would be annoying for people who use screen readers. After they encounter the page title, they will always encounter your breadcrumb right after – when they’re expecting either meta data (like date of publication, author, etc.) or the content of the page – there are ways that they can skip it – but they’ll have to be familiar with your site’s structure first. Can we see a live demo?
@Jane: Breadcrumbs are very helpful, but it shouldn’t be something to be relied upon. For example, Newegg’s attribute-based breadcrumbs can really help you find hardware that you’re specifically looking for. I think that it’s all about implementation, needs-analysis, and what your users want/need. Harping back on Newegg, their userbase is generally: tech-savvy, power user, computer enthusiast – so a robust navigation scheme with plenty of options is something that their users would appreciate.
- 10March 17th, 2009 3:47 pm
Yup, Breadcrumbs are really usefull.
All I know is, they help spider read the structure easily ! :DAny good Wordpress Plugins for the Breadcrumbs ? The One I used didn’t work at all .. :(
- 11March 17th, 2009 4:11 pm
Great article and examples. One that I would have included as well would have been http://www.whitehouse.gov/
They have a breadcrumb at the top of pages that is not clickable, just there to show you where you are at – but they also have another (functional) one at the bottom of the page, before the footer. I like the placement of this second one because it offers a way for users (who actually read the entire page) to navigate back up a level without having to use the footer’s nav , scroll back up to the top navigation or use the back button.
- 12March 17th, 2009 4:12 pm
Nice article. Go SM!
- 13
- 14March 17th, 2009 6:56 pm
@Enk.:
Breadcrumb NavXT is a very complete and stable WordPress breadcrumb trail generation plugin. There are others, but few work for all page types, or are as customizable. Sure, I’m a bit partial to it as I am the developer :). If you can’t get it to work just bug me on the linked page and I’ll help you get it working.
- 15March 17th, 2009 8:34 pm
Great article. Would love to have you re-visit our site in about 2 weeks – we are in the middle of a re-design and one of the most important fixes is the Nav structure (including breadcrumbs).
Regards,
Frank
CEO, MeFeedia.com - 16March 17th, 2009 8:50 pm
I hate breadcrums that are using a slash as separator. It’s so command-line style…
Plus, you have to be certain that no category will ever use a slash.
For instance :
Electronics / TVs / LCD/Plasma Screens
can lead to confusion - 17March 17th, 2009 9:22 pm
thanx.. thats a very rich article.. keep it up.
- 18March 17th, 2009 9:24 pm
nice article
- 19March 17th, 2009 9:27 pm
Thanks for the article that I just happened to fall upon. I thought I knew most of this but really enjoyed seeing your review of newer uses. The comments are provocative too to think of seo and actual user benefits. I use, especially in large sites, them but perhaps that’s because I am familiar with them.
- 20March 17th, 2009 9:45 pm
Thanks!
- 21March 17th, 2009 10:22 pm
For one of our new websites, I combined a breadcrumb with a navigation list that looks like a tree-view (great for hierarchy).
You can see an example on this page (tree-view on the left). - 22March 17th, 2009 11:05 pm
@ Matt: It can be accepted depending on the design…
but I’ve normally noticed it above the page title..
- 23March 17th, 2009 11:33 pm
Thanks very good and informative. I always wanted to know that how that term comes “Breadcrumb” now i got it. :)
- 24March 17th, 2009 11:37 pm
I usually make it on a classic way, this article is giving me some ideas for desgning it in the future. Thanx a lot.
- 25March 18th, 2009 12:25 am
I miss the best best practices to built such breadcrumb navigations. What I had expected is the recommendation to use list tags or put every think in structured div container?
- 26March 18th, 2009 12:35 am
Breadcrumbs are very useful for the user in large websites / portals.
I used them a couple of time in the past.
I think they could be considered also as a nice graphic element to place in pages, with creativity. - 27March 18th, 2009 1:16 am
Like it! Keep it up!
- 28March 18th, 2009 1:20 am
Why are they called Breadcrumbs? this is something that is nicely done on the apple.com web site. I have not yet used ‘breadcrumbs’ on any of my sites yet, mainly because i have not build large enough sites that need it, and also, i have not the foggiest idea how to implement one.
- 29March 18th, 2009 1:27 am
Very informative article…
- 30March 18th, 2009 1:39 am
It would have been nice to talk a bit about the implementation of breadcrumbs in the different platforms (like html, dreamweaver extensions, typo3, wordpress etc.)
But anyway great!!
Thanks
- 31March 18th, 2009 2:06 am
Very usefull article! Thank you.
- 32March 18th, 2009 2:40 am
soon search engines will consider this seo spam…
- 33March 18th, 2009 2:57 am
According to some, breadcrumbs are a design cop-out for properly implemented easy to use site navigation. Jared Spool is the author of that article, and it caused a bit of a debate – which prompted a follow up.
I would tend to agree with his opinion. Breadcrumbs are unnecessary if navigation is intuitive.
- 34March 18th, 2009 3:28 am
@x-ray: Unordered list (
ul) would be a good option for breadcrumb trails. You can float each list item (li) and then even play around with thelist-styleCSS attribute for separating the links.@James Mann: They’re called breadcrumbs because of the Hansel and Gretel fairy tale that was discussed in the What is a breadcrumb? section.
@ush: Actually, you’re right – I should’ve talked a little bit about a “how-to” implementation and then discuss practical implementation using HTML/CSS and then go to talk about your options for popular CMS’s. I will keep that in mind in future articles.
- 35March 18th, 2009 3:41 am
This is the best article I have seen on breadcrumb navigation. You cover why it is important, how to do it well, who’s not doing it so well. Great article. It’s information I will put into effect immediately and with all of our clients.
- 36March 18th, 2009 3:55 am
Thanks for the great article. I guess breadcrumbs aren’t used as much anymore, but they still provide an effective and simple solution when appropriate.
- 37March 18th, 2009 4:16 am
Interesting bit about the breadcrumbs with flyout option – we recently explored “super breadcrumbs” like that for a site we’re building, but ultimately scrapped it as we did not feel the hybridization provided anything revolutionary; it simply made the user think.
- 38March 18th, 2009 4:38 am
@Jacob Gube and @Nidhi
Thanks a lot for the info. :)Here is a little screenshot of the page:
http://dl.getdropbox.com/u/568311/samples/bread.jpgThis is a Magento ecommerce template i’ve working about.
- 39March 18th, 2009 4:59 am
Breadcrumbs are such a good navigational utility. Some classic examples and nice to see some creativity with something that is usaully dull and often overlooked in design.
Great Article, one for the favourites folder…
- 40March 18th, 2009 4:59 am
I’m not convinced that using an unordered list is the best procedure for breadcrumbs. A breadcrumb trail is essentially hierarchical (in most cases) and ul is not. Semantically, wouldn’t you want nested lists? But that would make fairly messy markup.
- 41March 18th, 2009 6:00 am
Good Article as always. It would be great if we could have a follow up article on implementation methods for Breadcrumb.
- 42March 18th, 2009 6:03 am
I hate breadcrumbs that display the current page as well. Then you have the title in two places right next to each other. In breadcrumbs for NBA Gauntlet, I removed the current page from displaying in the breadcrumbs.
- 43March 18th, 2009 6:27 am
Since I added breadcrumb navigation to my layouts, I’ve never looked back ever since – they help my visitors find their way around the website. However, I’ve read debates regarding using unordered lists (and then floating the <li> tags later) over using <span> instead. Some people claim that it’s a violation of web semantics to use unordered list because each subsequent item is actually a ‘child’ of the previous one. Personally I have no qualms using unordered list for breadcrumbs, but since you’ve did an excellent writeup on this, what are you views?
- 44March 18th, 2009 6:49 am
Good article, and nice to see one of our sites used for an example (techradar). This is all good on a visual level but im very interested in how breadcrumbs should be implemented from a coding perspective! There are many different ways of writing breadcrumbs, some better than others, from both a usability perspective and also from an SEO perspective. Perhaps this is out of scope for this article.
These days we tend to use nested unordered lists as it seemed the most sensible and semantic way of doing it.
- 45March 18th, 2009 7:06 am
Teddy: Sorry, i didnt read your post!! I think that the nested ul approach makes sense as, as you say, each item is a child of the previous one.
- 46March 18th, 2009 7:30 am
Nifty – especially the more experimental uses. That’ll take some cogitating.
Did you happen to see Veerle Pieters’ blog post about scalable CSS-based breadcrumbs? (Disclosure: she invented them for our site relaunch.)
- 47March 18th, 2009 7:35 am
Great synopsis! The examples of when to implement them are a great resource to have to show clients when trying to persuade them either way. I agree with many other comments here, it would be great to have a best practices for breadcrumbs follow up article to this one. I would think ul and li tags would be best, but I have read many contradicting things on what are the best tags to use.
- 48March 18th, 2009 7:35 am
Great!!!
- 49March 18th, 2009 9:17 am
Very good!
- 50March 18th, 2009 9:51 am
This is a very nice article…
- 51March 18th, 2009 11:46 am
Example #4 is really more of a progress meter than a breadcrumb in my opinion. I feel they are different because a breadcrumb is use primarily as a navigation tool while a progress meter is specific letting the user know where they are in a specific process. Progress meters are geared more toward multi-step processes as mentioned (such as a wizard) which is quite different than the intentions surrounding a breadcrumb.
Great article as usual though!
- 52March 18th, 2009 4:56 pm
Great resource. I haven’t implemented breadcrumbs much on my websites, but I am now thinking about doing so.
- 53March 18th, 2009 5:21 pm
Great article. I still can’t seem to fully understand this concept of “filtering out” using checkmarks or X’s.
I thought that the idea of breadcrumbs was to indicate where you were in a hierarchy. And so I suspect it might be confusing to most people to have an option to filter out an entire level of site structure. And the two examples listed above aren’t the clearest (ex: overstock, when you filter out “beds” you still see a list of twin beds)
anyone have any good examples of this in practice?
cheers!
- 54March 18th, 2009 9:34 pm
Thank you!!
- 55March 19th, 2009 12:50 am
Another great article. Very useful, thanks a lot!
- 56March 19th, 2009 1:13 am
Hi,
Is breadcrumb term the best word to qualify user’s location?
Breadcrumb’s term speaks about historic of user’s navigation, don’t it? - 57March 19th, 2009 5:50 am
Breadcrumbs are great for user’s navigation, like bookmarks in a book. After reading this article they also provide a design challenge for the designer – I tend to stick to the normal style but will now aim to try different solutions in the future.
- 58March 19th, 2009 8:50 am
Good article, I find breadcrumbs a great tool when designing and navigating sites, especially if there are more than two tiers of navigation. More designers should use them.
- 59March 19th, 2009 10:00 am
Many usability studies show that some users benefit from breadcrumbs usability studies show that some users benefit from breadcrumbs. Just as important, user research also finds that no users suffer problems because of breadcrumbs. (Some users do ignore the breadcrumbs, but they certainly don’t use them wrong.)
The cost-benefit analysis for breadcrumbs is easy:
Decent (not big) benefits to some users
No downsides to other users
Low overhead in the UI, fast download times - 60March 19th, 2009 10:08 am
Come to think of it, how about applying breadcrumbs to browsers? No in the usual way like locationbar2 for Firefox does (awesome plugin btw), like with http://www.site.com » folder » second » file.html or something, but more like the sequence of pages you visit, and the way you follow links. Like Google » Search “hotels” » SuppahHotel.com » Rent a Room » Check Room 202 out
Huh? Wouldn’t that be awesome?!
God, I sometimes have awesome ideas. Feel free to use them, I don’t care. :D
- 61March 19th, 2009 10:36 am
@Craig: check out Jakob Nielsen’s Breadcrumb Navigation Increasingly Useful a little old (about two years ago), but it outlines the value of breadcrumbs.
@Matt: The prototype looks great to me. An additional value of that would be in SEO where the first thing spiders see is, in terms of unique content (not including primary nav and logo, etc.) is:
1. Page title
2. link to level 1 category
3. link to level 2 category
4. location
5. h2If you name your categories well, you could potentially improve your site’s indexibility with a structure like that.
@Patrick: semantically/structurally, nested unordered lists would be the way that would represent the hierarchical relationship of the links. But taking this theory to practice in this manner would be, quite simply, unnecessary work. One other solution that would somewhat represent the hierarchy of the links is via ordered lists.
1. item 1 – First-level category
2. item 2 – Second-level category
3. item 3 – Third-level categoryHey, I’m all for semantics and structural accuracy, I’ve written about it in the past: Structural Naming Convention in CSS but I’m also a realist and a pragmatist – in that, in real-world scenarios, it just doesn’t matter: there are real deadlines to be met, and maintainability to consider. I think a single-level unordered list is a good compromise in terms of structure vs. pragmatism. You said it yourself: nested list, thought structurally-accurate and representative of the links’ relationship, is fairly messy. Now multiply that messiness to 50-60 categories in 3 or 4 levels, and you’re looking at a large-scale site’s nasty markup… for breadcrumbs? I pity the developer that gets the task of tacking on another site level or taking one away when the site decides to scale or restructure content.
My two cents.
@teddY: Read the above reply to @Patrick, that’s my view on unordered list. I’ve had debates on things like this, like: whether I should use <strong>text:</strong> or <strong>text </strong> :, in the end – the pragmatist and “Getting Real” in me just says, “it just doesn’t matter”
@Subbu: and @PureDezigner:I’m thinking about it: a more pragmatic, less theoretical approach to discussing breadcrumbs. How to do it, instead of why/why not.
@Rob Cottingham: I checked it just now, looks great, very similar to Apple’s breadcrumbs, visually.
@Virtualsalvation: You do not know how long it took me to decide whether to leave that example on or take it out, exactly because of your sentiments. I could have found a better example to use than the web form sign-up process. I do think breadcrumbs and that example accomplishes two things: it lets you know where you are, it lets you go back and forth from where you’ve been.
@davelane: the best example I can think of at this moment is Newegg, check out this page. If you use the (x) on any attribute on the breadcrumb, you are presented with a new page that doesn’t have that attribute.
Let me know if that makes it clearer, or if I should explain further.
@Nicolas: Not the best term, I agree, but it’s stuck to that.
- 62March 19th, 2009 2:56 pm
Excellent article thank you. We’ve used breadcrumbs on our sites but only where we and the client felt it was necessary, and I absolutely believe they’re expected on a large tiered site. I’ll be bookmarking this as reference. Thanks again and I look forward to reading the post about implementation.
Cheers. - 63March 19th, 2009 3:53 pm
thanks.
- 64March 19th, 2009 5:01 pm
写得非常好,学习了
- 65March 20th, 2009 2:04 am
Breadcrumbs are a navigational cop out. The effort spent designing and implementing breadcrumbs should rather be spent implementing Intuitive navigation, negating the need for them.
- 66March 20th, 2009 6:58 am
Breadcrumbs have been getting more and more attention lately.
- 67March 20th, 2009 6:58 am
Useful post
- 68March 20th, 2009 7:33 am
Thanks you for this article. Good to keep this in mind while I am designing my e-commerce site!
- 69March 22nd, 2009 2:28 pm
Good Article, it is so nice
- 70March 24th, 2009 12:55 pm
I’d like to use breadcrumbs but have an overwhelmed web team. Is there a plugin or script that will auto-create these?
- 71April 11th, 2009 4:50 pm
Breadcrumbs can be very useful if they’re used right.
@A West:
There are all kinds of scripts. I usually use JavaScript to auto create my breadcrumbs. I think you’d be crazy to go into every html file and put the breadcrumbs in by hand, especially on a large project. - 72May 23rd, 2009 2:43 am
This is a fantastic article, If you read Google’s guidelines for SEO & best practices they also say that Breadcrumbs really helps them understand the structure of a site. They’re also pretty good for SEO if you include keyword rich Anchor Text.
- 73July 28th, 2009 8:14 pm
I have this breadcrumb class but I am having difficuty implementing it. Is anyone able to help?
crumbs = $_SESSION['breadcrumb'];
}}
/*
* Add a crumb to the trail:
* @param $label – The string to display
* @param $url – The url underlying the label
* @param $level – The level of this link.
*
*/
function add($label, $url, $level){$crumb = array();
$crumb['label'] = $label;
$crumb['url'] = $url;if ($crumb['label'] != null && $crumb['url'] != null && isset($level)){
while(count($this->crumbs) > $level){
array_pop($this->crumbs); //prune until we reach the $level we’ve allocated to this page
}
if (!isset($this->crumbs[0]) && $level > 0){ //If there’s no session data yet, assume a homepage link
$this->crumbs[0]['url'] = “/index.php”;
$this->crumbs[0]['label'] = “Home”;}
$this->crumbs[$level] = $crumb;
}
$_SESSION['breadcrumb'] = $this->crumbs; //Persist the data
$this->crumbs[$level]['url'] = null; //Ditch the underlying url for the current page.
}/*
* Output a semantic list of links. See above for sample CSS. Modify this to suit your design.
*/
function output(){echo “Click trail: “;
foreach ($this->crumbs as $crumb){
if ($crumb['url'] != null){
echo ” > “.$crumb['label'].” “;
} else {
echo ” > “.$crumb['label'].” “;
}
}echo “”;
}
}
?>I take I need to use sessions?
- 74September 8th, 2009 8:11 am
A slightly different use of breadcrumbs:
After clicking on a specific search result, AppExplorer uses breadcrumbs to allow the user to navigate to other search results without going back to the results page.
- 00
There are no trackbacks at this time. If you are interested in leaving a trackback, please use this URL.
Leave a Comment
Make sure you enter the * required information where indicated. Please also rate the article as it will help us decide future content and posts. Comments are moderated – and rel="nofollow" is in use. Please no link dropping, no keywords or domains as names; do not spam, and do not advertise!
- Magazine RSS Feed
177,918 readers - Follow us on Twitter
83,640 followers
Interact
Popular
- 100 Wordpress Themes
- Photoshop Tutorials
- Fantastic Wallpapers
- 40+ Excellent Freefonts
- Dual-Screen Wallpapers
- Wordpress Themes for 2009
- Illustrator Tutorials
- Incredible Free Icon Sets
- High-Quality Free Fonts
- 30 Scripts For Galleries
- Photoshop Text Effects
- Useful Icon Sets
- Web Design Trends
- iPhone Wallpapers
- Before Launching a Website
- CSS Layouts And Templates
- Photoshop Actions
- Stunning Pictures and Photos
- Fantastic HDR Pictures
- Logo Design Tutorials
- Free Design Templates
- 10 Mistakes In Logo Design
- Photoshop Custom Shapes
- 40 Creative Design Layouts
- 8 Layout Solutions
- 53 CSS Techniques
- Photography Techniques
- Black & White Photography
- Styling Design Elements
- CSS-Based Forms
- 50 jQuery Techniques
- 50 Portfolio Websites
- 50 CSS Techniques
- Creative Logo Designs
- Desktop Wallpapers
- 25 Open Source Mac Apps
- 50 Free Icon Sets
- Glassical: A Free WordPress Theme - http://bit.ly/19EvYr
- Please nominate Smashing Magazine for Best Online Magazine in the 2009 Open Web Awards - http://bit.ly/10ynWA
- Mega Drop Down Menus with CSS & jQuery - http://bit.ly/24novl
- Join us on the Smashing Magazine's Official Facebook Page - http://bit.ly/18ebRT
- #followfriday @inspiredmag @designerdepot @DesignMagTweets @inspirationbit @Colorburned @buysellads @TheCoolHunter @behoff
- New format on @smashingmag: The Beauty of London in Design - http://bit.ly/1Hkju8
- Unbelievable: Ponte City Tower in Johannesburg - http://bit.ly/Iv2k5 - When modern architecture isn't beautiful.











































I’ve only ever once had a client who wanted breadcrumbs, but they’re a good think to know about, if someone does want it.
Good post.