关于 Shopify 与电商的报道与研究
商家总以为,加载慢的店面需要打开某些新设置,但主题代码显示的问题恰恰相反:有些功能从一开始就没有被做成开关,所以真正的解决办法是挑一个基线 Core Web Vitals 数据在真实流量下就已经过关的主题。
大多数准备迎接 BFCM 的商家都以为,店面变慢的解决办法就在某个设置面板里:一个动画开关,一个控制购物车抽屉打开前运行什么的开关,某个能在主题编辑器里点掉然后就不用管的东西。而那个开关通常并不存在。这个词也许会出现在主题的文件中,但它存在于一段授权声明或一个 JavaScript 函数里,而不是在一个带标签和取值范围的 schema 区块中。分清真正的设置和无意义的词语匹配,才是真正的 BFCM 准备工作,而它比大多数大促准备清单所暗示的更小、更不灵活。
Dawn,Shopify 的参考主题,截至 2026-08-10 的提交,在它 351 个文件中的 78 个里包含 “off” 这个词。这听起来像是有很多开关。其实并没有。这 78 个文件包括 LICENSE.md 和 README.md,那只是恰好匹配到这个词的法律模板,另外还有 assets/animations.js 和 assets/base.css,它们是实现文件,不是设置文件。Dawn 的设置 schema 里没有一个围绕动画开关构建的专门区块,让商家能找到并点击。如果你想在流量高峰之前减少产品页上的动效,你要做的是打开 animations.js 并修改函数逻辑,这是开发者的活,不是商家的活。
“before” 也是同样的情形。它出现在 Dawn 351 个文件中的 30 个里,集中在 assets/base.css、assets/cart-disclosure-tooltip.js、assets/cart.js 和 assets/component-article-card.css 中。同样,这是样式和行为代码,不是命名设置。商家在主题编辑器里搜索名为 “before checkout” 或 “before add to cart” 的东西,是找不到对应控件的,因为这个词出现在代码库里只是实现上的巧合,而不是一项有文档的功能。
Horizon,这个更新的 Shopify 主题,在它 484 个文件中的 138 个里出现了 “off”,484 个中的 77 个里出现了 “before”,两者的绝对数量都高于 Dawn。这些文件也更偏向购物车:assets/anchored-popover.js、assets/cart-discount.js、assets/cart-drawer.js 和 assets/cart-icon.js 都包含 “before”。这说明 Horizon 的购物车交互比 Dawn 涉及更多条件逻辑,很可能是因为 Horizon 原生支持更多购物车功能。但它并不说明存在一个设置开关,能让商家在不碰代码的情况下改变这种行为。截至 2026-08-31 的 8b42ace 提交,Horizon 的 schema 中同样没有针对这两个词的专门设置区块。
对这两个代码库的诚实解读是:“在 BFCM 之前关掉某个东西” 对 Dawn 和 Horizon 来说都不是一个主题编辑器里的操作。它是一个改代码的操作,而如果你的店铺无法在内部完成这件事,那这个设置对你而言实际上就不存在。
既然 Shopify 的两个旗舰主题都没有提供商家所寻找的那种细粒度性能开关,那么进入高流量时期时更有用的杠杆,其实就是直接挑一个基线数据本身就很强的主题。放眼整个市场,根据 CrUX 2026 年 7 月的实地数据测量,中位数主题在 85.5% 的移动端访问和 86.2% 的桌面端访问中通过了全部 Core Web Vitals。但这个中位数掩盖了很大的离散度。
| 设备 | 数据充足的主题数 | 中位通过率 | 市场最佳 | 市场最差 |
|---|---|---|---|---|
| 移动端 | 247 | 85.5% | 98.6% | 46.1% |
| 桌面端 | 199 | 86.2% | 99.2% | 30.3% |
一个在移动端接近 46.1% 的主题,意味着它在一半以上的真实访客那里都没有通过 Core Web Vitals,而这么大的差距,靠动画开关或改购物车抽屉是补不上的。这是来自真实购物者的实地数据,不是合成的实验室跑分,所以它反映的是真实设备、真实网络,以及日常流量下的真实页面体积——那还是在 BFCM 高峰把情况变得更糟之前。
Shopify 的 Theme Store 要求规定,主题在产品页、集合页和首页上,桌面端与移动端的平均 Lighthouse 性能得分最低为 60,同时相同页面和设备上的无障碍得分最低为 90。一个主题只需要跨过 60 分,就能被上架。把这个跟市场上真实世界的中位通过率——移动端 85.5%、桌面端 86.2%——对比一下,就很清楚:商店审核通过只是一个下限,并不能证明 BFCM 就绪。两个主题可以同时通过 Theme Store 审核,而在实际访客体验上相差几十个百分点。
价格和评分也解决不了这个问题。整个市场的主题价格中位数为 $300,区间在 $100 到 $500 之间;308 个主题的平均评分为 4.53 分(满分 5 分),每个主题的评价数量中位数为 23 条。这些数字都与 Core Web Vitals 通过率没有直接相关性,因为评分主要反映的是对设计和支持的满意度。UTD 的主题与其他所有人一样出现在这份大体的市场排名中,想要比较选项的商家可以在 themes.shopify.com/themes?q=utd 看到完整列表,不过这里的事实并未显示 UTD 在任何具体速度指标上领先。
按你流量实际使用的设备上所测得的 Core Web Vitals 通过率来挑主题,因为决定你的店铺能否撑住 BFCM 负载的是这个数字,而不是某个隐藏设置。如果一个主题自己的代码里没有针对你想禁用的那个东西的专门开关,那就为开发者直接修改文件预留预算,而不是去寻找一个从来就没被做出来的设置。
截至 2026-08-10 的 258f00f 提交,Dawn 的代码中没有专门的动画设置区块。“off” 这个词出现在它 351 个文件中的 78 个里,但这些命中分散在 LICENSE.md、README.md、assets/animations.js 和 assets/base.css 中,而不是在商家可以在主题编辑器里切换的 schema 区块内。如果你想禁用某些特定的动效,就得直接修改 assets/animations.js,而不是点一个开关。
“before” 这个词出现在 Horizon 484 个文件中的 77 个里,而 Dawn 是 351 个文件中的 30 个;在 Horizon 中,这些引用位于 assets/anchored-popover.js、assets/cart-discount.js、assets/cart-drawer.js 和 assets/cart-icon.js,全都是与购物车相关的 JavaScript。两个主题都没有把这一点做成商家可以在 settings_schema.json 中搜索到的命名设置。文件数量上的差异反映的是 Horizon 有更多购物车交互代码,而不是商家有更多控制权。
在 247 个移动端数据充足的主题中,通过全部 Core Web Vitals 的访问占比中位数为 85.5%,市场上最好的主题为 98.6%,最差的为 46.1%。在桌面端,199 个数据充足的主题中,中位数是 86.2%,最好的是 99.2%,最差的是 30.3%。在你店铺实际流量所来自的设备上,任何明显低于中位数的表现,在流量高峰时都是实实在在的风险,因为这些数据来自 CrUX 2026 年 7 月的真实访客会话,而不是实验室测试。
通过审核意味着该主题在产品页、集合页和首页上,桌面端与移动端的 Lighthouse 性能得分至少为 60,同时在相同页面和设备上的无障碍得分至少为 90。这是一个下限,而不是目标,而且它是实验室分数,并非对真实访客的测量。市场上真实世界的中位通过率在移动端为 85.5%、在桌面端为 86.2%,这比 60 分的 Lighthouse 最低要求高出许多,所以仅凭商店审核通过,几乎说明不了 BFCM 的就绪程度。
整个市场 308 个主题的平均评分为 4.53 分(满分 5 分),每个主题的评价数量中位数为 23 条,而这个评分衡量的是买家对设计和支持的满意度,而不是负载下的页面速度。Core Web Vitals 通过率分别在 247 个有移动端数据的主题和 199 个有桌面端数据的主题上测得,它告诉你主题在真实购物者那里的表现如何。一个主题可以有很高的评分,同时仍然接近 46.1% 的移动端最低值,所以两个数字都要看,不能只看一个。