I'm fighting with pathauto patterns for a particular content type. The content type is bound to a taxonomy (a product catalog). I thought that the taxonomy tree should only hold container items (categories, subcategories, subsubcategories, etc) but not the end-nodes (products), and that it'll be possible to have the following URL pattern, consisting of the container node url + product alias + extension, as in [taxonomy-alias]/[node-alias].html.

This appears to be a wrong assumption though and causing trouble and bogus aliases. I'm closer to an approach that the taxonomy should descend down to the very product node, and product pages should be tagged with the final taxonomy node.

This however brings up a question: Is this a way to go if a product can fit in more than 1 category? This smells like more maintenance issues later, because if a product were to be removed, we would have to remove it in X places; my intuition tells me it's not the right way.

Above this all there is a goal to have the URLs and breadcrumb consistent, in sync.

I'm curious to know your opinion and experience in organizing a catalog taxonomy.

1 Answer 1


Your first assumption was right. The taxonomy items should be for categories and the products should be nodes to type product.

It looks like this is not as simple to setup for D6 where you could use


This comment on drupal.org has some helpful suggestions

  • Download Entity API
  • enable entity and entity tokens
  • Setup a path something like [node:field-category:name]/[node:title]
  • 1
    Yes, in fact I yesterday came up to this patter, but thank a bunch anyway. Right, I was puzzled at first that the term-raw-style tokens did not work, until I realized that it was all about D6. There's still so much more material out there in the space that belongs to D6 rather than D7. I will ask another taxonomy related question soon hoping for your attention. Admin will not be happy if I extend this post too much ;-) Commented Jul 11, 2011 at 19:29

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.