分类页越老越荒废?19405个实测,最乱的是三年前建的那批

分类页越老越荒废?19405个实测,最乱的是三年前建的那批
张文保 更新 20 分钟阅读 2,064 阅读
本文目录
  1. 这些货架,都是哪一年搭起来的?
  2. 一半的货架是最近两年才有的
  3. 谁的货架最老
  4. 老货架是不是最荒废的那批?
  5. 五个年份桶,四项指标
  6. 最老那批反而最规矩
  7. 那个驼峰是怎么形成的
  8. 2022到2024那三年,建的到底是什么货架?
  9. 按命名把它们分类
  10. 带这些名字的分类,更容易空掉
  11. 逐站看,问题集中在少数几家
  12. 有一批货架,根本不是给人建的
  13. 584个,全在一家店里
  14. 这是单站现象,但不是孤例
  15. 老货架里装的,是老货还是新货?
  16. 配对之后的结果
  17. 怎么用这条判据
  18. 描述越写越长,题图越配越少,这是怎么回事?
  19. 两条曲线
  20. 两件事的成本不一样
  21. 最老的那个货架,前台还打得开吗?
  22. 109个分类页,只有一个真的打不开
  23. 老分类和新分类,前台待遇几乎一样
  24. 一个货架,接口说装了3056件
  25. 这里有一把不能用的尺子
  26. 分类的“最后更新时间”,能不能当荒废的判据?
  27. 复抓的结果
  28. 但它的取值范围骗不了人
  29. 自己站上怎么查,查完该改哪里?
  30. 四步
  31. 查出来之后怎么处置
  32. 什么时候不用查
  33. 常见问题解答
  34. 分类页建得多到底有没有害处?
  35. 为什么最老的分类反而问题最少?
  36. 怎么快速找出没人管的分类?
  37. 空的分类页该返回404还是200?
  38. 第三方应用建的分类能不能直接删?
  39. 分类的建立日期在别的平台上叫什么?
  40. 这次的结论会不会只适用于Shopify?
  41. 权威参考资料

摘要:把57个英文电商站的19405个分类按建立年份排开,2025年和2026年建的占49.1%,2018年及更早的只剩1042个,最老的一个立于2012年。荒废程度并不随年龄递增:2018年及更早那批里空分类只占7.1%,98.1%规规矩矩写在sitemap里;反而是2022到2024这三年建的5935个,空的占17.8%,进sitemap的只有79.2%,两项都是全样本最差。促销打折类命名的分类空掉的概率是29.7%,接近整体的三倍。

分类页这东西有个特点:建的时候只要点几下,删的时候却没人敢动。于是它只增不减,一年一年往上堆。堆到最后,没人说得清站上到底有多少个分类、哪些还有用。

上一次数过一遍,这57个站合计开了19405个分类,而出口、sitemap和首页导航这三份清单没有一份对得上;再往前一次量的是从首页出发两跳能走到多少件商品。那两次量的都是空间,这次换一个维度:时间。每个分类都带着自己的建立日期,把它们按年份排开,能看出来的东西比想象中多。

这些货架,都是哪一年搭起来的?

数据仍然来自各站公开的分类清单接口,每个分类自带published_at字段。按Shopify官方的collection对象文档,它记的是这个集合对外可见的时刻,另有一个products_count记当前视图下的商品数——本文说的“空货架”,就是后者为0。

这个建立日期在10.2小时的复抓里一个都没变,可以当稳定标识用;同一次复抓里另一个字段变了将近四分之一,那个不能用,理由在讲商品年龄那篇里已经拆过

一半的货架是最近两年才有的

建立年份分类数占比
2018年及更早10425.4%
2019到2021289514.9%
2022到2024593530.6%
2025485725.0%
2026467624.1%

分类年龄的中位数是658天,P75是1498天,P90是2384天,最老的一个已经5049天。也就是说,一半的分类不到两年,但尾巴一路拖到2012年。

谁的货架最老

outdoorvoices有一个分类立于2012年,至今仍在被抓;chubbiesshorts和taylorstitch的最老分类都在2013年;fahertybrand、marinelayer、parachutehome、thirdlove停在2015年。这些站的共同点不是老,是没换过平台——一旦换过平台或者重建过店铺,所有分类的建立日期都会被重置成迁移那天,年龄就此归零。

