SEO 百科
Web 字体
本页目录
Web 字体
Web 字体 是通过 @font-face 把自定义字体文件下载到浏览器,再用它显示网页文字的做法[2]。做 SEO 的人关心它,因为字体文件会拖慢首屏,而首屏速度关系到最大内容绘制(LCP)这类体验指标。
字体如何进入页面
@font-face 声明字体的名字和文件地址,font-family 再把文字指向它[2]。浏览器遇到用到该字体的文字时,才去下载文件。字体文件通常放在自己的服务器或第三方 CDN 上。
@font-face {
font-family: "MyFont";
src: url("/fonts/myfont.woff2") format("woff2");
font-display: swap;
}
body {
font-family: "MyFont", system-ui, sans-serif;
}
加载过程与首屏
font-display 决定字体没到时文字怎么显示,它把时间线分成阻塞、交换、失败三段[1]。阻塞期文字不可见,交换期先用后备字体显示,失败期则一直用后备字体。
字体没到就渲染空白,会让首屏出现一段读不出文字的时间,LCP 随之变差。正文是首屏的主要元素,它的可见时间受字体左右。
font-display 的取值
| 取值 | 表现 |
|---|---|
auto |
由浏览器自己决定 |
block |
短暂阻塞,之后无限交换 |
swap |
极短阻塞,之后无限交换 |
fallback |
极短阻塞,短暂交换 |
optional |
极短阻塞,不交换 |
正文适合用 swap,文字先以后备字体显示,字体到了再换,访客始终看得到内容[1]。
字体子集与体积
中文字体动辄几 MB,整包下载会明显拖慢页面。unicode-range 可以把字体文件按字符区间切开,浏览器只下用到的那一片[3]。
子集化是同一思路的另一条路,只留下页面用到的字符,重新打包成一个更小的文件。
用量也有参考。HTTP Archive 的 2025 年报告显示,约 88% 的页面会请求字体文件[5],字体已经是很普遍的一项资源。
与抓取和收录的关系
字体不是正文,不会被收录。它对收录的影响来自加载速度这一个环节。
收录从抓取开始,百度把抓取概括为从互联网抓取网页、建立索引数据库、把索引库中的数据展现给用户[4]。抓取回来还要渲染,字体晚到会推迟这一步。
常见误用
- 一次引入多套字重,字体文件成倍增加。
- 正文用
block,首屏先白一段时间。 - 整包引入中文字体,不做子集。
- 依赖第三方字体服务,源站要等外部响应。
附录
参见
参考资料
官方(境外)
- 《font-display》,MDN Web 文档,2025-11-06 更新。
- 《@font-face》,MDN Web 文档,2025-11-06 更新。
- 《unicode-range》,MDN Web 文档,2025-09-02 更新。
官方(国内)
- 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。
第三方
- 《Fonts》,HTTP Archive《Web Almanac》,2026-01-15。
外部链接
无。