解决 Gravatar 被封锁的问题

最近使用 WordPress 时发现,前后台的载入速度都变得十分缓慢。仔细寻找原因后发现原来是在调用 Gravatar 服务时花费了大量的时间。由于 GFW 的原因,国内用户无法正常连接上 Gravatar 的默认服务器,所以网站加载便会卡住。我查询了一些资料后总结出了几种方法来应对这一问题,在此分享给大家。

1. 使用未被墙的地址

目前一共收集到 7 个 Gravatar 官方地址,其中前 4 个被墙了,所以我们使用未被墙的地址作为替代:

  • http://www.gravatar.com
  • http://0.gravatar.com
  • http://1.gravatar.com
  • http://2.gravatar.com
  • http://gravatar.com
  • http://cn.gravatar.com
  • https://secure.gravatar.com

添加以下代码到 functions.php:

function unblock_gravatar( $avatar ) {
    $avatar = str_replace( array( 'http://www.gravatar.com', 'http://0.gravatar.com', 'http://1.gravatar.com', 'http://2.gravatar.com' ), 'https://secure.gravatar.com', $avatar );
    return $avatar;
}
add_filter( 'get_avatar', 'unblock_gravatar' );

2. 使用多说提供的镜像地址

多说是国内 No.1 的社会化评论系统,它专门设立了一个镜像地址来中转显示 Gravatar,加载速度可比官方的快多了,代码和方法 1 类似:

function unblock_gravatar( $avatar ) {
    $avatar = str_replace( array( 'www.gravatar.com', '0.gravatar.com', '1.gravatar.com', '2.gravatar.com' ), 'gravatar.duoshuo.com', $avatar );
    return $avatar;
}
add_filter( 'get_avatar', 'unblock_gravatar' );

3. 使用七牛云存储的镜像功能

建一个七牛空间来镜像 gravatar.com,然后借用方法 2 替换 gravatar.com 为七牛的域名。不过这一方法较为繁琐,并不推荐。

4. 使用 WordPress 插件缓存头像到主机空间

如果你使用的是国外主机,可以正常访问 gravatar.com,那么你也可以选择将 Gravatar 缓存到自己的主机空间。
插件:FV Gravatar Cache

本站使用多说的镜像服务器来进行加速,你们呢?

2 条评论

Kagamiz进行回复 取消回复

*