顺便说,这跟用网页存档倒推域名年龄是同一类手法:系统里那个日期记的是记录的年龄,不是业务的年龄,两者中间隔着一次或几次迁移。

老货架是不是最荒废的那批?

直觉的答案是显然的:建得越早,越可能被忘掉。把五个年份桶跟四项健康指标交叉之后,这个直觉被数据打回来了。

五个年份桶,四项指标

建立年份分类数空的(0件货)写了描述在sitemap里首页点得到
2018年及更早10427.1%28.2%98.1%18.5%
2019到2021289514.8%32.4%87.5%15.2%
2022到2024593517.8%28.3%79.2%11.9%
202548576.2%42.8%89.5%9.2%
202646764.0%49.4%92.3%9.6%

空分类那一列是个明显的驼峰:从7.1%爬到17.8%,再掉回4.0%。sitemap覆盖率是个明显的谷底:98.1%降到79.2%,再爬回92.3%。两条曲线的极值都落在同一个桶里——2022到2024。

最老那批反而最规矩

2018年及更早的1042个分类里,98.1%在sitemap里,空的只有7.1%,还有18.5%至今挂在首页导航上——这个数字是所有桶里最高的,比2026年新建的那批还高一倍。

原因其实不难理解:能活过八年的分类,多半是这个店的骨架。男装、女装、鞋、配件,这些入口从开店那天挂到今天,没人有理由动它。老不是被遗忘的原因,只是被遗忘的必要条件——真正决定一个货架会不会烂掉的,是它当初为什么被建出来。

这一点跟孤岛页面的检测口径有相通之处:光看某个属性(发布时间、入链数)排出来的名单,往往命中的不是真正的问题页面。得先问清楚这一批东西当初是怎么产生的。

那个驼峰是怎么形成的

2022到2024这三年,恰好是很多DTC品牌上应用、上筛选、上活动页最猛的三年。建一个分类的成本近乎为零,删它却要担心有没有人还在链、有没有排名、后台有没有别的地方引用。于是建了没删的部分沉在那里,一沉三年。

2022到2024那三年,建的到底是什么货架?

要回答这个问题,只能去看它们的名字。分类的handle是人起的,起名的时候就带上了用途。

按命名把它们分类

用一组正则把19405个handle扫一遍,看promo、sale、clearance、black-friday、bundle这类词的出现比例:

建立年份促销打折类赠品捆绑类节日活动类看不出用途
2018年及更早4.5%5.2%3.1%82.1%
2019到20213.6%5.1%2.2%84.7%
2022到20248.9%8.6%3.2%77.0%
20257.8%5.6%3.4%80.6%
20264.2%3.4%1.4%87.0%

促销打折类在2022到2024那一桶里占8.9%,是最老那批的两倍。赠品捆绑类同样在这一桶见顶。那三年多出来的分类,主要不是品类,是活动。

带这些名字的分类,更容易空掉

把命名特征跟“有没有货”交叉,差距非常直接:

命名特征数量空掉的比例
促销打折类125529.7%
新品类12026.7%
节日活动类51214.3%
赠品捆绑类114112.8%
联名合作类33510.7%
季节类5118.4%
全体分类1940510.6%

促销打折类29.7%,接近全体的三倍。这个结果谈不上意外,但它给了一条能直接执行的判据:要清理分类,从名字里带sale、clearance、promo的那批开始查,命中率是随机抽查的三倍。

新品类那26.7%更值得玩味。一个叫new-arrivals的分类空掉,通常意味着它绑的规则失效了——比如按标签自动收货,而那个标签没人再打了。这种页面往往还挂在导航上,用户点进去看到一片空白,是转化损失,不只是SEO问题。用户在集合页连点五个筛选之后那篇讲的是选多了之后的困惑,这里是另一个极端:一个选项都没有,页面还理直气壮地开着。

逐站看,问题集中在少数几家

