"Which content type should I use?" This is a content editor's first question when entering content into a content management system (CMS) like Drupal. Sometimes, it's easy to answer. Sometimes not.
What happens when they are presented with a list of twenty content types, and the content they want to create reasonably fits the definition of three different options? This type of fuzzy choice causes frustration in the editor, and over time, the website can get fragmented, polluted with duplicate content, and harder to organize. This fragmentation makes an editor's job more difficult and will eventually make it harder for site visitors to find what they are looking for.
We want to make an editor's job as easy as possible. How do we make it easy for them to choose a content type?
It starts at the beginning.
Keep your content types intentional and distinct
We can't cover the entire process of content design and discovery. We've covered user research, prototyping, and more in other places. Here, we want to focus on making sure your content types are not overloaded. You don't want a single content type doing too many things.
For example, it's tempting to stick another date field on the Blog content type so editors can use it as an event announcement. Problem solved. But now you've created more potential problems. What happens to that field when it isn't filled out? What happens when an editor wants to publish a blog without an event but fills in the extra date field?
This seems like a minor problem now, but extrapolate it over a few more content types, with content spanning years, and you might end up with a tangled mess. And it can get even worse. It's likely people will soon ask for an address field on the Blog content type to round out the new event listing functionality.
The design system has to account for these variations. Any custom code has to account for these variations. Maintenance costs increase. Validation becomes harder because some fields will be required in some contexts but not in others. Adding sensible guardrails becomes harder. And, if you ever migrate off the platform, you've created more work that has to be done to sort everything out.
Take a simple Promo Card example. It has an image, headline, description, and a link. The image can be aligned left or right. That's two options.
What if editors want the option for a small image or a large image? Suddenly, you've got four different options.
- Promo Card -> left -> small
- Promo Card -> left -> large
- Promo Card -> right -> small
- Promo Card -> right -> large
Add one more field, and now you have eight possible combinations, and the permutations balloon from there. Everything becomes more complex.
When to create a new content type
1. When a content type is trying to do too many things.
Look at the number of possible options that have to be accounted for. With the Promo example above, it might make sense to create Small promo and Large promo content types.
2. When there is a large number of fields used for only one use case.
If a content type has sixteen fields but only five are filled out at any given time, that's a big clue.
We had one client with a content type formatted three different ways. Each way required a different set of fields to be filled out. In the form, fields would appear and disappear depending on the selected use case. A lot of fields, and most weren't relevant to the central use case of the content type.
We want to follow some of the same best practices that guide database normalization. In a database, all the fields of a table apply to that table's purpose. If the table is responsible for too many things, you'll end up with empty fields or different batches of empty fields.
Let's take the example of an Article content type. It has a text field, a category field, and fields for images. You now need a place to publish press releases. We could reuse the Article content type and add a selection field where the editor chooses between Article or Press Release.
But press releases don't have images or categories. To avoid confusing editors, you hide those fields when they choose Press Release. But what if they filled one of these fields out before they made the selection, so there is data in the field, and now it's hidden? What if the data is invalid, and they can't submit the data, but now they can't see the part of the form with the error?
Even if a new use case would have an 80% overlap of fields with a current content type, it's worth considering a new content type.
3. When there are fields that don't support the primary goal of the content type.
Of course, you need to know the primary goal to know if this is happening. If you're not sure and there is no documentation, you'll need to ask another question to get more clarity.
What is the primary thing for this content? The element or information where, if it is removed, it will be impossible for the content to fulfill its purpose. Start from there.
For example, with a Call to Action (CTA) content type, the button is the primary thing. For a Promo Card that highlights other content, an image might be the primary thing. Combining a CTA and Promo Card into one content type could cause conflicts with their primary purposes. It would overcomplicate the form.
It depends
Organizing content types also depends on your organization, audience, and editorial team. It depends on the context. What works for one team won't work for another. The State of Georgia has an Official Statement content type that is almost identical to another content type, but because it has such a unique design and a clear, distinct purpose, it made sense to keep it separate.
However, the State of Iowa didn't have the same need, so it doesn't have that separate content type.
All of this flows from your content strategy, so invest in that research and expertise.
Helping your editors choose the correct content type
Your content types are well-organized, demarcated, and distinct. They are the result of much research and effort. But now, you need your editors to choose the correct one for each situation, or else all of that work becomes a vapor in the wind.
For Drupal, the Type Tray module will help you accomplish these goals.
Communicate the purpose of a content type
When you communicate the purpose of a content type, use their language. How do they think about content types? How do they name things?
Don't just say what it is. Tell them why they should use this content type over a different content type. Below is an example page using the Type Tray module.
When should an editor choose a Basic Page content type over a Landing Page? In the Basic Page description, we call out the ability to embed rich components and media. If the content they want to post has media, then users have a big clue that they should not use a Landing Page. The Basic Page description also says the "bulk of the content on a government agency site." In other words, when in doubt, an editor should probably default to using a Basic Page.
Communicate what's NOT included
If a content type doesn't allow images, state that in the description. Editors can immediately eliminate a choice. For example, one client has News and Press Release content types. Press releases don't contain images. If an editor is waffling back and forth between which content type they should choose, the Press Release not allowing images could be a big clue.
Include images of what the content looks like
Authors and editors often key off what they want something to look like and not what the content actually is. Make this easy for them. Include thumbnail images of sample content or wireframes of possible layouts.
Provide training materials
The State of Iowa created a dedicated page to help its editors choose the correct content type. It clearly explains what each type should be used for, provides a long description for more context, and highlights the functionality available. Each section ends with a link to more information about working with that content type, including tutorials with screenshots.
Your training materials don't have to be public, but they should be easy to find, access, and read.
Don't leave your authors and editors guessing
Do the work upfront, and communicate those decisions clearly every step of the way. If you make the lives of your content teams easier, you have a better chance of keeping your website clean and organized. And if your website is clean and organized, your website visitors have a better chance of finding what they're looking for. Everyone wins.