检测到您启用了Adblock等屏蔽广告扩展,导致正常的内容图片无法显示,为了不影响阅读体验,建议您将www.xiaoz.me加入白名单。

Gravatar头像多种加速方案,提升WordPress速度

最近Gravatar头像被墙,导致绝大部分wordpress博客都受到此影响,加载非常的缓慢,小z博客之前分享过一篇《开启Gravatar头像缓存,解决WordPress加载缓慢》的教程,后来发觉并不算很完善,经过几天的分析后用这篇文章做个总结,希望对大家有帮助。

方法一、gravatar-fixed插件

先来最简单的办法,直接使用gravatar-fixed插件就可以对Gravatar头像进行缓存,这个插件由WPCEO出品功能是修正Gravatar服务器无法正常访问的情况,并且可以自定义Gravatar服务器地址。小z已经启用默认的缓存服务器0.bsdev.cn,所以安装此插件后无需额外的设置便能感受到速度的提升,非常适合新手。

dfgravatar

图1-1 gravatar-fixed插件设置

点此下载:gravatar-fixed.zip

方法二、使用小z博客提供的缓存(推荐)

小z博客在忍受Gravatar头像被墙的痛苦后,利用自己的海外服务器反代了Gravatar头像,并且使用了七牛云存储的加速服务,免费提供给各位网友使用,只需将下面的代码添加到主题目录的functions.php中即可体验到加速。

1
2
3
4
5
6
7
8
//Gravatar缓存头像
function xiaoz_get_avatar($avatar) {
    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),
"0.bsdev.cn",$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'xiaoz_get_avatar', 10, 3 );
//缓存头像END

方法三:缓存到本地(海外主机用户使用)

在前一篇文章中小z也分享过此方法,但是忽略了个重要的问题是Gravartar被墙,国内主机是无法缓存到本地的,所以此方法仅适用于海外主机的用户,如果你的海外主机速度不够快建议使用方法一或方法二。

1.在网站根目录新建一个名为avatar的文件夹。(权限改为755或777),部分VPS用户需要将用户组修改为www

2.新建默认的头像图片,名为default.jpg并放入avatar文件夹中。

3.将以下代码加入到当前使用的主题的functions.php文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function v7v3_avatar($avatar) {
$tmp = strpos($avatar, 'http');
$g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
$tmp = strpos($g, 'avatar/') + 7;
$f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
$w = get_bloginfo('wpurl');
$e = ABSPATH .'avatar/'. $f .'.jpg';
$t = 1209600; //设定还缓存时间14天,单位为秒
if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //头像超过设定时间或不存在则更新
copy(htmlspecialchars_decode($g), $e);
} else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e);
return $avatar;
}
add_filter('get_avatar', 'v7v3_avatar');

方法四:关闭头像功能

这个做法显得有些极端,但却有效,对要求不是特别高而又不想折腾的用户可以在后台->设置->讨论->将头像显示的勾去掉即可,这样速度就杠杠的啦。

showtouxiang

图4-1 关闭头像显示


目前可用的缓存服务器有0.bsdev.cn(由小z博客提供),cd.v7v3.com(由V7V3提供),当然了可能还有更多,使用同一个缓存服务器的用户越多那么二次加载的时候就越快。

特别提醒:使用多说的朋友注意了,多说本身有自己的缓存服务器,但是不知什么原因,多说最近很多头像回源了(向官方反应,但是没有收到任何结果),因此使用多说的朋友也会感觉到加载缓慢,表现为部分头像回源后无法加载,如下截图。另外上面的所有方法对启用多说的用户均不能奏效,必须停用多说才能起到作用,暂时还没想到两者并存的方法(没办法,小z也用回自带评论了),还请见谅。

huiyuan

多说部分头像回源

24 Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注