brooklinen在2022到2024建了539个分类,其中306个是空的,占56.8%;beistravel 433个里空206个,47.6%;snowpeak 45.1%;allbirds 31.1%;gymshark 26.5%。而marinelayer在同一时期建了194个,只空了5个。

同样的年份、同样的平台,结果差二十倍。所以这不是时代的问题,是各家流程的问题。

有一批货架,根本不是给人建的

翻空分类样本的时候,allbirds那一堆handle很扎眼:mens-tree-runners-loop、anytime-ankle-sock-loop、mens-allbirds-108-shoes-loop,成百上千个,全带同一个后缀。

584个,全在一家店里

这个站1346个分类里,有584个以loop或者shop-now结尾,占43.4%。它们的处境高度一致:60.8%是空的,100%写在sitemap里,0%出现在首页导航上。

这批分类是第三方退换货应用建的——用户申请换货时,应用需要一个只包含可换商品的集合,于是给每个商品各建一个。它们从来不打算给人看,但平台的sitemap不区分这个,照单全收。结果是这个站往搜索引擎提交的地址里,有超过四成是给应用内部用的空页面。

这是单站现象,但不是孤例

必须说清楚:584个全部出自一家,不能拿它推广成行业普遍情况。但这个机制是通用的——任何一个会写商品集合的应用,都可能在你的分类表里留下这样一批东西。检查方法很简单:把分类handle按后缀聚类,凡是出现几十上百个同后缀的,去查一下是哪个应用建的。

顺带一提,这类地址在抓取预算上的开销不是零。谷歌的抓取预算文档把低价值地址列为浪费的头号来源,而这批页面回200、有完整HTML、体积不小,爬虫每来一次都得读一遍——没改过的页面被反复重发那笔账,在这里是加倍的。分面导航产生海量地址那件事至少还是用户点出来的,这一批连点都没人点。

老货架里装的,是老货还是新货?

把两份年龄数据接起来,可以问一个更有意思的问题:一个2018年建的分类,今天里面摆的是什么货。

配对之后的结果

货架建立年份可配对货架数里面商品的货龄中位
2018年及更早171386天
2019到2021379537天
2022到2024594459天
2025405390天
2026391270天

最老那批货架里的货,中位货龄386天,比2019到2021那批(537天)还新。这条数据把前面的解释坐实了:老货架是主力入口,货一直在换;真正在积灰的是2019到2021那批——货架本身没那么老,里面的货却是全样本里最旧的。

怎么用这条判据

如果你想在自己站上找“该收拾的分类”,用建立年份筛出来的名单会很长,也不准。更好的做法是拿两个年龄做差:货架很老但里面的货很新,说明它一直在被维护,别动;货架不算老但里面的货普遍超过一年半,那才是真的没人管了。这个差值跟仓库那边看SKU周转率是同一个思路,只不过前台看的是曝光有没有在流动,后台看的是货有没有在流动。

描述越写越长,题图越配越少,这是怎么回事?

年份桶还带出来另外两条走向相反的曲线。

两条曲线

写了描述的比例,从2018年及更早的28.2%一路涨到2026年的49.4%;而且写了的那些,长度也在涨——中位从172字符涨到229字符。

配了题图的比例正好反过来:2018年及更早25.1%,2019到2021降到16.0%,2022到2024是13.4%,2025只剩7.1%,2026是6.2%。

两件事的成本不一样

描述是文字,现在有工具可以批量生成;题图是设计资源,建一个分类就得配一张banner,人手跟不上分类增长的速度。2018年一个店总共几十个分类,每个配张图不难;到了2026年一年新建四千多个,配图这件事自然就崩了。

所以这两条曲线讲的是同一件事:分类数量的增长速度,已经超过了维护它们的能力。描述靠工具勉强跟上了,题图没跟上。至于哪个更重要,得看这个分类是不是真的要拿来承接流量——用户点进一个分类页之后,最先要知道的是自己在哪,一张图和两百字的描述,作用完全不同。

最老的那个货架,前台还打得开吗?

清单里写着的东西,得去前台验一遍才作数。这是上一轮实测留下的规矩,代价是当场废掉一条本来会被当成主要结论的判断。

109个分类页,只有一个真的打不开

