What’s the difference between Categories and Tags?

Categories are meant for broad grouping of your posts. Think of these as general topics or the table of contents for your site. Categories are there to help identify what your blog is really about. It is to assist readers finding the right type of content on your site. Categories are hierarchical, so you can sub-categories.

Tags are meant to describe specific details of your posts. Think of these as your site’s index words. They are the micro-data that you can use to micro-categorize your content. Tags are not hierarchical.

For example if you have a personal blog where you write about your life. Your categories can be something like: Music, Food, Travel, Rambling, and Books. Now when you write a post about something that you ate, you will add it in the Food category. You can add tags like pizza, pasta, steak etc.

One of the biggest difference between tags and categories is that you MUST categorize your post. You are not required to add any tags. If you do not categorize your post, then it will be categorized under the “uncategorized” category. People often rename the uncategorized category to something like Other, ramblings etc.

Another difference is the way your category and tags permalinks (urls) look. If you are using a custom permalink (URL) structure, then your base prefix will look different. Example:


What’s the optimal number of WordPress categories?

Up until WordPress 2.5, there was no built-in support for tags. This led to very long category lists because people were using it to define micro-details. Tags were added to improve the usability of your site. Having that said, we believe there is no specific optimal number of categories. The optimal number varies based on the complexity of your site. However, for the sake of structure and usability, it is best that you utilize sub-categories and tags.

Categories are meant to encompass a group of posts. It is always best to start with generic categories and work your way down with subcategories as your site grows. After having run multiple blogs, we have leared that blogs evolve. There is no way that you can come up with all the right categories. Chances are when starting out, you are only writing one post a day. Or maybe 3-5 posts a day. Having 30 top categories is pointless specially when some of them will only have one or two posts. You are better off with 5 generic categories that have fresh content rather than 30 top categories where the majority are not updated.

Let’s take a look at an example. Say that we are starting a social media blog in 2012. We want to share how-to tutorials, news, tools, case studies etc. We can create top categories like Twitter, Facebook, Google+, LinkedIn etc. As sub categories of each, we can have tools, how-to’s, case studies, news etc. However that is a very short-term mindset, and we will run into issues in the future. What if one of the social media network dies and a new one enters the game? You will be required to add yet another top level category and more sub-categories.

A much better way of structuring this social media blog would be to have top categories that are future-proof. You can have your categories like How-To’s, News, Case Studies, Tools, etc. But how would people know that it is about twitter? Well your categories are not suppose to do the entire job. This is where tags come in. Let’s say you wrote a how-to post about twitter, simply add the tag twitter. In your design just add a section called Popular Topics and control that manually with links to popular tags like Twitter, Facebook, Google+ etc.