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 —

2012-10-15

架设wordpress站点注意事项

wordpress现在进化到了4.x版本,易用性和本地化方面已经做的非常好了,但是毕竟还是舶来品,在我天朝上国之中使用,还是需要做一些本地化的改造。

开个帖子,把架设站点过程中遇到的问题记录下来,也可以给大家一个参考(如果这个小站还有人会关注的话~)

一、googleapis.com无法访问造成页面加载速度很慢问题

安装完wordpress之后,发现刷新页面访问速度非常慢,用live http header跟踪之后发现,页面加载卡在了一系列对于ajax.googleapis.com以及font.googleapis.com的访问上面。

仔细查看了下代码,对于ajax.googleapis.com的访问主要是托管了jquery等通用库,font.googleapis.com则是在线的字体库。

解决方案有两个,一个是禁用对于googleapis.com的访问,都改为本地资源,但是这不是我们希望看到的,毕竟这回消耗额外的流量,对于wp代码的改动也并不优雅。

还有一个解决方案是使用国内的镜像资源替换掉googleapis.com。

搜索了一下,360提供的libs.useso.com是比较好的替代镜像。

接下来要做的工作就简单了,用sed或者直接用vim打开wp-includes/script-loader.php,将其中所有的googleapis.com替换为useso.com,然后重新刷新页面,就可以看到加载明显变快了!

注意一些主题也可能会用到googleapis.com的资源,这些主题中对应的代码也需要替换掉。

二、gravatar.com访问问题

wordpress使用了gravator作为头像服务,但是你懂的,只要带g的在墙内都用不上…

解决方法很简单,在wordpress面板的设置->讨论中找到 “显示头像”的checkbox,将默认选中的反选即可。

目前遇到的问题就是这两个,后续有发现继续再补充~