BlogDeploy

Blog categories vs tags (and why you probably don’t need both)

Written by Codemzy on May 15th, 2023

Should you organise your blog posts into categories, with each post belonging to one category - or tags, where each post can have multiple tags? I don't have the answer, but hopefully this post can help you decide the best way forward!

When you're organising blog content, you're probably going to need categories or tags. Unless you only plan to write about one single super-niche topic. Because even a single topic can usually be broken down into several sub-topics.

Take my blog, for example. I currently have 4 categories.

  • Code
  • Deploy
  • Software
  • Projects

But I could probably break this down even further if I wanted to. For example, when I write about code, I've written posts about JavaScript, ReactJS, TailwindCSS and Regex. I don't have loads of posts at the moment, but as I add more, it might make sense to break things up.

And that's when the question arises - categories or tags?

The difference between categories and tags

Categories and tags are both ways to organise your blog - but they have some subtle differences.

Usually, when a blog has categories, each blog post will only belong to one category. It's a one-to-one relationship. For example, a blog about dogs might go under a "dog" category.

The one-to-one relationship isn't always the case though. Sometimes a blog post might be filed under a couple of categories, for a one-to-few relationship.

Tags are another way to structure your blog content.

But when a blog has tags, each blog post can belong to multiple tags. It's usually a one-to-many relationship. For example, a blog about teaching a puppy to sit could go under "dog", "training", and "puppy" tags.

Categories and/or tags

Usually, a blog will use one or the other. But some bigger blogs might use both categories and tags. For example, breaking different topics into categories, and then tags for subjects within each topic.

You might put that puppy training blog post under the "dog" category, and add the "puppy" and "training" tags, for example.

If you have lots of different topics, it might make sense to have categories for each topic, and then tags under each category.

This works well if tags are unique within each category. But not so well if you have tags overlapping the categories.

Say you have a "dog" category and a "marathon" category, you might have the "training" tag under both. And that won't work well if a visitor filters by the tag "training" - someone interested in dog training probably isn't also looking for marathon training tips!

For simplicity, it's probably a good idea to pick either categories or tags.

What I like about categories

  • Simple
  • Clean
  • Clearly Defined
  • Nice Structure

Sometimes categories make the most sense. For example, if you are a vet with a blog, then categories might make the most sense. You could have articles about dogs, cats, rabbits, hamsters etc - each in their own categories.

People who are looking for information about their dog can just head over to the dog's category and only see the posts relevant to them and their pet.

Ahrefs organises its blog with categories, and only very rarely adds a post to more than one category. So it's very clear what category you are in when you read a post, and easy to stay on topic by sticking within one category.

What I don't like about categories

  • Limiting
  • Decisions

Categories can be limiting though. On this blog, for example, I might write about JavaScript or ReactJS or Regex. And currently, all of those posts would go under the "code" category. But what if you just want to see posts about ReactJS? There isn't a way to filter that.

What if I add a "ReactJS" category? Should that be a subcategory of code? Or should I have no code category and just different categories for JavaScript, ReactJS, Regex etc? But ReactJS is JavaScript - so should it be a subcategory of that?

For topics that can overlap (e.g. a post about ReactJS that includes JavaScript or Regex) - using categories can be hard. Once you have decided on your categories, you need to decide where your post goes. It might be relevant to several categories, but it should only be filed under one.

What I like about tags

  • Less restrictive
  • Easy to cross-post
  • Easy to expand

Unlike categories, you can add multiple tags to a post. You don't need to worry about which category a post belongs in - because now you can add multiple tags to your post.

If I wrote a blog about deploying some ReactJS code to production, I'd currently have to pick between the "deploy" or "code" categories. If I used tags, I wouldn't have to pick. I could tag the post with "ReactJS" and "deploy", and any other tags that seemed appropriate.

CopyBlogger organises its blog with tags. And I often find myself exploring other topic areas by clicking on the linked tags.

What I don't like about tags

  • Messy
  • Long lists
  • Duplication

I'm sure you've seen posts on social media where the person has added a million and one hashtags - and it just looks a mess. #positivity, #blessed, #family, #friends, #fun, #letsdothis, #happiness, #excited ...etc.

Well, you can do the same with tags on your blog posts.

And if you end up adding all your tags to virtually every blog post, then all your tag lists end up looking the same - and stop being useful.

For example, let's say I write a post about ReactJS. I'd add the ReactJS tag. But ReactJS is also JavaScript, so I could add the JavaScript tag. And it's code so I could add the code tag. And maybe I briefly mention Regex in the post, should I add the regex tag? And there's an example in the post that uses TailwindCSS, let's throw the TailwindCSS on too!

See how things can get a little out of hand?

Now if you click on the regex tag, you'll also find a blog post about ReactJS, and that's maybe not great for visitors.

When is it good to use categories?

If you have simple, clearly defined topics, with little overlap, categories work great. If you are targeting different audiences for each topic, categories also work well.

The vet example we used earlier could be a good contender for categories - ear topic is targeting a different audience. Dog owners with the "dog" category, and rabbit owners with the "rabbit" category.

Yes, some people will have two different kinds of pets, but when they are looking for information they probably only have one pet in mind (the one who needs the vet!).

When is it good to use tags?

It's good to use tags when your topics overlap somewhat, and your audience is likely to be interested in multiple topics.

For example, if you write about marathon running, your might have topics for "training", "technique", "nutrition" and "equipment".

Your target audience is probably someone who is training for a marathon, and they are probably interested in all of those topics. And you might write posts that cover multiple topics, for example, a post about "What to do before a marathon" that includes "training" and "nutrition".

Tags will be a good option for this use case.


How you organise your blog should be down to what best suits your topics and preference. Personally, I think it's good to have clearly defined categories. But there will always be occasions when a post might belong to two or more categories. So tags can make more sense (depending on your blog).

I plan on switching my static blog builder to a hybrid approach. You'll still be able to use categories, and assign a blog post to a single category, like category: "code". But you can also use them more like tags, and pass an array, like category: ["code", "regex"].

Luckily, I used a simple blog URL structure, so changing categories or tags in the future won't impact the links to individual posts. Yay!