网站字体本地化,减少外部资源加载延迟:网站字体本地化

网站打开时字体加载慢,或者文字先以默认字体显示再突然跳变,多半是因为 CSS 里引用了 Google Fonts 这类外部字体服务。
把这些字体文件下载到自己的服务器,用 @font-face 本地调用,就能减少一个外部域名请求,页面渲染会更稳定。
下面从确认字体来源开始,一步步完成字体本地化。

先确认当前字体是从哪里加载的

打开浏览器开发者工具,按 F12,切到 Network 面板,刷新页面,在筛选框输入 font 或 woff。
如果看到请求域名是 fonts.googleapis.com 或 fonts.gstatic.com,说明字体确实来自外部。

同时查看网页源代码里是否存在类似这样的引用:

或者 CSS 文件里有 @import url('https://fonts.googleapis.com/...')。
把这些地址记下来,后面要用到对应的字体文件。

下载字体文件并上传到服务器

在浏览器中直接打开那个 Google Fonts 的 CSS 链接,会看到里面定义了 @font-face,其中 src 指向 .woff2 或 .woff 文件。
把这些字体文件下载到本地。

以宝塔面板为例,上传路径可以放在网站根目录下的 fonts 文件夹:

/www/wwwroot/你的域名/fonts/roboto-regular.woff2

如果用命令行,可以先创建目录再上传:

mkdir -p /www/wwwroot/你的域名/fonts
# 然后用 scp 或宝塔文件管理上传字体文件到该目录

上传完成后,在浏览器访问 https://你的域名/fonts/roboto-regular.woff2,能正常下载就说明文件可访问。

修改 CSS,改用本地 @font-face

删除原来的外部字体 或 @import,在你自己的 CSS 文件里加入本地定义。
示例:

@font-face {
  font-family: 'Roboto Local';
  src: url('/fonts/roboto-regular.woff2') format('woff2'),
       url('/fonts/roboto-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: 'Roboto Local', Arial, sans-serif;
}

font-display: swap 的作用是先用系统字体显示文字,等本地字体加载完再替换,避免文字长时间空白。
路径 /fonts/... 是相对于网站根目录的绝对路径,实际使用时按你的目录结构调整。

配置服务器缓存,让字体只下载一次

字体文件体积不小,建议在 Nginx 里给字体设置长期缓存。
在网站配置文件中加入:

location ~* \.(woff2?|ttf|otf|eot)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

保存后重载 Nginx:

nginx -t && nginx -s reload

这样浏览器第一次下载后会缓存 30 天,后续访问不再重复请求。

容易踩坑的地方

字体文件名不要用中文或空格,否则部分服务器或浏览器解析路径会出错,建议用英文和短横线。

跨域问题:如果字体文件和网站不同域,需要在 Nginx 里加 Access-Control-Allow-Origin 头。
本地化后同域引用一般不会触发。

版权风险:不是所有字体都允许免费商用。
下载前确认字体授权,尤其是企业网站,建议使用开源字体或已购买授权的字体。

只保留需要的字重:一个字体家族可能有多个字重文件,全部加载会拖慢速度,按页面实际用到的字重保留即可。

检查字体本地化是否生效

再次打开开发者工具 Network 面板,刷新页面,筛选 font。
此时字体请求的域名应该变成你自己的域名,不再出现 fonts.gstatic.com。
查看请求状态是否为 200 或 304(缓存命中),响应头里能看到 Cache-Control 和过期时间。

用 Lighthouse 或 PageSpeed Insights 跑一次,对比优化前后“减少第三方代码影响”和“字体显示”相关的评分变化。
只要外部字体请求消失、页面文字不再闪烁,字体本地化就算完成。

如果后续更换字体,重复下载、上传、改 CSS 这三步即可,不需要改动服务器其他配置。

分享到:
上一篇
网站预加载配置,提升页面打开速度
下一篇
网站图片WebP格式转换,大幅压缩体积
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意