Let say I have a post that belongs to 2 categories ("Queries" and "MySql"), and a tree structure is like that:
Programming>>Web>>Php>>Queries>>My Post
Programming>>DB>>MySql>>My Post

I doubt, what is the best way (in terms of UX) to present both paths, so the the visitors will understand intuitively what is going on?

Updating - expansion of question explanations

Because I see that all the answers are not about how to solve the problem, but how to avoid this situation I will try to explain more:
I use breadcrumbs not only to let visitor know where is he on the site map, but to let him know what is the area of this article and what is the parent area of this area. It may sense to take another example:
Let say I have encyclopedic article about lightning. Visitor arrives there from google. Probably visitor wants to see other articles on related topics. The related topics are: "electrostatic discharge" (that is a child category of science>>physics>>electricity) and "natural phenomena" (that is a child category of science>>nature-study).
So the breadcrumbs are:
science>>physics>>electricity>>electrostatic discharge
science>>nature-study>>natural phenomena
I can not know what are the related articles that visitor wants to see after this post (may be it's something in 'electrostatic discharge' or 'electricity', may be some other articles in 'natural phenomena'). Also it can be a visitor that didn't hear about this topic and it have a sense to let him know, that it belongs to science etc.
So I think, the presenting of both paths is justified. The question is how actually to do it. I thought about something like this:

enter image description here

3 Answers 3


Have you thought about simply using tags to solve that problem?

That would ommit to problem of displaying 2 bread-crumbs, which kinda takes away the whole Hensel and Gretel idea behind it, leaving little pieces of bread to know their way back home; so it should show the way taken in the first place.

  • Yes, I thought about it. But for this site it's not good. The site's subject is knowledge database, and natural presentation of it's structure is hierarchical (what will give a visitor to jump a few nodes up).
    – Shimon S
    Aug 13, 2015 at 9:40
  • Allright, I think I understand it a little bit better, perhaps you need to think about "why" that situation is possible, as it would seem strange to me that 2 different subjects are the same (in your example, one is from the PHP POV, the other is information regarding MySQL, however people visiting MySQL might not be interested in PHP...). To me it seems that you don't really want to "mix" them up, and that you probably want a "read more about these subjects" - followed by a list containing for instance MySQL.
    – Xabre
    Aug 13, 2015 at 10:14
  • Please see an updating to the question.
    – Shimon S
    Aug 13, 2015 at 13:08

What follows is not very elegant - but it does satisfy requirements related to true navigational breadcrumbs.

Every page should have at least one primary category attribute and can have many secondary category attributes. The example you gave:

Programming>>Web>>Php>>Queries>>My Post
Programming>>DB>>MySql>>My Post

Assume that the primary category is "queries" and it's also secondarily categorized as "mysql."

Here are the rules for generating the breadcrumb:

  1. If the user hits the page directly, meaning that the referer is not from your domain, show the breadcrumb based on the primary category.
  2. If the user hits the page and the referer is within your domain and it belongs to a category or secondary category that also matches the page in question, show the breadcrumb based on the user's actual navigation path.
  3. Alternatively, if the user hits the page and the referer is within your domain but does not share overlapping primary or secondary categories with the page in question, fall back to the primary category.

This sounds like a lot to focus on for breadcrumbs - but it's actual common functionality in systems designed to dynamically build navigation based on product data. For example, here is old documentation from Endeca (the search engine that powers sites like BestBuy and Food Network):


If you also plan on building the URL to reflect this scheme, make sure to use canonical tags to prevent search engines from indexing the pages under their secondary categories.

All of that said, I would recommend simply showing the primary category information in the breadcrumb and letting the user work their back button if they want to truly move around in their clickstream. This is the true user behavior. In analytics I've looked at I haven't seen much use of the breadcrumb (it's more for visual wayfinding vs navigation).


I've always felt it best to show the one "true" hierarchy in the breadcrumb regardless of how the user got there. E.g in your case if I had to categorize it, it would be a

DB > MySQL > Post breadcrumb...

because the PHP route just happens to be one of the other ways to get there. SQL Queries are part of SQL, which are part of a DB.

However that said I would ensure the page has tag links on it so that if the user wants to change direction and surf along your PHP posts, they can easily do that too.

  • Please see an updating to the question
    – Shimon S
    Aug 13, 2015 at 13:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.