Gravatar头像已然成为了博客、论坛等一种十分流行的通用头像,不管是Wordpress还是Z-Blog、Typecho、Emlog等,留言或则登入注册等都支持Gravatar头像,拥有一个Gravatar头像已然成为草根博主一种必选项目。

  每位留言者按照自己的邮箱会显示不同的Gravatar头像,如果一篇文章的留言者特别多,比如几百个以上,就会显示几百个Gravatar头像图片,图片越多,HTTP请求也就越多,容易造成网页读取平缓、网站出现打不开的现象。

  另外一个不容忽略的问题是Gravatar头像的服务器全部坐落加拿大,由于遭到各式诱因的影响,有时国外是难以连结至Gravatar头像服务器上,也就是未能显示Gravatar头像,大量的未能显示的图片会导致网页直接打不开。

  基于以上两个缘由,部落早已听到了不少的有实力的博客早已取消了显示Gravatar头像,目的就是为了最大限度地推动网页的读取速率,毕竟在浏览网页内容跟留言二者之间,获取网页内容才是第一位的,评论也是一种交互模式。

  在当前Gravatar头像服务器坐落加拿大的状况下,要想要推动Wordpress显示Gravatar头像的速率,首先可以做的就是将Gravatar头像图片缓存至自己的虚拟主机或则VPS上,这样用户访问的就是直接调用自己服务器的图片文件了。

  这样做的弊端是可以避免Gravatar头像服务器被Q的状况下引起网页未能打开,但是部落用这个办法后发觉,过了一段时间后,大量的Gravatar头像图片会占用特别多的空间,且不容易删掉。另外过多的图片反倒会降低服务器压力。

  所以提高Wordpress的Gravatar头像读取速率进阶的方式就是将Gravatar头像的服务器化身为国外的,最好是外链方式,例如放到国外一些大公司的服务器上或则专业的CDN服务器上,本篇文章就来介绍此种技巧。

  WordPress是一个定制性特别强的博客程序,各种WordPress加快方式只是层出不穷,加速疗效不错的方法有:

  提升Wordpress的Gravatar头像读取速率方式:缓存本地化国外服务器

  一、Wordpress的Gravatar头像图片缓存至本地

  1、此方式来自Willin Kan博主,这位在Wordpress挺有实力的博主由于害怕Wordpress程序越来越低效率而决然决定关站舍弃WP的行为,实在使部落认为崇拜。

  2、要想将Wordpress的Gravatar头像图片缓存至本地,先在网站的按照目录改建一个avatar 的文件夹,读写权限设置为755。

  3、有些留言者的邮箱或许没有注册Gravatar头像,我们还要用到一个默认的图片代替那样的留言者的头像,将一张default.jpg 的图片作为默认头像放到avatar文件夹中。

  4、打开你的主题的 functions.php 文件,编辑内容。

  5、将以下代码复制黏贴至你的functions.php最后,默认的是14天更新一次头像图片,你可以自己更改为更短时间。

  <pre style="margin:5px 28px; padding:0px 18px; border:0px solid blue; color:rgb(0,128,153); white-space:pre-wrap; word-wrap:break-word; font-size:13px; background:rgb(247,245,247)">`
function my_avatar($avatar) {<br style="margin:0px; padding:0px" />$tmp = strpos($avatar, &#39;http&#39;);<br style="margin:0px; padding:0px" />$g = substr($avatar, $tmp, strpos($avatar, "&#39;", $tmp) - $tmp);<br style="margin:0px; padding:0px" />$tmp = strpos($g, &#39;avatar/&#39;) + 7;<br style="margin:0px; padding:0px" />$f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);<br style="margin:0px; padding:0px" />$w = get_bloginfo('wpurl');
$e = ABSPATH .&#39;avatar/&#39;. $f .'.jpg';
$t = 1209600; //設定14天, 單位:秒<br style="margin:0px; padding:0px" />if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //當頭像不存在或文件超過14天才更新
copy(htmlspecialchars_decode($g), $e);
} else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.&#39;.jpg&#39;));<br style="margin:0px; padding:0px" />if (filesize($e) < 500) copy($w.&#39;/avatar/default.jpg&#39;, $e);
return $avatar;
}
add_filter('get_avatar', 'my_avatar');
`</pre>

  6、Wordpress的Gravatar头像图片缓存至本地后,图片的路径不再是Gravatar官网的URL了,而是本地服务器的图片地址了。

  二、将Wordpress的Gravatar头像缓存至百度BAE空间

  1、利用上述步骤,Wordpress的Gravatar头像会手动生成图片保存至本地的avatar 的文件夹。

  2、看过百度BAE全平台Layer镜像CDN加快安装使用一定可以立刻想起将Gravatar头像缓存至百度BAE空间上。

  3、利用百度BAE空间的速率可以大量推动图片的读取速率,同时也可以防止过多的图片恳求拖慢服务器。

  4、因为所有的Gravatar头像图片都保存在avatar 的文件夹中,安装了Wp Super Cache插件的同学可以直接至后台的CDN选项上将avatar文件目录包含中缓存加快中。

  5、还有安装或则使用Wp Super Cache插件的同学,请参考:WordPress加快缓存插件WP Super cache安装方式及使用方法

  6、使用百度BAE空间加快后,Gravatar头像图片显示下来的URL就是百度空间上了。

  三、将Wordpress的Gravatar头像缓存至七牛云存储CDN

  1、七牛云存储CDN跟前面的百度BAE全平台Layer镜像工作原理是一样的,没用过七牛的参考:七牛云存储国内免费CDN加速10GB空间

  2、先至七牛中添加你的源网站。

  3、然后在Wp Super Cache上将缓存URL设置为七牛的就可以了。

  四、利用多说Gravatar头像国外镜像服务器实现缓存加快

  1、上面两种方式操作有点繁杂,图片很多的话缓存至BAE空间或则七牛CDN也要消耗不少的流量,这里再分享一个在 博主上的方式:将Wordpress头像缓存至多说Gravatar头像国外镜像服务器。

  2、方法的原理是:官方的Gravatar 头像所在的路径通常都是、、、 这四个,我们只须要将头像默认的URL换成多说的就行了。

  3、打开主题下的functions.php 文件,将以下代码复制粘贴保存即可。

  <pre style="margin:5px 28px; padding:0px 18px; border:0px solid blue; color:rgb(0,128,153); white-space:pre-wrap; word-wrap:break-word; font-size:13px; background:rgb(247,245,247)">`
function mytheme_get_avatar($avatar) {<br style="margin:0px; padding:0px" />    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);<br style="margin:0px; padding:0px" />    return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );
`</pre>

  4、效果见右图,Gravatar 头像的外链地址早已全部至了多说的国外服务器了。

  5、同理运用此方式,我们还可以在七牛中自己推行一个Gravatar官网头像服务器,然后将以下代码复制至functions.php 文件中,就可以使Gravatar 头像的外链地址弄成七牛的CDN了。

  <pre style="margin:5px 28px; padding:0px 18px; border:0px solid blue; color:rgb(0,128,153); white-space:pre-wrap; word-wrap:break-word; font-size:13px; background:rgb(247,245,247)">`
function mytheme_get_avatar($avatar) {<br style="margin:0px; padding:0px" />    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"freehao123.qiniudn.com",$avatar);<br style="margin:0px; padding:0px" />    return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );
`</pre>

  五、Gravatar头像缓存加快方式小结

  1、部落在使用Gravatar缓存至本地时发觉当用户在Gravatar中更新了自己的头像时或则用邮箱注册了Gravatar头像时,留言后显示的原头像会迟迟得不到更新,因为得等14天内主机就会再次获取新的Gravatar头像。

  2、第二种运用多说Gravatar头像国外镜像服务器实现缓存加快其实有点风险,因为假如用的人多的话,不排除多说会严禁此种方式typecho 使用本地头像typecho 使用本地头像,毕竟不带给利益的交易谁也不甘愿做。当然虽然之后严禁了也没有哪些可怕的,大不了我们再换回去。

  文章出自:免费资源部落版权所有。本站文章除标明出处外,皆为作者原创文章,可自由引用,但请标明来源。

Last modification:March 27th, 2021 at 10:46 am
如果觉得我的文章对你有用,请随意赞赏