分类页越老越荒废?19405个实测,最乱的是三年前建的那批
本文目录
- 这些货架,都是哪一年搭起来的?
- 一半的货架是最近两年才有的
- 谁的货架最老
- 老货架是不是最荒废的那批?
- 五个年份桶,四项指标
- 最老那批反而最规矩
- 那个驼峰是怎么形成的
- 2022到2024那三年,建的到底是什么货架?
- 按命名把它们分类
- 带这些名字的分类,更容易空掉
- 逐站看,问题集中在少数几家
- 有一批货架,根本不是给人建的
- 584个,全在一家店里
- 这是单站现象,但不是孤例
- 老货架里装的,是老货还是新货?
- 配对之后的结果
- 怎么用这条判据
- 描述越写越长,题图越配越少,这是怎么回事?
- 两条曲线
- 两件事的成本不一样
- 最老的那个货架,前台还打得开吗?
- 109个分类页,只有一个真的打不开
- 老分类和新分类,前台待遇几乎一样
- 一个货架,接口说装了3056件
- 这里有一把不能用的尺子
- 分类的“最后更新时间”,能不能当荒废的判据?
- 复抓的结果
- 但它的取值范围骗不了人
- 自己站上怎么查,查完该改哪里?
- 四步
- 查出来之后怎么处置
- 什么时候不用查
- 常见问题解答
- 分类页建得多到底有没有害处?
- 为什么最老的分类反而问题最少?
- 怎么快速找出没人管的分类?
- 空的分类页该返回404还是200?
- 第三方应用建的分类能不能直接删?
- 分类的建立日期在别的平台上叫什么?
- 这次的结论会不会只适用于Shopify?
- 权威参考资料
摘要:把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年及更早 | 1042 | 5.4% |
| 2019到2021 | 2895 | 14.9% |
| 2022到2024 | 5935 | 30.6% |
| 2025 | 4857 | 25.0% |
| 2026 | 4676 | 24.1% |
分类年龄的中位数是658天,P75是1498天,P90是2384天,最老的一个已经5049天。也就是说,一半的分类不到两年,但尾巴一路拖到2012年。
谁的货架最老
outdoorvoices有一个分类立于2012年,至今仍在被抓;chubbiesshorts和taylorstitch的最老分类都在2013年;fahertybrand、marinelayer、parachutehome、thirdlove停在2015年。这些站的共同点不是老,是没换过平台——一旦换过平台或者重建过店铺,所有分类的建立日期都会被重置成迁移那天,年龄就此归零。
顺便说,这跟用网页存档倒推域名年龄是同一类手法:系统里那个日期记的是记录的年龄,不是业务的年龄,两者中间隔着一次或几次迁移。
老货架是不是最荒废的那批?
直觉的答案是显然的:建得越早,越可能被忘掉。把五个年份桶跟四项健康指标交叉之后,这个直觉被数据打回来了。
五个年份桶,四项指标
| 建立年份 | 分类数 | 空的(0件货) | 写了描述 | 在sitemap里 | 首页点得到 |
|---|---|---|---|---|---|
| 2018年及更早 | 1042 | 7.1% | 28.2% | 98.1% | 18.5% |
| 2019到2021 | 2895 | 14.8% | 32.4% | 87.5% | 15.2% |
| 2022到2024 | 5935 | 17.8% | 28.3% | 79.2% | 11.9% |
| 2025 | 4857 | 6.2% | 42.8% | 89.5% | 9.2% |
| 2026 | 4676 | 4.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到2021 | 3.6% | 5.1% | 2.2% | 84.7% |
| 2022到2024 | 8.9% | 8.6% | 3.2% | 77.0% |
| 2025 | 7.8% | 5.6% | 3.4% | 80.6% |
| 2026 | 4.2% | 3.4% | 1.4% | 87.0% |
促销打折类在2022到2024那一桶里占8.9%,是最老那批的两倍。赠品捆绑类同样在这一桶见顶。那三年多出来的分类,主要不是品类,是活动。
带这些名字的分类,更容易空掉
把命名特征跟“有没有货”交叉,差距非常直接:
| 命名特征 | 数量 | 空掉的比例 |
|---|---|---|
| 促销打折类 | 1255 | 29.7% |
| 新品类 | 120 | 26.7% |
| 节日活动类 | 512 | 14.3% |
| 赠品捆绑类 | 1141 | 12.8% |
| 联名合作类 | 335 | 10.7% |
| 季节类 | 511 | 8.4% |
| 全体分类 | 19405 | 10.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年及更早 | 171 | 386天 |
| 2019到2021 | 379 | 537天 |
| 2022到2024 | 594 | 459天 |
| 2025 | 405 | 390天 |
| 2026 | 391 | 270天 |
最老那批货架里的货,中位货龄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 / 57 | 53 / 57 |
| 带noindex标记 | 8 | 9 |
| 页面上写着空态文案 | 6 | 7 |
| 接口声明0件货 | 6 | 3 |
四项里有三项几乎持平。这跟前面按年份分桶得到的结论方向一致:最老的那批分类没有被冷落,冷落发生在中间那几年。
一个货架,接口说装了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