干掉WordPress里的fonts.googleapis.com引用,核心就两步:第一步定位并禁用主题或插件自带的Google字体加载,第二步用代码或本地资源彻底替换外部请求,整个过程十分钟内能搞定,零成本,不需要买付费插件,对网站打开速度的提升立竿见影。
为什么fonts.googleapis.com是WordPress国内站点的速度杀手
很多站长做完WordPress网站后发现,明明服务器在国内,ping值也正常,但网页加载就是慢半拍,打开浏览器的开发者工具一看,请求列表里总有一个蓝色的域名挂在那边转圈,那就是fonts.googleapis.com。
谷歌字体服务的加载机制与国内访问现状
Google Fonts是谷歌提供的免费字体托管服务,WordPress默认主题(如Twenty Twenty系列)、大量海外主题和插件都会直接调用它来加载特定字体,按理说这服务本身质量很好,但问题出在地理位置上谷歌的字体服务器没有部署在国内,国内用户访问fonts.googleapis.com的时候,请求会绕到境外节点,中间经过层层转发,延迟非常高。
行业共识认为,这种情况在WordPress速度优化的所有环节里,属于性价比最高、最容易忽略的一环,页面其他资源都已经本地化了,唯独这一条外部请求卡住,首屏渲染就会被拖慢,尤其对国内用户来说,这个外部字体请求在多数情况下表现为几秒的白屏等待,直到请求超时后页面才继续渲染。
怎么判断你的WordPress是否被Google Fonts拖慢
不用猜,打开浏览器无痕模式,按F12进入开发者工具,切到Network面板,刷新页面,在筛选框里输入fonts,看看是否有如下请求:
- fonts.googleapis.com(CSS样式表请求)
- fonts.gstatic.com(字体文件请求)
如果看到这两个域名下的请求,基本可以确定你的WordPress在加载Google字体,请求数量越多,页面被拖慢的程度越明显。
第一步:找到并禁用主题和插件里的Google字体加载
这是整套操作的关键步骤,WordPress里加载Google字体的来源主要集中在三个地方:主题自带功能、插件加载、手动添加的代码。
检查当前使用的主题是否内置Google字体引用
打开当前主题的目录,找到functions.php文件,搜索fonts.googleapis关键词,如果主题是基于underscores模板开发的,大概率会在functions.php里看到类似wp_enqueue_style搭配google_fonts的代码段。
另一种常见位置在主题的header.php文件里,有的老款主题会直接硬编码一个<link href="https://fonts.googleapis.com/css2?family=..." rel="stylesheet">在head区域,这两种情况都属于主题层级的引用,禁用方式略有不同:
- functions.php里的引用:找到对应的代码行,直接注释掉或删除
- header.php里的硬编码链接:删掉那一行link标签
排查插件带来的Google字体加载
如果主题里没找到,那就要检查插件,比较常见的是页面构建器类插件(如Elementor、WPBakery)和某些字体管理插件,它们会在设置项里提供字体选项,默认调用Google Fonts。
针对Elementor用户,操作路径是:Elementor → 设置 → 高级 → 加载字体方案,把选项从“默认(Google Fonts)”切换为“本地”即可,如果找不到这个选项,说明插件版本较老,需要更新到新版本。
WPBakery用户检查路径:WPBakery → 设置 → 常规,找到字体加载相关配置项,关闭Google Fonts加载。
勾子代码禁用法(适合无法直接改动主题文件的情况)
有些主题会强制加载Google字体,后台控制面板里也没有相关开关,这时候可以考虑用代码勾子来“拦路打劫”直接移除主题注册的字体样式。
在主题的functions.php文件底部追加以下代码:
add_action('wp_enqueue_scripts', 'remove_google_fonts_scripts', 999);
function remove_google_fonts_scripts() {
global $wp_styles;
if (empty($wp_styles->registered)) return;
foreach ($wp_styles->registered as $handle => $style) {
if (strpos($style->src, 'fonts.googleapis.com') !== false) {
wp_dequeue_style($handle);
wp_deregister_style($handle);
}
}
}
这段代码的作用是遍历所有已注册的样式资源,把来源指向fonts.googleapis.com的资源全部排掉,注意权重调到999,确保在主题注册之后执行。
第二步:两种彻底替换方案彻底摆脱外部字体请求
完成第一步后,网站不再向外发起Google字体请求了,但如果主题本身依赖这些字体,直接禁用可能导致前台文字变成系统默认字体,排版可能不太协调,这时候需要第二步用替代资源把字体请求消化掉。
本地化托管Google字体
把需要的字体文件下载到自己的服务器上,这个方案一劳永逸,操作流程如下:
下载字体文件:访问Google Fonts官网,挑选你主题里用到的字体,比如多数主题默认使用Roboto或Open Sans,每个字重都要下载,比如400、700、italic等。
字体文件转格式:Google Fonts自带woff2和woff格式,直接把下载的ttf文件放到本地,用在线转换工具转成woff2和woff格式,覆盖绝大多数现代浏览器即可。
上传并注册本地字体:把字体文件上传到WordPress主题目录下的/assets/fonts/文件夹,然后在functions.php里用@font-face声明本地字体路径,并把之前的Google Fonts链接替换为本地路径。
这样做的好处是请求完全走自己的服务器,不受谷歌节点状态影响,加载速度取决于你的服务器带宽,通常比跨境请求快好几倍。
禁用字体并启用系统字体栈
如果你的网站对字体美感要求不高,更看重速度,直接让页面使用系统字体即可。
以最常用的区块主题为例,在主题自定义器里选择字体列表时,优先选择带“系统字体”字样的选项,如果是代码层面控制,可以在CSS里加一句:
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
这套字体栈在Windows上会优先调用微软雅黑,macOS上调用苹方,移动端也有对应的系统字体,兼容性和渲染速度都很好,而且不需要额外的字体文件请求。
不同使用场景下的操作建议
WordPress类型多样,不同类型处理Google Fonts的侧重点不太一样。
国内企业官网
面向国内用户的官网,彻底移除是唯一正确方向,字体请求延迟会导致整个页面加载被阻塞,对用户体验和搜索引擎爬虫抓取都不友好,建议直接采用方案一,下载主题所需的重点字重,本地化托管,页面速度评分会有明显改善。
海外业务网站
如果网站主要访客在海外,fonts.googleapis.com的访问速度其实不算差,但考虑到部分海外用户也会遇到谷歌服务间歇性抽风的情况,同样推荐本地化处理,或者保留字体请求但做好fallback,还有一种做法是使用第三方CDN镜像的Google Fonts资源,比如国内外都有专门做字体加速的公共CDN,能在不改变代码结构的前提下替换掉原域名。
外贸站兼顾国内外访问
这类场景最麻烦,国内用户和海外用户都占了相当比例,推荐的方案是做一个UA判断,如果用户是国内IP,加载本地字体;如果是海外IP,加载Google Fonts,不过操作复杂度较高,需要改代码,多数情况下直接全站替换为本地字体,海外用户访问速度也不会有明显问题,因为字体文件本身不大,服务器配合CDN完全能扛住。
验证是否彻底移除掉fonts.googleapis
完成上述操作后不能直接收工,需要做一轮完整的检查。
验证步骤:
- 浏览器无痕模式打开你的网站
- F12打开开发者工具,切到Network面板
- 按Ctrl+R强制刷新页面
- 筛选框输入
fonts,检查请求列表
请求列表里应该只剩下你自己域名下的字体请求(如果做了本地化),或者完全没有字体请求(如果用了系统字体栈),再输入gstatic检查一下,确保Google的字体文件请求也被清除干净。
另外用浏览器的“查看网页源代码”,搜索
fonts.googleapis关键词,确认没有遗漏的硬编码引用,有些主题会在后台编辑器里动态输出字体链接,代码里搜不到,但实际加载了,这种情况下需要去数据库的wp_options表里搜索相应字段。
WordPress网站打开慢的其他隐藏因素
处理完Google字体后,如果你的WordPress网站打开慢的情况没得到根本改善,建议顺带排查以下几个高频卡点:
图片未压缩:原始图片直接上传是最常见的性能杀手,用TinyPNG等工具压缩后体积能缩小比较大比例
未启用缓存插件:装一个缓存插件生成静态页面,能让动态请求变成静态文件直接返回
没有CDN加速:国内访问你的服务器如果跨运营商,速度也会受影响,接入CDN后静态资源分发到各地节点
数据库垃圾堆积:文章修订版本、垃圾评论、短代码碎片都会让数据库越来越臃肿,定期清理能减少查询耗时
在搞定Google Fonts这个最大外部请求之后,再处理上面这些隐患,网站的加载速度会有质的提升。
Q&A:关于WordPress移除Google字体常见问题
问:禁用Google字体后会不会影响网站的排版美观?
答:会有一点影响,但影响程度取决于主题对特定字体的依赖度,如果主题使用Google Fonts提供的特殊字体,移除后降级到系统字体,视觉效果会有变化,但多数情况下,系统字体在屏幕渲染上反而更清晰锐利,而且没有额外加载的延迟,你可以先切换到系统字体看看效果,不满意再走本地化托管的方案,视觉效果能基本保持一致。
问:WordPress主题没有提供关闭Google Fonts的选项,修改代码会失效怎么办?
答:主题更新后,你对主题文件的修改确实会被覆盖,这个问题的解法有两个方向:一是改用子主题,把相关代码全部放入子主题的functions.php,这样更新父主题不会影响你的修改;二是使用代码片段插件,比如WPCode,把移除Google Fonts的代码以代码片段的形式插入,同样能规避主题更新覆盖问题,这种方法适合不熟悉代码的站长操作。
问:使用国内服务器和境外服务器,处理fonts.googleapis.com的方式有区别吗?
答:有区别,国内服务器访问谷歌服务基本不可用,必须移除或本地化,否则每次页面加载都要等超时,境外服务器则要根据访客群体来判断,如果访客集中在北美或欧洲,Google Fonts的连接速度相当不错,保留问题不大;如果访客主要在国内或者亚太地区,仍然建议移除,服务器位置的差异本质上决定了跨境链路的网络质量,国内服务器境况比较极端,没有保留的余地,境外服务器可以灵活取舍。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/646069.html




