标签越打越乱?vibe 项目的标签与分类体系实战
标签、分类、合集各干各的活,层级宁扁勿深,命名先定规矩再动手。本文讲标签体系怎么设计、怎么清理、谁有权新建,以及 AI 打标签之后为什么一定要有人复核,附上线验收清单。

先说清楚:下面出现的所有产品名和人名都是虚构的,比如虚构产品“云朵菜谱”、虚构人物林小雨和陈默,都是为了讲明白道理编出来的例子,不是真实产品,也不是真实用户。本文不讲筛选器怎么做,只讲标签体系本身怎么设计、怎么管。
很多小产品死在标签上,不是死在技术上,而是死在越打越乱。刚开始只有十几个标签,大家用得很顺手。半年后变成三百多个,同一个意思有五种写法,新人根本不知道该点哪个,老用户搜出来的东西也越来越不准。标签这件事,前期省下的功夫,后期都要加倍还回来。
一、先分清三样东西:标签、分类、合集
这三样东西长得像,干的活完全不一样。混在一起用,是一切混乱的开始。
分类是骨架,数量少,而且稳定。一个内容只能属于一个分类,就像一本书只能放在一个书架格子里。虚构产品“云朵菜谱”里的分类可以是“家常菜”“烘焙”“饮品”,一篇文章不会同时是家常菜又是烘焙。分类用来搭大结构,让人一眼看懂这个产品是干什么的。
标签是贴纸,数量多,而且灵活。一个内容可以贴好几个标签,用来描述它的细节。比如一篇菜谱可以同时贴“十分钟”“低糖”“空气炸锅”三个标签。标签回答的是“这篇东西有什么特点”,而不是“它属于哪一类”。
合集是人自己攒的清单,完全是个人行为。林小雨可以把自己喜欢的菜谱攒成一个叫“周末招待朋友”的合集,陈默也可以攒一个同名但内容完全不同的合集。合集不需要别人认同,也不需要全站统一,它只服务于攒的那个人。
所以分工要写死:分类管结构,标签管特征,合集管个人收藏。不要让标签去干分类的活,比如给每个分类再建一堆同名标签;也不要让分类去干标签的活,比如为了“低糖”单独开一个分类。分类一多,导航就碎了;标签一少,找东西就难了。
判断方法很简单。问一句:这个词是用来给全站分区的,还是用来描述细节的?分区的进分类,描述细节的进标签。问第二句:这个词是大家共用的,还是某个人自己的?大家共用的进标签,某个人自己的进合集。两句话问完,大部分争论就停了。
二、层级宁扁勿深
很多人一上来就想做三四层标签树,觉得这样才专业。实际上层级越深,用户越迷路。点进“菜系”再点“川菜”再点“麻辣”再点“水煮”,四步之后人已经忘了自己是来找什么的。而且每多一层,维护成本就翻一番,因为上层一改,下层全要跟着动。
对绝大多数 vibe 项目来说,两层就够了,甚至一层扁平标签加一个分类就够用。比如分类是“烘焙”,标签直接就是“蛋糕”“面包”“饼干”,不需要中间再加一层“西点”。用户一眼扫过去就能点,不用猜。
什么时候才需要第二层?只有当一个标签下的内容多到翻几页都翻不完,而且用户确实会按更细的维度找的时候,才考虑拆。比如“蛋糕”下面有上百篇,才值得拆出“戚风”“慕斯”这一层。拆之前先看数据,不要凭感觉拆。
还有一个坑是层级和标签混用。有人把“川菜”既当分类又当标签,结果同一个内容在分类里出现一次,在标签里又出现一次,计数对不上,用户也糊涂。记住一条规矩:一个词在一个体系里只出现一次,要么是分类,要么是标签,不能两头占。
三、命名规范:先定规矩,再让人打标签
命名规范听起来很无聊,却是标签体系里最省钱的一笔投资。没有规范,同一个意思很快就会长出五六个版本:“低糖”“低糖版”“少糖”“减糖”“无糖”,到最后谁也不知道该用哪个。
先定大小写。中文产品主要是英文词的大小写问题,比如“API”和“api”不要并存,定一个写法,全站统一。定下来就写进规范文档,不要只存在某个人脑子里。
再定单复数。英文标签尤其容易在这里乱掉,“recipe”和“recipes”并存是最常见的脏数据。规矩越简单越好用:统一用单数,或者统一用复数,选一个,坚持到底。中文虽然没有单复数问题,但也有类似的坑,比如“菜谱”和“食谱”并存,本质上是同义词问题。
同义词必须有一个标准词,其他写法全部指向它。做法是建一张同义词表:标准词是“低糖”,“少糖”“减糖”都算它的别名,用户搜别名也能找到标准词下的内容,但新建标签时只能建标准词。这张表要有人维护,不然很快就失效。
还要定禁用词。有些词看起来像标签,其实一点用都没有,比如“好用”“推荐”“必看”“干货”。这类词太主观,每个人理解都不一样,贴上去等于没贴。还有一类是太宽泛的词,比如“生活”“其他”“综合”,几乎什么内容都能贴,贴了也筛不出东西。禁用词列表要公开,让打标签的人知道哪些词不能建。
规范定好之后,不要只发一篇文章就完事。最好在打标签的界面上就把规范嵌进去:输入时自动提示已有标签,提示同义词的标准写法,禁用词直接拦下来不让提交。靠自觉维持的规范,维持不了三个月。
四、重命名、合并、拆分:动标签之前先想好数据怎么办
标签体系一定会变,问题不在于变,而在于变的时候旧数据怎么办。最常见的翻车是只改了标签名字,没改已经贴好的内容,结果旧内容还挂在旧名字下面,新名字下面是空的。
重命名是最简单的,但也要走流程:先改标签本身的显示名,再批量把所有引用旧名字的地方指向新名字,最后检查一遍旧名字是不是真的没有残留。不要只在管理后台改一个字段就以为完事了,搜索索引、缓存、用户收藏里可能还存着旧名字。
合并是把两个标签合成一个,比如把“少糖”并进“低糖”。合并之前要先数清楚两边各有多少内容,合并之后内容数应该等于两边之和,少一篇都是 bug。合并完还要处理同义词表,把被合并掉的词记为别名,这样老用户搜旧词还能找到东西。
拆分是最容易出事的,比如把“烘焙”拆成“蛋糕”和“面包”。拆分不是简单地把标签一分为二,而是要把原来挂在“烘焙”下面的每一篇内容重新判断一遍,到底属于蛋糕还是面包,判断不出来的先放进待处理清单,不要硬分。拆分之后还要留一段时间观察,看看有没有内容被分错。
不管做哪一种操作,都要做到三点:操作前备份一份标签和内容的对应关系,操作后抽查一批内容验证结果,操作记录要留下来,写清楚谁在什么时候把哪个标签改成了什么。没有记录的改动,出了问题连回滚都不知道往哪里滚。
还有一个细节:正在被用户使用的标签不要悄悄改名或删除。用户可能已经把某个标签页收藏在浏览器里,或者分享给了朋友。改动之前至少提前在站内说一声,改动之后旧链接要能跳转到新标签页,而不是直接报不存在。
五、脏标签治理:孤儿标签、无结果标签、个位数标签
标签用久了总会脏,就像厨房用久了总会油。脏标签主要有三种,每种的清理办法不一样。
第一种是孤儿标签,就是已经没有内容挂在下面的标签。可能是内容被删了,标签没跟着删;也可能是有人建了标签却从来没用过。孤儿标签的清理最简单,定期扫一遍,确认确实没有内容引用,就可以删掉。但删之前要看一眼它是不是刚建不久的新标签,新标签一开始没内容是正常的,不要误杀。
第二种是无结果标签,就是点进去永远搜不到东西的标签。这和孤儿标签有点像,但更讨厌,因为它还占着界面位置,让用户点一次失望一次。无结果标签往往是因为内容被下架或者权限变了,标签还在。处理办法是先查清楚为什么没结果,是内容没了,还是权限问题,还是搜索本身出了 bug,对症下药,不要一删了之。
第三种是个位数标签,就是下面只有一两篇内容的标签。个位数标签不一定是坏的,比如一个很专的领域本来就只有几篇内容,留着是合理的。但如果全站有几百个个位数标签,那就说明标签打得太碎了,用户根本记不住,也用不上。这时候要一批一批地看:能不能合并到更上位的标签里,能不能换成更通用的说法,实在有独特价值的才留下来。
清理节奏建议定下来,不要等到乱得不行才动手。比如每个月扫一次孤儿标签和无结果标签,每个季度 review 一次个位数标签,每半年做一次全量盘点。清理要有负责人,不能是“大家有空就看看”,没有负责人的清理最后都会没人做。
清理的时候还要留个心眼:不要一次性删掉几百个标签。先在小范围试,看看用户有没有投诉,看看搜索数据有没有异常,确认没问题再扩大范围。标签清理最怕好心办坏事,把用户正在用的东西删了。
六、谁有权新建标签:开放创建还是申请制
这是个没有标准答案的问题,关键看产品处在哪个阶段。开放创建就是谁都能建新标签,好处是灵活,坏处是很快就乱。申请制就是新建标签要经过审核,好处是干净,坏处是慢,而且容易打击积极性。
刚起步的产品,用户少、内容少,开放创建反而合适。因为这时候最需要的是让人愿意动手打标签,先把量做起来,乱一点可以后面再收。陈默的虚构小团队一开始就是开放创建,三个月攒了两百多个标签,虽然乱,但至少大家开始用标签找东西了。
等到内容多起来、用户多起来,就要往申请制靠。不是说一下子全锁死,而是分层:普通用户可以从已有标签里选,也可以提交新建申请;管理员或者资深用户负责审核,看看有没有同义词、是不是禁用词、命名合不合规范。审核要快,最好当天就有结果,拖一个星期没人理,下次就没人愿意申请了。
还有一种中间路线:普通用户新建的标签先只对自己可见,或者先进入待审核池,等审核通过才全站可见。这样既不打击积极性,又不污染公共标签池。很多产品最后都走到这条路,因为它兼顾了灵活和干净。
不管选哪条路,都要把规则写在明处:谁能建、建了之后谁审核、审核标准是什么、被拒绝了会不会告诉理由。规则不透明,用户就会觉得是针对他,信任就是这样一点点丢掉的。
七、AI 自动打标签之后,一定要有人复核
现在很多人用 AI 自动给内容打标签,效率确实高,但不能直接放行。AI 打标签有几个常见毛病:喜欢贴热门词,喜欢贴宽泛词,有时候还会把内容里提了一嘴的东西当成主题。
比如一篇讲“低糖蛋糕”的文章,AI 可能同时贴上“蛋糕”“烘焙”“甜点”“低糖”“健康”“减肥”六个标签,前两个是对的,后面几个是越贴越偏。用户点“减肥”进来,看到的却是一篇蛋糕菜谱,体验就很差。
所以复核流程要这样设计:AI 先给建议,列出它为什么贴这个标签的理由,比如命中了正文里的哪句话;人工只复核有疑问的,不用每篇都从头看一遍。置信度高的自动通过,置信度低的进人工队列,人工改过的结果要回流给模型当例子,下次才能越打越准。
复核的人也要有标准,不能凭感觉。标准就是前面定的命名规范和同义词表,AI 贴了禁用词要拦下来,AI 用了别名要换成标准词,AI 贴了十个标签要砍到三四个最核心的。没有标准,复核就是换一个人继续乱贴。
还有一个容易忽略的点:AI 打标签的错误要定期复盘。每个月抽一批 AI 打过的标签,看看错在哪里,是理解错了内容,还是规范本身不清楚。复盘结果要写下来,不然同样的错误下个月还会再犯。
八、标签数量上限与性能:不是越多越好
标签数量要设上限,两个层面都要设:单篇内容能贴几个标签,全站能有多少个标签。
单篇内容的标签数建议控制在三到五个。贴得太多,说明作者自己也没想清楚这篇东西到底讲什么。界面上也要配合:输入框不要无限加,超过上限就提示“已经够了,挑最核心的几个”。限制不是为了为难人,而是逼着人做取舍。
全站标签数没有放之四海而皆准的数字,但要有一个预警线。比如超过五百个就提醒管理员盘点,超过一千个就必须清理一轮才能再建新的。预警线的作用是让人提前动手,而不是等到系统慢了才发现。
性能方面,标签多起来之后最先出问题的是筛选和计数。每次打开标签页都要实时算一遍每个标签下有多少内容,数据量一大就慢。常见的办法是把计数结果缓存起来,定期更新,而不是每次现算。用户对计数晚几分钟更新一般是能接受的,但对页面半天打不开是不能接受的。
还有一个性能坑是标签输入时的联想提示。标签库大了之后,输入一个字要从几千个标签里匹配,慢了就卡。办法是只对热门标签做实时联想,冷门标签走搜索,不要全量实时匹配。体验和性能之间要取舍,不能两个都要满分。
九、上线验收清单
标签体系上线之前,对着这张清单一项一项过,缺一项都不要急着上线。
第一,分类、标签、合集的分工有没有写进文档,团队里每个人说法一致不一致。第二,层级是不是控制在两层以内,有没有为了好看多加的层级。第三,命名规范、同义词表、禁用词表是不是都有了,而且在打标签的界面上能直接用上。第四,重命名、合并、拆分的操作有没有在测试环境跑过一遍,数据对不对得上,旧链接能不能跳转。第五,脏标签的清理节奏和负责人定没定,孤儿标签和无结果标签的扫描脚本能不能跑通。第六,新建标签的权限规则清不清楚,审核流程要多久,有没有人负责。第七,AI 自动打标签的复核流程是不是通了,低置信度的内容有没有地方去。第八,单篇标签数上限和全站预警线设没设,标签页打开速度测没测。第九,有没有准备一批真实内容做测试,而不是只用两三篇示例撑场面。
最后说一句大实话:标签体系没有一劳永逸的方案。今天定得再好,半年后还是会乱一点。真正重要的是有人持续管它,每个月花半天时间盘点一次,比上线时花一个月设计完美方案更管用。标签不是设计出来的,是管出来的。
评论 (0)
相关文章

动态流的价值不在记全,而在让人一眼看懂发生了什么重要的事。本文讲动态与通知、审计日志的分工,聚合分组、已读锚点、隐私边界、分页回溯与冷启动,以及写扩散与读聚合的取舍,附上线验收清单。

多步骤向导真正的考验,是用户在第三步卡住、关掉页面、第二天回来时还能不能被接住。本指南讲什么时候该拆步骤、步骤怎么按用户心智切、进度指示怎么做才不骗人、返回不丢数据、草稿保存与断点续填、每步校验与最终校验的分工、移动端折叠策略,以及放弃率高的步骤怎么定位与精简,附可直接照抄的步骤设计清单与状态机要点。示例均为虚构。

气泡提示只应该解释“为什么”,不应该重复标签本身。本指南讲什么信息值得放进提示、悬停与点击与聚焦与长按触发方式的选择、移动端无悬停的替代、提示文案三行原则、首次与重复出现的频率控制、与帮助中心和新手引导的分工、无障碍与深色模式和小屏适配,附提示文案自查清单。示例均为虚构。