Tags Getting Messier? A Practical Guide to Tagging and Taxonomy for Vibe Projects
Tags, categories and collections each do a different job, hierarchies should stay flat, and naming rules must come before tagging. This guide covers how to design a tag system, clean it up, decide who may create tags, and why AI tagging still needs human review, with a launch checklist.

First, a clear note: every product name and person in this guide is fictional. The fictional product “Cloud Recipes” and the fictional people Lin Xiaoyu and Chen Mo were invented to explain the ideas. They are not real products or real users. This guide is about the tag system itself — how to design it and how to run it — not about how to build filter controls.
Many small products do not die on technology. They die on tags that get messier and messier. At first there are only a dozen tags and everything works fine. Six months later there are more than three hundred, the same idea is written five different ways, newcomers have no idea which one to click, and search results get worse and worse. The work you skip on tags early on, you pay back double later.
1. Three different things: tags, categories, and collections
These three look alike, but they do different jobs. Using them interchangeably is where the mess starts.
A category is the skeleton. There are few of them, they rarely change, and each piece of content belongs to exactly one category — like a book that can only sit in one slot on a shelf. In the fictional product “Cloud Recipes”, categories might be “Home Cooking”, “Baking” and “Drinks”. One article cannot be both home cooking and baking. Categories build the overall structure and tell people at a glance what the product is for.
A tag is a sticker. There are many of them, they are flexible, and one piece of content can carry several. A recipe can be tagged “ten minutes”, “low sugar” and “air fryer” at the same time. Tags answer “what is special about this thing”, not “which shelf does it belong on”.
A collection is a list one person puts together for themselves. Lin Xiaoyu can collect her favourite recipes into a collection called “Weekend Dinners with Friends”, and Chen Mo can build a collection with the same name and completely different contents. A collection does not need anyone else to agree with it, and it does not need to be consistent across the whole site. It only serves the person who made it.
So write the division of labour down: categories structure the site, tags describe details, collections serve individuals. Do not make tags do a category's job, for example by creating a pile of tags with the same names as your categories. And do not make categories do a tag's job, for example by opening a whole category just for “low sugar”. Too many categories shatter navigation; too few tags make things hard to find.
There is a simple test. Ask: is this word used to divide up the whole site, or to describe a detail? Dividing words go into categories, describing words go into tags. Then ask: is this word shared by everyone, or does it belong to one person? Shared words go into tags, personal ones go into collections. Two questions settle most arguments.
2. Keep the hierarchy flat, not deep
Many people start by building a tag tree three or four levels deep, thinking that looks professional. In practice, the deeper the levels, the more lost users get. Clicking through “Cuisine”, then “Sichuan”, then “Spicy”, then “Boiled dishes” takes four steps, and by then people have forgotten what they came to find. Every extra level also multiplies maintenance work, because changing a parent means moving everything underneath it.
For most vibe projects, two levels are enough — often even one flat layer of tags plus one category is enough. If the category is “Baking”, the tags can simply be “Cake”, “Bread” and “Cookies”, with no extra “Pastries” layer in between. Users can scan the list at a glance and click, without guessing.
When is a second level justified? Only when one tag has so much content that scrolling through pages of it is painful, and users genuinely search by a finer distinction. If “Cake” grows to hundreds of articles, it may be worth splitting out “Chiffon” and “Mousse”. Check the numbers before splitting; do not split on a hunch.
Another trap is using the same word as both a level and a tag. If “Sichuan” is both a category and a tag, the same content shows up twice and the counts never match, which confuses everyone. One rule helps: a word appears in exactly one system — either it is a category or it is a tag, never both.
3. Naming rules: set them before anyone starts tagging
Naming rules sound boring, but they are the cheapest investment in a tag system. Without rules, the same idea quickly grows five or six spellings: “low sugar”, “low-sugar version”, “less sugar”, “reduced sugar” and “sugar-free” — and in the end nobody knows which one to use.
Start with capitalisation. Decide one spelling for each term — “API” or “api”, never both — and write it into the rules, not just into someone's head.
Then settle singular versus plural. English tags go wrong here most often, with “recipe” and “recipes” living side by side. Keep the rule as simple as possible: always singular, or always plural. Pick one and stick to it. Chinese has no singular/plural problem, but it has the same issue with synonyms, such as “菜谱” and “食谱” coexisting.
Synonyms need one canonical term, with all other spellings pointing to it. Build a synonym table: the canonical term is “low sugar”, and “less sugar” and “reduced sugar” are aliases. Users searching an alias still find content under the canonical term, but new tags can only be created with the canonical spelling. The table needs an owner, or it will go stale fast.
You also need a blocklist. Some words look like tags but are useless, such as “useful”, “recommended”, “must-read” or “great tips”. They are too subjective — everyone understands them differently — so tagging with them is the same as not tagging at all. Another group is words that are too broad, like “life”, “other” or “general”: almost anything could carry them, so they filter nothing. Publish the blocklist so people who tag know which words are off limits.
Once the rules exist, do not just publish an article about them and stop. Build them into the tagging interface: suggest existing tags while typing, suggest the canonical spelling for a synonym, and block a blocklisted word at submission time. Rules that rely on everyone's goodwill do not survive three months.
4. Renaming, merging, splitting: sort out the data first
A tag system will change. The problem is not change itself, but what happens to old data when it changes. The most common failure is renaming a tag without moving the content already tagged with it: old content stays under the old name, and the new name sits empty.
Renaming is the simplest case, but still needs a process: change the tag's display name, then point every reference to the old name at the new one, then check that no trace of the old name remains. Do not assume that editing one field in the admin panel is enough — search indexes, caches and users' saved pages may still hold the old name.
Merging means folding two tags into one, for example merging “less sugar” into “low sugar”. Before merging, count how much content each side has; after merging, the total should equal the sum of both sides, and even one missing article is a bug. Then update the synonym table so the merged-away word becomes an alias, letting old users still find things by searching the old word.
Splitting is the riskiest, for example splitting “Baking” into “Cake” and “Bread”. Splitting is not just cutting a tag in two; every article under the old tag has to be judged again — cake or bread? — and anything that cannot be judged goes into a to-do list instead of being forced into one side. After splitting, watch for a while to see whether anything was sorted wrong.
Whatever you do, do three things: back up the tag-to-content mapping before the change, spot-check a batch of content after the change, and keep a log of who changed which tag into what and when. A change with no log cannot even be rolled back properly when something goes wrong.
One more detail: do not quietly rename or delete a tag people are actively using. Users may have bookmarked its page or shared it with friends. Announce the change in advance, and make old links redirect to the new tag page instead of landing on a dead page.
5. Cleaning up dirty tags: orphans, empty results, and tiny tags
Tags get dirty with use, like a kitchen gets greasy with cooking. There are three main kinds of dirty tags, and each needs a different cleanup.
The first is the orphan tag: a tag with no content under it. It happens when content is deleted but the tag is not, or when someone creates a tag and never uses it. Cleanup is simple — sweep regularly and delete tags confirmed to have no references. But check first whether it is a genuinely new tag; a new tag with no content yet is normal and should not be killed by mistake.
The second is the empty-result tag: clicking it never returns anything. It is similar to an orphan, but more annoying, because it still takes up space in the interface and disappoints users every time they click it. Empty results usually mean content was taken down, permissions changed, or search itself has a bug. Find out why before deleting, and fix the cause rather than just removing the tag.
The third is the tiny tag: a tag with only one or two articles under it. A tiny tag is not always bad — a very niche topic may genuinely have only a few articles, and keeping it is reasonable. But if the site has hundreds of tiny tags, tagging has become too fragmented: users cannot remember them or use them. Review them in batches: can this be folded into a broader tag, reworded more generally, or does it have unique value worth keeping?
Set a cleanup rhythm instead of waiting until things are unbearable. For example, sweep orphans and empty results once a month, review tiny tags once a quarter, and do a full inventory every six months. Cleanup needs an owner; “someone will look at it when they have time” means nobody will.
One caution: do not delete hundreds of tags in one go. Try a small batch first, watch for user complaints and search anomalies, and only expand once you are sure nothing broke. The worst cleanup is a well-meaning one that deletes something users were actively using.
6. Who can create a tag: open creation or approval?
There is no single right answer here; it depends on the stage of the product. Open creation means anyone can create a new tag. It is flexible, but it gets messy fast. Approval means new tags go through review. It stays clean, but it is slow and can put people off tagging at all.
For a young product with few users and little content, open creation often fits better. The priority is getting people to tag at all and building up volume; a bit of mess can be cleaned up later. Chen Mo's fictional small team started with open creation and collected more than two hundred tags in three months. It was messy, but at least people were using tags to find things.
As content and users grow, shift towards approval. That does not mean locking everything overnight. A layered approach works: ordinary users pick from existing tags or submit a creation request; admins or experienced users review it against synonyms, the blocklist and naming rules. Reviews should be fast — ideally the same day. If a request sits for a week with no answer, nobody will bother applying again.
There is also a middle path: tags created by ordinary users are first visible only to themselves, or sit in a pending pool, and only become site-wide once approved. That keeps enthusiasm alive without polluting the shared tag pool. Many products end up here, because it balances flexibility and cleanliness.
Whichever path you choose, make the rules visible: who can create, who reviews, what the review criteria are, and whether rejected requests get an explanation. When the rules are opaque, users feel singled out, and that trust is hard to win back.
7. After AI tags content, a human still has to check
Many teams now use AI to tag content automatically. It is fast, but it cannot be published unchecked. AI tagging has a few familiar flaws: it likes popular words, it likes broad words, and it sometimes treats something mentioned in passing as the main topic.
Take an article about a “low-sugar cake”. AI might tag it “cake”, “baking”, “dessert”, “low sugar”, “healthy” and “weight loss” all at once. The first two are right; the rest drift further and further off. A user clicking “weight loss” and landing on a cake recipe will not be pleased.
So design review like this: AI proposes tags and gives a reason for each, such as the sentence in the article it matched; humans only review the doubtful ones instead of re-reading every article from scratch. High-confidence tags pass automatically, low-confidence ones go into a human queue, and human corrections feed back as examples so the model gets better next time.
Reviewers need criteria too, not just gut feeling. The criteria are the naming rules and the synonym table you already set: blocklisted words get stopped, aliases get swapped for canonical terms, and ten tags get cut down to the three or four most essential ones. Without criteria, review is just a different person making the same mess.
One more thing people forget: review AI's mistakes regularly. Each month, sample a batch of AI-tagged content and look at where it went wrong — did it misunderstand the content, or were the rules themselves unclear? Write the findings down, or the same mistakes will come back next month.
8. Tag limits and performance: more is not better
Set limits on tag counts at two levels: how many tags one article can carry, and how many tags the whole site can have.
Per article, three to five tags is a good range. If someone wants to attach ten, they probably have not decided what the article is really about. The interface should help: do not allow endless additions, and when the limit is reached, prompt “that's enough — pick the most essential ones”. Limits are not there to make life hard; they force choices.
There is no universal number for the whole site, but there should be a warning line. For example, warn the admin for a review at five hundred tags, and require a cleanup round before new tags can be created past one thousand. A warning line gets people acting early instead of discovering the problem when the system slows down.
On performance, the first thing to break as tags multiply is filtering and counting. Recalculating how many articles sit under each tag every time someone opens a tag page gets slow as data grows. The usual fix is to cache the counts and refresh them on a schedule, rather than computing them live every time. Users generally accept counts that are a few minutes old, but they do not accept a page that takes forever to load.
Another performance trap is type-ahead suggestions while tagging. With a tag library of thousands, matching on every keystroke can lag. A practical fix is real-time suggestions for popular tags only, with rarer tags found through search. You cannot have both perfect experience and perfect performance; choose the trade-off deliberately.
9. Launch checklist
Before launching a tag system, go through this checklist item by item. Do not rush to launch with any item missing.
First, is the division between categories, tags and collections written down, and does everyone on the team describe it the same way? Second, is the hierarchy kept within two levels, with no extra levels added just for looks? Third, do the naming rules, synonym table and blocklist all exist, and can they actually be used inside the tagging interface? Fourth, have renaming, merging and splitting been run in a test environment, do the numbers add up, and do old links redirect? Fifth, is there a cleanup rhythm and an owner, and does the scan for orphan and empty-result tags actually run? Sixth, are the rules for creating tags clear, how long does review take, and who owns it? Seventh, does the AI tagging review flow work, and is there a place for low-confidence items to go? Eighth, are per-article limits and site-wide warning lines set, and has tag page load speed been measured? Ninth, has the system been tested with a batch of real content, not just two or three sample articles?
One honest closing note: no tag system stays perfect forever. However well you design it today, it will be a bit messy again in six months. What really matters is that someone keeps looking after it. Half a day of review each month beats a month of perfect design at launch. Tag systems are not designed once; they are maintained.
Comments (0)
Related articles

Invoices, itineraries, and contracts that print broken make a product feel unfinished. Print stylesheets, five pagination traps, link and QR handling, scenario checklists, and pre-launch tests; examples are fictional.

Solo projects rarely die because they cannot be built. They die because, once put down, they cannot be picked up again. This guide covers the five-part continuity handbook, how to write for a forgetful future self, resuming AI-assisted work, and the day-one restart order.

A/B testing is hard not in split code but in experiment design: enough traffic, metric layers, stable random buckets, and four classic misreadings. Examples fictional; distinguished from canary releases.