做法是每个站取最老的一个分类和最新的一个分类,用真实浏览器打开,记状态码、最终地址、robots标记,以及页面上有没有空态文案。57个站里55个两边都取到了。

结果:老分类56个回200、1个回404;新分类53个回200、1个404、3个被平台限流没拿到。那个404出自harrys.com,而且它的最新分类也是404,属于整站路径不同,跟年龄无关。

更关键的一项是最终地址:109个正常打开的页面里,106个停在原来那个地址上,只有3个跳走——oclean的两个跳到了越南站首页,avocadogreenmattress的一个跳到了另一个分类。换句话说,八年前建的分类页,今天绝大多数还老老实实待在原处,既没被删也没被合并。

老分类和新分类,前台待遇几乎一样

指标最老的分类最新的分类
正常打开56 / 5753 / 57
带noindex标记89
页面上写着空态文案67
接口声明0件货63

四项里有三项几乎持平。这跟前面按年份分桶得到的结论方向一致:最老的那批分类没有被冷落,冷落发生在中间那几年。

一个货架,接口说装了3056件

allbirds那个建于2018年3月的shoes分类,接口声明3056件商品,是全样本里数字最大的一个。用浏览器打开,页面标题写着“Uh-Oh, Nothing To See Here!”。

它在sitemap里,它是这个站最老的分类之一,它的商品数写着四位数,而它渲染出来是一张空页面。这不是删没删干净的问题,是接口那一层和展示那一层各说各话——三份清单对不上那篇讲的是清单之间对不上,这个例子更进一步:同一份清单跟它自己的页面都对不上。

这里有一把不能用的尺子

本来还想数一件事:每个分类页正文区里实际显示了多少个商品。数出来有26个页面是“接口说有货、正文区一个商品链接都看不到”,听上去是个很大的发现。

但这把尺子不可靠。商品卡不一定是带/products/的链接,可能是脚本绑的点击事件;容器的class里带menu这类词会被误判成导航;懒加载没触发的时候页面上本来就是空的。这次的判定规则已经按DOM位置把导航和页脚排除掉了,仍然挡不住这三类误伤。所以除了allbirds那两个页面自己写着空态文案的之外,其余的数字只当线索,不当结论。

分类的“最后更新时间”,能不能当荒废的判据?

既然要找没人管的分类,最顺手的想法当然是看它最后一次被改是什么时候。这个想法在商品那边已经彻底破产,在分类这边稍微好一点,但也只是稍微。

复抓的结果

间隔10.2小时的两次采集里,7423个可对齐的分类中,published_at变动0个,updated_at变动1764个,占23.76%,商品数变动159个,占2.14%。

商品那边这个字段的变动率是100.00%,分类这边只有不到四分之一。看上去分类的这个字段还有点信息量。

但它的取值范围骗不了人

把19405个分类的最后更新时间跟采集时刻做差:中位1天,P75是15天,P90是62天,最大值118天。

也就是说,整个样本里没有一个分类的这个字段超过四个月。而同一批数据里,有1042个分类是2018年以前建的。一个建了八年、里面一件货都没有、首页也点不到的分类,它的“最后更新时间”依然显示三个月以内。用它来找荒废的货架,一个都找不出来。

这跟sitemap里那个修改时间记的其实是请求时刻是同一种病的不同表现:字段名承诺的语义,跟它实际记录的动作,中间差了一层。判断有没有人管,只能看内容本身——有没有货、有没有描述、有没有入口。

自己站上怎么查,查完该改哪里?

这套查法不依赖任何工具,一次数据库查询加一个表格就能跑完。

四步

第一步,导出全部分类,带上建立日期、商品数、描述长度、有没有题图。第二步,按年份分桶,找空分类占比最高的那个桶——多数站会落在两到四年前。第三步,把handle里带sale、promo、clearance、bundle、new-arrival的挑出来单独看,这批的空置率通常是平均值的两三倍。第四步,把空分类的地址跟sitemap和首页导航比对,看有多少正在被提交、有多少还挂在菜单上。

第四步最容易出错的地方是拿错清单。sitemap自己也会烂,从站点地图里抽585条地址查出48条是坏的那次,生成程序一次都没报错。所以比对之前先确认这份sitemap是新生成的,不是几个月前的缓存。

