2015-02-25

wordpress建站注意事项

wordpress发展到现在4.x版本之后,易用性与本地化方面做的已经非常好了,但是毕竟是舶来品,在我天朝上国多多少少还是偶尔会遇到水土不服的问题。

下面把使用wordpress建站过程中会遇到的问题记录如下,作为备忘,也可以帮大家少绕一些弯路(如果有人看这个站的话T_T)

一、googleapis.com无法访问问题

在假设完wordpress网站之后,发现页面打开非常的慢,经常卡住20~30秒才刷开,而非wp的普通页面没有这样的问题,说明问题不在服务器本身上面,而在于wp程序上。

使用live http header监视brower和server之间的交互,发现通信过程会卡在于ajax.googleapis.com以及font.googleapis.com的请求上,由于是google的服务,在国内是无法正常访问的。正是这两个域名资源的无法正常加载,拖慢了页面的整体加载速度。

解决方案有二:

1、将在线资源迁移到本地

ajax.googleapis.com主要功能为提供jquery等库的托管,而font.googleapis.com则是提供了在线字体加载的服务。对于前者,可以修改代码把资源放到本地来。字体资源的话,其实也并不是刚需,去掉即可。

但是这样对于代码的修改就比较多了,而且多一份文件多一份流量,从托管又变成了本地,简直是倒退,实在是不划算。让我们来看下解决方案2。

2、使用国内的替代服务。

搜索了一下,360良心的提供了googleapis.com提供的等价服务,libs.useso.com。除了域名不一样,提供的服务是完全相同的,而且使用了360的全国CDN加速节点,实测性能可以保证。

替换google服务值360服务很简单,搜索一下全部php文件,用vim或者sed将所有的googleapis.com替换成useso.com即可(主要在wp-includes/script-loader.php中)。

这里还需要注意,一些主题也会使用到googleapis的服务,如果发现更换主题后加载速度异常变慢,也需要检查有无对外部资源的引用并一并替换掉。

二、gravatar无法访问问题

和googleapis一样,wp把头像服务托管到了gravatar.com之上,但是悲剧的是这个服务国内同样无法访问,导致这也会拖慢整体的访问速度。

目前gravatar国内还没有靠谱的替代服务,为了提高速度我们需要把gravatar禁用掉。

修改代码是最后的选择,通过仔细观察,发现wp本身自带关闭头像的功能。

访问wp仪表盘,在“设置” –> “讨论” 中,找到“头像显示 –  显示头像”的checkbox,将其取消选中,保存配置即可禁用gravatar。

目前值得记录下来的问题就这两个,后续有遇到问题再接着补充~

— EOF —