「我们的网站挺快的,国内打开秒开。」
这句话后面通常跟着另一个事实:海外买家打开要五六秒。这不是错觉,是两个问题叠在一起——物理距离和配置。
按顺序查这五处。
第一处:你的服务器在哪,买家在哪
先算距离。数据包从买家到你的服务器,再回来,每一次往返都要时间。跨国一趟往返通常上百毫秒起步,页面要加载几十个资源,次数一乘,一两秒就没了。
怎么查: 用 PageSpeed Insights 测一次,看它显示的服务器响应时间。再和你在国内的感受对比。
一个简单的判断: 如果买家主要在欧美,服务器也在国内,那这段距离是躲不掉的。你需要在访客和源站之间加一层——这就是 CDN 的作用。
第二处:CDN 缓存有没有真的生效
很多站开了 CDN,但速度没变,原因通常是缓存没命中:每个请求还是要回源站取。
一个能自己动手的量化方法:
同一个站上,比两类资源的加载时间——一类是必须回源的内容(比如 HTML 页面),一类是已经缓存在边缘的资源(比如图片、样式表)。两者的差值,大致就是「一趟回源」的成本。
我自己站上实测过一次:回源那一趟大约 800 毫秒,这就是每次没命中缓存的代价。
所以要做的是: 让该缓存的都缓存住。页面、图片、样式表这些不因人而异的静态内容,都应该在边缘直接返回,而不是每次回源。真正不能缓存的只有表单提交这类个性化接口。
注意一个坑: 有些 CDN 的免费套餐限制缓存时间(比如最短两小时),也有的是默认不缓存 HTML。开了 CDN 之后一定要回头验证:命中率是多少、首字节降了没有。
第三处:图片和字体
页面体积里最大的一块通常不是代码,是图片。
三个具体动作:
- 图片换格式、压体积。 位图一律转成 WebP,一张产品图从 2MB 压到 200KB 是常事。视觉上几乎看不出区别。
- 声明尺寸、延迟加载。 图片写上宽高,首屏之外的全部加
loading="lazy",别让浏览器一开始就去下载看不见的图。 - 字体别从墙外拉。 如果你的页面在用 Google Fonts 之类的海外字体服务,海外买家还好,但这条链路会让首屏多等一次跨洋请求。一个更稳的做法是本地托管字体文件。
第四处:第三方脚本
统计代码、在线客服、地图、视频播放器——每加一个,首页就多几个跨域的请求。
怎么查: PageSpeed Insights 会直接列出第三方脚本占用的时间。看到某个脚本几百毫秒,先问一句:这个功能现在真的在用吗?
常见的可以清理的:装了三年的客服插件、已经不用但没删的统计工具、自动播放的首页视频。
第五处:首字节时间
这一处是分界线——它决定你该往哪个方向优化。
首字节时间衡量的是「请求发出」到「收到第一个字节」,不含图片和脚本下载。
- 首字节就要一两秒 → 问题在服务端或链路(源站位置、数据库慢、没缓存)。压图片没用,得动架构。
- 首字节很快、整页很慢 → 问题在页面体积。回到第三处和第四处。
不看这个数就优化,很容易花两周时间压图片,结果发现瓶颈根本不在这。
优化完,用同一个口径复测
改完别凭感觉,用同一个工具再测一次,对比同一个指标。
一个提醒: 国内测速工具测出来的数字,对海外买家没有意义。要测就测海外视角——PageSpeed Insights 默认给的就是这个。
顺序总结
- 先算距离,确认要不要加 CDN
- 加完 CDN 验证缓存命中,量化回源成本
- 压图片、本地化字体
- 清理不用的第三方脚本
- 用首字节时间判断该往哪个方向继续
前两处通常能解释一半的问题,而且见效最快(改配置,不碰代码)。
想看这套速度排查怎么落到服务里,见 Google SEO 优化服务页。想让我直接测一次你的站、告诉你是哪一处的问题,可以要一份免费获客诊断——报告本身可执行,不一定谈合作。
想接着往下看:速度合格之后,整体的动手顺序见工厂独立站 SEO 的前 90 天;如果站点是多语言的,性能问题会被放大,见多语言页面不是翻译完就完事。
常见问题
国内打开很快,海外为什么慢?
距离。数据要在访客和你的服务器之间跑一趟,跨国往返一次通常上百毫秒起步。如果服务器和访客不在同一地区,一个页面要来回几次,一秒以上很正常。这也解释了为什么同一台服务器,国内同事和海外买家感受完全不同。
怎么判断慢的是服务器还是网络?
看首字节时间。它衡量的是「请求发出到收到第一个字节」,不包含图片和脚本的下载。如果首字节就要一两秒,问题在服务端或链路上,优化图片帮不上忙;如果首字节很快但整页很慢,问题在页面体积。
CDN 开了就一定快吗?
不一定。如果 CDN 的边缘节点命中不了缓存、每次都要回你的源站取内容,那一个请求就要多走一趟跨国往返,可能比不过 CDN 更慢,取决于源站位置。开了 CDN 要确认缓存规则真的生效。