The Death of Meta Tags

There are a few tags on Stack Overflow that have bugged me for a long time. Namely:

  • subjective
  • best-practices
  • beginner

But I could never quite articulate what, exactly, was wrong with these tags. It's been bothering me more and more as time goes on. So much so, that about two months ago, I was compelled to ask on meta: Should we permanently remove the [subjective] tag?

There are some weak arguments in favor of keeping [subjective], but that's about the best its proponents can muster. The arguments against it are much stronger. I felt Shog9 made the best case:

I think the [subjective] tag is useless at best and actively harmful at worst. Useless, because for all the talk about filtering by or filtering out subjective questions using that tag, it's a poor tool for the job simply because the criteria for its use are, well, subjective. I can tell you what a poll is, or a FAQ, or a list, or a getting-to-know-you (GTKY) question... But where the border lies for subjective I cannot say. And harmful, because there are some users who actually believe that, like community wiki, it's some sort of magic that allows you to ignore the normal posting standards. It's been used pejoratively and defensively, without any real consistency, for a long long time now. Time to go.

However, it wasn't until I saw this absolutely brilliant post by Aaronut on meta.cooking that the problem -- and its solution -- was finally clear to me:

There's been a major uptick recently in tags that are not useful and just add noise. I want to stress that these are usually added in good faith, and I am not questioning anybody's motivation - I know that they all mean well. But this particular category of tags is one that has been historically referred to as meta-tags on MSO, and these tags cause a lot of problems. The reason meta-tags are a problem is that they do not describe the content of the question. They describe some other aspect of the question, like the author's skill level, or the author's motivation for asking it, or generally what "kind" of question it is (poll, how-to, etc.). Meta-tags are actually a subset of a larger problem that I usually call dependent tags. These are tags that don't say anything by themselves - you can't tell what the question is about unless they're paired with some other tag (or several of them). These tags are a problem because people don't realize this and will often use that as the question's only tag.

This is the insight that had eluded me for two full years. Seems obvious in retrospect, doesn't it?

From this point on, meta-tagging is explicitly discouraged.

How can you tell you're using a meta-tag? It's easier than you might think.

  1. If the tag can't work as the only tag on a question, it's probably a meta-tag. Every tag you use should be able to work, more or less, as the only tag on a question. Meta-tags, like [beginner], [subjective], and [best-practices], are useless by themselves -- they tell you nothing at all about the content of the question.
  2. If the tag commonly means different things to different people, it's probably a meta-tag. In a cruel, ironic twist, the meaning of the tag [subjective] itself ... is actually subjective. Ditto for [best-practices] and [beginner]. Best practices to whom? Beginner by what criteria? These tags are impossible to define by anything remotely resembling an objective metric. In comparison, the the meaning of tags like [java], [c#], and [javascript] are crystal clear to all but the nuttiest of nutbags.

I'm pleased to announce that, as of tonight, we have stormed the castle gates and systematically eradicated the most common meta-tags -- [beginner], [subjective], and [best-practices] -- from Stack Overflow, Server Fault, and Super User.

And you know what? It felt good. It felt right.

I blame us, for letting these tags take root early in the history of Stack Overflow. We should have eradicated them early on to set the proper precedent. It's particularly encouraging that we can learn from experiments on the nascent Stack Exchange 2.0 sites. There's no reason these sites need to repeat all the mistakes we made with tagging two years ago -- we can do it better each time for each new community, and feed those improvements back into the entire network.

So long, meta-tags.

(special thanks to Aarobot and Shog9 for their feedback over the last year or so on this topic, and on meta in general.)

Login with your stackoverflow.com account to take part in the discussion.