Did You Say Taxonomy or Content Type? [NEDCamp 2017]

Benji Fisher // December 2017

For a simple blog, the distinction between content and taxonomy is clear: blog posts are content, and taxonomy terms are what we use to group similar posts. An active blog might split the taxonomy into a few different vocabularies, each with its own list of terms.

Suppose the blog becomes popular. Maybe it gets enough traffic to generate some income. Then we devote some attention to the theme, maybe hire an intern to help maintain it, and we want to dress up the term pages, which list all the blog posts tagged with a particular term.

We can add a few paragraphs of description to each term. It is nice to attach a little icon to each term, so that the icon is displayed on blog posts tagged with the corresponding term, instead of just the term itself.

Maybe one of our vocabularies is geographic: the blog might be about travel or cooking or breeds of cats, for example. Then we might want to add a field to the location vocabulary with a link to more information about the place. Or maybe some other vocabulary needs links to our favorite related books, so that we can make some money from Amazon without adding any ads to the blog.

The point is that as the blog site gets more complex, the vocabularies (or taxonomy types) start to look more like content types (or node types). When designing a complex site, it is not always obvious when to use a content type and when to use a vocabulary.

This talk will show you some of the questions you should be asking to decide which to use. Depending on whether you use a content type or a vocabulary, …

  • … what do you gain or lose for good?
  • … what does Drupal give you for free?
  • … how does it affect the admin experience?
  • … how does it affect what is stored in the database?

Key Concepts:

  • Adding a taxonomy and content type
  • Benefits and limitations of using taxonomies
  • Benefits and limitations of using content types
  • Taxonomy and content type admin experiences
Did you say taxonomy or content type?