Gravatar 头像在国内极其不稳定,有时候访问 1.gravatar.com 的时候差不多要半分钟;
另外很多游客本身是没有 Gravatar 账号的,默认的蓝G头像也说不上美观。

上百度查了下貌似有种简便的方法:
修改网站根目录下的 config.inc.php 文件:
在里面添加一个:

define('__TYPECHO_GRAVATAR_PREFIX__', 'http://cn.gravatar.cn/avatar/');

我改成了本地的文件夹做了定向,但有小瑕疵:游客的头像是正常的,自己的头像加载不出来。
后来F12才发现自己头像的地址是

http://xxx.xxx.cn/avatar/avatar.png9349385687463724@#¥%……&

这个跟 gravatar 获取头像的原理有关,后面的是用户自己的邮箱 md5 后的。

于是找了个办法彻底ban掉gravatar:

找到 /var/Widget/Abstract/Comments.php,
在第390左右可以看到 gravatar 的函数,把 $url 换成本地的图片:

public function gravatar($size = 32, $default = NULL)
{
    if ($this->options->commentsAvatar && 'comment' == $this->type) {
        $rating = $this->options->commentsAvatarRating;
        
        $this->pluginHandle(__CLASS__)->trigger($plugged)->gravatar($size, $rating, $default, $this);
        if (!$plugged) {
            $url = "http://xxx.xxx.com/xxx/xxx.png";
            echo '<img class="avatar" src="' . $url . '" alt="' .
            $this->author . '" width="' . $size . '" height="' . $size . '" />';
        }
    }
}

缺点是图片就成静态的了,有 Gravatar 账号的游客进来也显示的默认头像。