2014年7月7日

Wordpress去谷歌化加速

最近,因为众所周知的原因,国内对谷歌的墙被延长了,连Android设备上的谷歌play、谷歌地图也不能幸免。而Wordpress因其原生使用谷歌开放字体“Open Sans”也遭池鱼之殃,因为“Open Sans”字体存储在谷歌网站上,每次打开基于Wordpress的网站就要链接到谷歌网站上获取字体和其它资源,这就造成国内所有基于Wordpress且未经去谷歌化或通过其它方式避开长墙的网站,其打开速度之慢让我们仿佛回到Modem时代。

对于谷歌开放字体的拖累,网上已有两种解决之道。其一是加一段代码去除谷歌字体,其二是将链接到谷歌字体的网址用代理网址替换,这两种方法在网上一搜即有,在此不再赘述。不过我发现,链接到谷歌上的除了字体,还有8个js脚本。这8个脚本同样会拖慢Wordpress,幸好解决起来很简单:

1、下载这8个脚本(本文后提供下载)。

2、在自己空间里新建一个目录,用来本地存放这8个脚本。比如,在\wp-includes\js\下新建一个文件夹名曰googleapis,把脚本上传到这个文件夹里。

3、用文本编辑器打开\wp-includes\script-loader.php,找到第148行至第155行,将:

'//ajax.googleapis.com/ajax/libs/脚本名称/版本号/脚本文件名(xxxxx.js)'

修改为:

'/wp-includes/js/googleapis(即你新建的文件夹)/脚本文件名(xxxxx.js)'

别的不要改,从第148行到155行都这么改。例如,第148行:

$scripts->add( 'prototype', '//ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js', array(), '1.7.1');

改为:

$scripts->add( 'prototype', '/wp-includes/js/googleapis/prototype.js', array(), '1.7.1');

然后保存,上传、替换原文件,OK了。

注意:这8个js脚本,是按照Wordpress 3.9和3.9.1代码所示的版本下载的,运行代码时会验证版本号,不同版本在功能或使用方法上可能也有所不同,所以不要用别的版本代替。其它版本的Wordpress,请查看源代码中使用这些脚本的版本号是否与3.9.1或3.9使用的版本号相同,如果相同可以使用,如果不同就按代码所示版本号下载然后按此方法使用。

另外,我去除谷歌字体并没有采取网上的办法,既没加去除字体的代码(我有洁癖能不增加多余的就不增加),也没用那个代理,感觉用代理也不能保证速度不受影响而且我个人讨厌那个代理。谷歌字体又不是非用不可,而且还是西文的。我采用了更笨拙更麻烦但也更干净的办法,就是把所有样式表里的“Open Sans”都删除掉,然后把谷歌字体链接换成一个本地链接,而这个本地链接实际是个空链接。这样打开页面时就不会链接到谷歌网站去找字体,而是会用css样式表里指定的其它字体来显示网页。原生Wordpress里指定的其它字体一般是“sans-serif”,也就是无衬线字体,像我们电脑里的Tahoma、黑体等等,都是无衬线字体,感觉也还行。

具体方法是:将链接到"fonts.googleapis.com"的一长串地址和参数换成简单的“./”。例如,用文本编辑器打开\wp-includes\script-loader.php找第602行:

$open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";

将其换成:

$open_sans_font_url = "./";

然后保存,上传、替换原文件。

现在已知有如下文件包含fonts.googleapis:

1、\wp-includes\script-loader.php第602行。

2、\wp-content\themes\主题名\functions.php(不同主题里的googleapis链接在不同位置,且可能不止一个)。

3、\wp-includes\js\tinymce\plugins\compat3x\css\dialog.css第1行,可以直接删除这行或注释掉。

主题文件夹内是否还有google字体或其它google资源链接,就要自己找了,不同主题也有所不同。我去谷歌化之后,wp网站速度恢复正常了。其实,不用像我这么麻烦去挨个删除css样式表里的"Open Sans",只修改字体链接就行,效果一样的。只是我有洁癖,看到没用的摆在那儿就不舒服。最后再提醒一下,请注意核对wp版本号和js版本号!

8个js脚本下载地址:链接: http://pan.baidu.com/s/1nthuci9 密码: 18fw

30 评论:

oldcheetah 说...

嗯嗯,js那个方法我用了,至于字体我还是用360替代了,用的是修改script-loader.php文件链接的方式。

iYest!生活 说...

这样改,我觉得一个升级就敲掉了

iYest!生活 说...

这样改,我觉得一个升级就敲掉了

eJohnny 说...

这是个人选择的问题。如果有一劳永逸或接近于一劳永逸的法子,那是最好。如果没有,那么你就要选择,是让你网站的浏览者辛苦点,还是你自己辛苦点。鱼和熊掌,每个人都有自己的选择,包括浏览者。

糯米汇 说...

感觉禁止在线字体要好点吧

祥磊部落 说...

感觉用插件更方便一点

香港云主机 说...

加载谷歌字体确实很慢!

噶里味美食网 说...

这个问题已经圆满解决,非常感谢·

oldcheetah 说...

好用就好。

oldcheetah 说...

好用就好。

糯米汇 说...

我用的是改字体库

碧海神风 说...

是啊,这个相当影响速度~~

乐心湖 说...

感谢分享!

刘印 说...

直接替换成其他源比较好~

微历史 说...

直接用插件屏蔽

灰常记忆 说...

直接用插件干掉

在路上 说...

自己做的模板,前台不引用任何站外资源,表示无影响

Toner Chip 说...

其实对于我这样的英文站来说,是可以忽略的。

极品飞鸽 说...

这个字体老火,我用的插件

李阳博客 说...

谢谢博主分享,广告给你点一点哈

osblog.net 说...

现在基本都得去掉谷歌的东西了

三亚婚纱摄影 说...

听的不是很懂

北京SEO优化 说...

赞一个

最励志网 说...

不错,值得收藏分享!

seo知否 说...

这里好热闹啊!我也凑一个!

我有胸器哦 说...

谢谢博主啊,受益匪浅啊!

校花周昕妤 说...

[猥琐]

妹子惹人醉 说...

[拍砖]

李雪儿 说...

[衰]要看人体寿司宴极品写真,就来→ http://sebi.club

佐佐木美由纪 说...

[闪电]您可能还喜欢:【最美女老师许多语儿打拳击 蛮腰翘臀大露春光】→ http://t.cn/RyJGIZK