Navi+ 如何让菜单始终在线 — 「Use a second CDN (BunnyCDN)」选项
菜单并不存储在你的主题里。每次页面加载时,浏览器会从 Navi+ 获取几个小文件 — 菜单引擎、它的样式以及你的菜单数据。这些文件来自哪里,决定了菜单能否显示、显示得有多快。本页说明这套交付机制如何运作、如何抵御故障,以及 Shopify 应用嵌入中的 Use a second CDN (BunnyCDN) 复选框会改变什么。
两个网络,一个菜单
Navi+ 通过内容分发网络(CDN)提供菜单文件:分布在全球的一组服务器保存着相同文件的副本,让每位访客都从离自己最近的节点获取。
为了确保任何一个网络出问题都不会让你的菜单消失,同一套文件保存在由两家不同供应商运营的两个独立网络上:
| 网络 | 供应商 | 作用 |
|---|---|---|
| 主网络 | Cloudflare | 默认为所有店铺提供服务。 |
| 第二网络 | BunnyCDN | 保存完全相同的副本,每次 Navi+ 发布时刷新。当主网络无法交付时接替。 |
每家供应商都运营着自己的全球基础设施,并各自承诺可用性。由于两者不共用服务器,一方发生故障不会影响另一方 — 菜单从不依赖某一家公司的持续运行。
默认情况下页面加载的流程
- 主题中的 Navi+ 应用嵌入运行一个很小的启动脚本。
- 启动脚本向主网络请求菜单引擎、样式和你的菜单数据。
- 菜单显示出来。
如果其中任何一个文件无法从主网络到达 — 故障、超时、区域性问题 — 启动脚本会自动从 BunnyCDN 重新获取同一个文件。这一切在访客的浏览器中自动完成,你无需任何配置。实际上,单个网络的一时故障对你的顾客来说是完全无感的。
自动重试唯一无法覆盖的情况
自动重试机制就在启动脚本里。这就带来了一个盲区:如果启动脚本本身始终无法到达,那么什么都不会运行,也就没有东西可以重试了。
当访客的网络连接完全无法到达主网络时,就会出现这种情况。Cloudflare 是互联网上最大的网络之一,但并非从任何地方都能访问:
- 部分国家在国家层面限制或节流 Cloudflare 流量。
- 部分企业或学校网络在其网页过滤中屏蔽了它。
- 部分网络运营商在特定地区到 Cloudflare 的路由质量差,导致请求超时。
如果一家店铺的顾客大多位于这类地区,对你来说运行完美的菜单,对他们却可能不显示 — 而自动重试根本没有机会发挥作用。
「Use a second CDN (BunnyCDN)」的作用
开启该选项会调换优先级,让菜单完全不再依赖主网络:
- 启动脚本会同时向两个网络请求,只要访客所在位置能连上其中任意一个,菜单就能启动。
- 之后的一切 — 菜单引擎、样式和你的菜单数据 — 都从 BunnyCDN 加载,而不是 Cloudflare。
主网络仅作为启动脚本的第二次机会保留;BunnyCDN 成为菜单本身的主要来源。
什么时候应该开启?
除非符合以下情况之一,否则请保持关闭:
- Navi+ 支持团队要求你开启。 当你反馈部分访客看不到菜单时,我们会核查这些访客所在位置以及他们能连上哪个网络。如果问题出在主网络,我们会请你开启此选项。
- 你确知你的顾客位于 Cloudflare 受限或不稳定的地区。 如果你的店铺主要服务这类地区,BunnyCDN 对你来说是更稳妥的主源选择。勾选该选项并告知我们 — 我们乐意从我们这边确认变更无误。
典型迹象:菜单对你和大多数访客都正常显示,但某个特定国家或特定网络的顾客反馈从未看到过菜单。
为什么默认关闭
两个网络都覆盖全球且速度快。对绝大多数店铺来说,切换并无收益,而默认路径是我们监控最严密、修复最先上线的路径。该选项是为上述少见情况准备的工具,不是性能设置。
会影响页面速度吗?
预计不会有明显变化。BunnyCDN 从其自有的全球节点提供相同的文件。向两个网络请求启动脚本只是多了一个很小的请求;菜单引擎和菜单数据仍然只从单一来源加载一次。
如何开启或关闭
- 在 Shopify 后台打开 在线商店 → 模板 → 自定义。
- 点击左侧边栏的 应用嵌入 图标。
- 找到 Navi+ 并展开。
- 在 Advanced 下勾选或取消勾选 Use a second CDN (BunnyCDN)。
- 点击 保存。
变更在下一次页面加载时生效。Navi+ 应用内无需任何配置。
如果支持团队在排查问题期间请你开启,请保持开启直到他们确认问题已解决 — 之后你可以再关闭。