查出来之后怎么处置

空分类不能一律删。集合页没有商品时该怎么处理取决于它是暂时空还是永久空:季节性分类明年还要用,留着但从sitemap里摘出去、加noindex;活动分类结束了就不会再有货,该301到父分类;应用建的那批既不该进sitemap也不该被抓,最省事的办法是在robots里按后缀拦掉。

谷歌关于筛选类地址的文档在这件事上给过一条很具体的要求:筛选组合没有结果的时候应当返回404,而不是回一个空着的200。这条要求写的是筛选,但道理对所有空着的集合页都成立——保哥自己站上做过一轮清理,最费劲的不是判断该不该删,是找出那些指向它的旧链接。

有一个坑要提前说:删分类会连带影响内链。一个分类被删掉之后,指向它的菜单项、面包屑、推荐位不会自动消失,会变成一堆404或者软404。内链结构本来就会自己烂掉,清理动作做得不干净只会让它烂得更快。

什么时候不用查

分类总数在一百以内、且从来没装过会写集合的应用,那基本不会有这个问题,肉眼过一遍导航就够了。这套检查真正值钱的场景是:分类数超过五百、装过筛选或退换货类应用、并且做过至少一次大促——三个条件里凑齐两个,去查一定有收获。

常见问题解答

分类页建得多到底有没有害处?

多本身不是害处,空才是。一个有货、有描述、有入口的分类页是正经落地页;一个声明0件货还回200的页面,对用户是死胡同,对爬虫是纯开销。这次样本里空分类占10.6%,其中六成还写在sitemap里。

为什么最老的分类反而问题最少?

因为能活过八年的分类多半是店铺骨架,男装女装鞋子配件这类入口一直在用。真正容易烂掉的是为某次活动、某个应用、某个筛选临时建出来的那批,它们的共同点不是老,是建的时候就没打算长期维护。

怎么快速找出没人管的分类?

三个信号叠着看:商品数为0、描述为空、首页导航里点不到。三项全中的基本可以判定失联。别用最后更新时间,这个样本里所有分类的这个字段都在四个月以内,包括那些建了八年一件货都没有的。“首页点不点得到”这一项要用渲染后的页面去数,只读静态HTML会漏掉大半个导航

空的分类页该返回404还是200?

看它是暂时空还是永久空。永久不会再有货的,返回404或者410最干净,301、410和软404怎么选商品那边有一套现成的决策,分类可以照搬。季节性的暂时空,保留200但加noindex、从sitemap里摘掉,等有货了再放回来。最糟糕的做法是回200、进sitemap、还挂在导航上,用户和爬虫都要白跑一趟。

第三方应用建的分类能不能直接删?

删之前先确认应用还在不在用。退换货、订阅、个性化推荐这类应用可能把这些集合当成运行时数据,删了会影响功能。更稳妥的做法是不删,但把它们从sitemap里排除、用robots按handle前缀或后缀拦住抓取。写robots规则的时候留意分组之间并不继承这件事,给某个爬虫单独开一组,全局那组对它就整个失效了。

分类的建立日期在别的平台上叫什么?

WooCommerce的商品分类是taxonomy term,本身不带建立时间,得从term_meta或者第一次关联商品的时间反推;Magento的分类实体带created_at;自建站看自己的表。拿不到确切日期也不要紧,用“第一个商品被归进来的时间”当代理指标,结论方向是一样的。

这次的结论会不会只适用于Shopify?

年份分布和空置率的具体数字肯定是平台相关的。但机制不挑平台:建分类的成本远低于删分类的成本,活动类分类的生命周期远短于品类分类,应用会在后台留下用户看不见的集合——这三条在任何电商系统上都成立。

权威参考资料

分享到
标签
版权声明

本文标题:《分类页越老越荒废?19405个实测,最乱的是三年前建的那批》

本文链接:https://zhangwenbao.com/collection-age-published-at-audit.html

版权声明:本文原创,转载与引用请注明作者与原文链接。许可协议: CC BY 4.0

继续阅读
发表评论
分享到微信 或在下方手动填写
支持 Ctrl + Enter 提交