禁用Google网络字体提高网站加载速度
土木坛子
Update: WordPress 技巧:禁用 Google Fonts,加快 WordPress 后台打开速度:将下面的代码放到当前主题的 functions.php 文件:
add_filter( 'gettext_with_context', 'wpjam_disable_google_fonts', 888, 4);
function wpjam_disable_google_fonts($translations, $text, $context, $domain ) {
$google_fonts_contexts = array('Open Sans font: on or off','Lato font: on or off','Source Sans Pro font: on or off','Bitter font: on or off');
if( $text == 'on' && in_array($context, $google_fonts_contexts ) ){
$translations = 'off';
}
return $translations;
}
最近,Google在国内访问拜GFW神威而抽风,不仅仅是Google的搜索和GMail邮件服务,其它的Google相关服务也受到影响,比如Google Font网络字体。
如果有网页使用了Google网络字体,现在加载网页会变得异常缓慢,原因就在于Google网络字体无法加载。对于使用了Google字体的WordPress博客主题,有人建议使用插件禁止使用Google网络字体,也有方法建议使用替代网络字体加载。
我直接用非插件的方法,在主题函数中将Google网络字体注释掉,这样就网页加载时就不再产生Google网络字体请求,速度也就不会受到Google被墙的影响。注释方法很简单,例如,在Twenty Twelve主题函数functions.php中找到googleapis一行,在最前面和最后面各加上 /* 和 */ 即可,注释后的样子如下所示:
/* $font_url = add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ); */
由于.css样式表中字体设置还有其它替代字体选项,所以不用担心字体显示受到影响,就算没有字体设置,浏览器也会使用电脑系统自带的默认字体来显示网页内容。不过,这个注释主题代码的方法有个缺点,不能解决WordPress后台管理界面的Google Fonts字体加载影响,我相信大部分WordPress博主都知道翻墙的吧?
其实,像Google网络字体对于中文一点作用都没有,它本来就只针对英文和数字字体,即使Google没有被墙,我也一直主张注释掉它。以前有朋友反映我的网站在国内加载很慢,原因就是我忘了注释禁用Google网络字体。任何第三方的服务,都会超出你的掌控范围。
人家在测试自动驾驶汽车,开发手机操作系统,提交内核补丁;我们在这儿找Google可用的IP。