30 秒自检:打开 DevTools 看三项
打开 Chrome DevTools → Network 面板 → 在国内访问你的 Cloudflare Pages 站点。看:
- TTFB(Time to First Byte) > 1 秒 → 跨境延迟问题
- Google Fonts / Analytics 资源 Pending 20+ 秒 → 被墙第三方资源
- TLS handshake > 500ms → 跨境 TLS 握手慢
- 总加载时间 > 5 秒 → 综合问题
国内 3-4G 网络下打开 5 秒以上就算「慢到掉用户」。
最短处理路径(按概率从高到低)
第 1 步:删除所有被墙第三方资源
最高 ROI 的优化。打开 DevTools → Network → 看哪些资源 Pending 20+ 秒:
- ❌
fonts.googleapis.com→ 换字蛛 / 自托管字体 - ❌
fonts.gstatic.com→ 同上 - ❌
googletagmanager.com→ 用 Cloudflare Web Analytics 或 Simple Analytics - ❌
google-analytics.com→ 同上 - ❌
facebook.com/tr(Pixel) → 换 Posthog / Plausible - ❌
youtube.com视频嵌入 → 用 Bilibili / Vimeo 备份 - ❌
twitter.com/widgets.js→ 用静态截图代替
效果:删除被墙资源能让国内首屏速度从「20+ 秒卡死」立刻变「3-5 秒可用」。
第 2 步:源站迁到香港或新加坡
Cloudflare Pages 的边缘节点对国内最近的是香港 / 新加坡 / 日本。如果你的应用是动态 API:
- Cloudflare Workers 默认全球部署,已最优
- Next.js Pages 静态部分用 Cloudflare 边缘
- API 部分 建议放在 Hong Kong 节点的 VPS(搬瓦工 / DMIT / RackNerd)走 CN2 GIA 直连线路
CN2 GIA 是中国电信高级商业线路,到大陆三网延迟 50-100ms,是普通 SwIFT 跨境的 1/3。
第 3 步:用 BunnyCDN 做静态资源加速
不需要 Enterprise 计划的最优解:
- 注册 https://bunny.net
- 创建 Pull Zone 指向你的 Cloudflare Pages 站点
- 把静态资源(图片 / 视频 / 字体)换成 BunnyCDN URL
- BunnyCDN 亚太节点(HK / SG / TY)会替你缓存到离用户最近的地方
成本:约 $0.01-0.04/GB,对中型 SaaS 月费用 $5-30。
第 4 步:启用 HTTP/3 + Brotli
在 Cloudflare Dashboard → Speed → Optimization:
- HTTP/3 (QUIC):开启,对 4G / 弱网用户影响大
- Brotli:已默认开启(2024 年起 always-on)
- Polish(图片):选 Lossy,减小图片体积 30%+
- Mirage(图片懒加载):开启
- 0-RTT Connection Resumption:开启
第 5 步:评估 Cloudflare Enterprise China Network
只有月收 $50K+ 且 60%+ 用户在大陆的产品才划算。需要:
- 域名有 ICP 备案
- Cloudflare Enterprise 合同(年付 $5,000+)
- 配合 JD Cloud 做境内 PoP
如果不符合上述条件,省下这钱用在 BunnyCDN + Hong Kong VPS 性价比更高。
为什么会这样
中国大陆访问海外站点的延迟构成:
| 环节 | 延迟 | 可优化 |
|---|---|---|
| 用户 → 国内 ISP | 5-30ms | 否 |
| 国内 ISP → 国际出口 | 10-50ms | 否(看 ISP) |
| 海底光缆传输 | 100-180ms | 否(物理距离) |
| Cloudflare 节点处理 | 5-50ms | 部分(缓存命中) |
| Cloudflare → 源站 | 50-200ms | 是(源站位置) |
| 源站处理 | 10-500ms | 是(应用优化) |
关键认知:网络延迟的 60-70% 来自不可压缩的物理传输,剩下 30-40% 是可优化空间。
继续查 Cloudflare Pages 中国访问
如果上述 5 步都做了仍然慢:
- 检查 DNS 解析:用 https://dnschecker.org 查国内能否解析你的域名
- 检查 SSL/TLS 握手:用 https://www.ssllabs.com 测,TLS 1.3 比 1.2 快
- 检查 favicon.ico:404 的 favicon 会拖慢首屏
- 检查 robots.txt 是否被频繁请求:bot 流量会消耗 CDN 资源
还没恢复时,单独查 Cloudflare Pages 中国访问
如果 5 步优化后国内首屏仍 > 5 秒,三个升级方向:
- 混合 CDN 策略:阿里云 / 腾讯云 CDN 做国内 + Cloudflare 做海外,按 IP 智能分流
- 静态化:把动态页全部 SSG 静态化部署到 BunnyCDN
- 跳转策略:识别中国 IP 自动跳转到
cn.yourdomain.com(带 ICP 备案的境内版)
如果你长期游民在海外做项目,平时调试国内访问问题需要稳定的跨境网络环境。在境外调试国内 ISP 视角的速度问题、或在国内调试海外 Cloudflare 后台都需要稳定线路。建议常备一条 海外服务跑 GitHub Actions / Cloudflare 的稳定线路。