由于Gravatar头像在国内被部分屏蔽,导致包括WordPress等需要调用Gravatar头像服务的网站访问缓慢,甚至无法加载出头像。许多网站只好采用禁用Gravatar头像服务来加快网站的访问速度。
这里提供一种基于CDN的加速方案。加速逻辑为,将cn.gravatar.com的头像缓存到CDN上,并建立二级域名指向CDN。在WordPress端通过钩子将头像的请求源由Gravatar官网转向CDN。于是就可以通过CDN的服务来提高Gravatar的头像访问速度了。
具体步骤如下(CDN以七牛云存储为例):
1、在CDN上指定内容源为cn.gravatar.com
2、建立gravatar.zivers.com二级域名,解析到CDN所给的二级域名
3、在WordPress的functions.php中加入钩子,将源改为自己的二级域名
function z_cache_gravatar($avatar) { $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com") ,"gravatar.zivers.com",$avatar); return $avatar; } add_filter( 'get_avatar', 'z_cache_gravatar', 10, 3 );
这样,实际访问的时候,用户将会从gravatar.zivers.com处获得头像,即CDN方式。
怎么没在用了啊
帖子方法只是提供一个思路,不是提供服务。
头像测试