新安装的WP站点,访问默认模板和后台访问速度非常慢,抓包查看请求的情况,发现有 http://0.gravatar.com/ 的请求被pengding了,导致访问速度下降,gravatar是国外的一个头像服务,国内也被墙了,因此请求失败,有三种解决方法:
1、替换法
这种方法的基本思路为两类,一类是在寻找一个国内的gravatar镜像站,将wordpress中的gravatar替换成国内镜像站,这样提高请求成功率和访问速度。例如 http://gravatar.duoshuo.com ,这个站点就提供了gravatar的国内镜像。这种做法的缺陷在于这种镜像站不知道什么时候会被关闭,因此也不是唯一解决之道。另外一类将头像缓存到国内其他站点,甚至于缓存到vps本地,也能解决这个问题。具体做法见这个链接:http://www.freehao123.com/wordpress-gravatar/
2、插件法
安装 Wp Super Cache 插件,可以将头像文件静态化到html文件中,这样提高访问速度,具体做法见:http://www.freehao123.com/wp-super-cache/ 不过这种方法我并没有使用,所以无法给出验证效果。
3、直接禁止gravatar服务
这是一劳永逸的简便做法,直接禁止gravatar服务有两种做法,4.0版本中提供了一个简单的设置方法,在 后台->设置->讨论中,有一个选项为头像显示,取消这个选项,即可取消gravatar服务,另外有网友提供了直接代码修改的方法,在wp-includes/pluggable.php中有get_avatar函数,修改代码如下:
- if ( !function_exists( ‘get_avatar’ ) ) :
- function get_avatar( $id_or_email, $size = ’96’, $default = ”, $alt = false ) {
- if ( ! get_option(‘show_avatars’) )
- return false;
- if ( false === $alt)
- $safe_alt = ”;
- else
- $safe_alt = esc_attr( $alt );
- if ( !is_numeric($size) )
- $size = ’96′;
- $default = includes_url(‘images/blank.gif’);
- $avatar = “”;
- return apply_filters(‘get_avatar’, $avatar, $id_or_email, $size, $default, $alt); //Vevb.com
- }
- endif;
使用该函数,仅可能返回一个默认头像(位于wp-includes/images/blank.gif内),也能达到提高速度的效果.
新闻热点
疑难解答
图片精选