Disqus + Commento,同时用两种评论框意义大不大?
2020-04-01
前言
这里是对前两篇相似文章《Disqus + 多说,同时用两种评论框意义大不大?》、《LiveRe + Disqus,同时用两种评论框意义大不大?》的进一步补充。
可以看出,这是我第三次折腾评论系统了。
LiveRe下课
原因一
从2019年3月份开始,LiveRe突然「不要脸」地给评论框加上了广告,而且画面占比非常大,比百度联盟那些还要辣眼睛。最关键的是,韩文我和我的小伙伴们都看不懂啊。
作为从来不往Blog加广告的我,不可能容忍这样的广告出现,我自己都没赚钱,岂能让他们赚钱了?而且,我开了AD Blocks的时候它一个广告加载不出来的时候隔一段时间就会刷新一组新的。时间久了居然能在我的页面里刷出一百多个广告,真是耻辱。
PS:不知道是不是因为语言设置成了英文导致的,有时候在别人的页面看到的是没有的。但出现广告不是个例。
原因二
没有导入导出功能。事实上我在启用它的时候也提到过:
我相信如果有一天LiveRe倒闭了,它也是会支持我导出评论的。说实话,导出其实并不是那么的有必要。就像我用多说两年多从来没想过有一天我会用到导出。我并不需要什么时候想导出就导出,只需要它能用的时候好用;用不了了给条生路,那就够了。
LiveRe看起来广告收入可观,至少我是等不到它倒闭的时候了。导出目前对我来说依旧没有那么有必要。但是互联网的服务日新月异,很快又出现了 既能导入又能导出 的产品,Commento。这也为LiveRe的下台推波助澜。
原因三
我们做事要讲究天时地利人和。目前这里的人「人和」就是——最近我稍微有时间了。那当然就得开始折腾一番了。
一个数据:我用了将近三年的LiveRe,居然只产生了41条评论,也是很凄凉了。不过一个重要的原因是我更新频率下降了。
拥抱Commento
优点/特点
Commento属于非常轻量级的评论系统,整个Javascript大概只有11 kB。但是这不妨碍它功能齐全:
- Markdown语法支持。
- 注重隐私。可能是指不会被拿去卖给广告公司吧。
- 社交登陆(Google、Twitter、Github、Gitlab)。
- Akismet处理垃圾评论。
- 开源,不断有新功能加入。
- 点赞、踩。
- 评论树。
- 评论邮件提醒。
- 可以自己部署,也可以使用付费服务。
- Commento自身的评论都可以自由导入导出(json格式)。也支持导入Disqus评论。
- 可添加多个管理员。
- 有简单的Analytics,显示一个月内的展示次数和评论数(足够我用了)。
缺点
没有免费的午餐,所以不可能有一个评论系统能够满足所有的需求。下面列举一些缺点:
- 没有社交元素,缺少Disqus那种可以Follow不同用户的功能。
- 没有中文和其他国际化的支持。不过我觉得应该以后用户多了会加上。
- 如果自建,需要自己搭建VPS,这个需要额外的费用。
- 如果使用commento.io的付费服务,那也得5美元一个月。对于除了域名其他都不想花钱的我来说是笔巨额。
- 没有内置表情包。但是可以直接输入Emoji。
- 没有后台控制系统可以看到所有的评论。所以页面里都有哪些评论其实也说不清楚,缺乏直观的感受。
- 不支持微信微博等国内SNS登陆。只能期待未来作者给加上了。
- 注册用户这一点很鸡肋,为了专门在我这里评论还得注册一个新的号码,而且这个账号和其他的Commento实例不相通。
- 用户自己修改的头像(外链照片)经常显示不出来。社交评论登陆的没问题。
- 没法发送图片回复。但是可以用Markdown语法(
[text](link)
)插入链接,HTML的<a>
标签反而不行。
总结
符合我对极简主义的期待;缺点都可以克服,或者对我来说没什么影响。是个很合适的第三方评论选项。
折腾之路
起步
第零步:按照上一篇日志的方法导出LiveRe评论到Disqus。然后把LiveRe的代码删掉。
下一步:自己部署Commento。我也有自己考虑过5刀买他们的云服务买个心安,然后把所有的Disqus评论挪过去,只保留Commento。后来想到Disqus曾经给我这带来过不少流量,而且也有很多熟人,所以我还是想保留Disqus。这样一来Commento依旧是作为LiveRe一样的「辅助评论系统」,也就不值得花5块钱了。
下了这个决心以后我就考虑要不要买个新的VPS,毕竟主要是给墙内的小伙伴用的,我觉得可以买个亚洲的VPS。找了一圈,基本都是5块钱起步——还不如直接用Commento的云服务呢。我自己有两个VPS但都在美国,在我测试了国内Ping之后发现延迟也不高,基本也在100-200ms的范围,可接受。这两个VPS各自跑了一个服务,所以我就决定折腾一下Nginx的反向代理,让多个服务同时运行在一个服务器上,且都是80/443接口。这么多年居然还没真正试过自己部署多个同时开启的服务,也是惭愧。
具体过程可以参考这篇日志:Commento 安装配置 - 狂飙。已经很详细了,我就不再重复了。
唯一要注意的一点是,在配置完Nginx和SSL证书之后, docker_compose.yml
里面的 COMMENTO_ORIGIN
要改成 https://commento.yourdomain.com
,不要在后面加「:8080」。我因为这个小失误折腾了好久。
配置和优化
Commento有基本可用的文档:Commento Configuration。可配置的东西都写的比较清楚了。
-
样式
为了让它的样式符合我的想法,我花了些功夫在调整CSS上面。Commento支持用新的文件重写对应的CSS代码,还是比较方便的。默认的CSS配置可以去demo.commento.io看到,和我现在的还是有所区别的。
-
OAuth
为了支持社交登陆,我得自己注册那几个系统的开发者账号(Google、Twitter、Github、Gitlab)。有些也很鸡肋了,有些要翻墙才能用,还不如直接用Disqus好了。Twitter的开发者是相对来说比较费劲的,还要写很多话才能通过审核。
-
Email
Commento可以配置SMTP服务。如果有新评论我会收到通知。如果有新的评论回复可以发送邮件给评论者。这里使用了Mailgun的服务。我觉得还是挺好的,免费的额度完全够用。注册好以后在DNS配置一下,然后把那些参数填进Commento的配置里就好了。
-
反垃圾评论
注册了Akismet,弄到了一个Key,填进Commento配置即可。
-
匿名评论
我觉得对于没有那四个社交评论的用户(比如国内的非程序员的朋友们)来说,直接注册新号的使用成本还是挺高的,所以我允许了匿名评论。缺点是我回复的时候没有邮件通知。
后记
折腾评论系统我已经轻车熟路了。目前的结果我还是比较满意。我拥有这个评论系统的所有控制权,所以未来若干年都不会换了,至于这个VPS我应该会长期使用(大概$20一年),所以我并不担心我的系统有一天会挂掉。实在不行,部署在我的树莓派上也没啥压力。
特别鸣谢Lattespirit帮助我在若干Bug围剿之下杀出重围。
最后的感慨:以前都叫做「第三方评论系统」,现在又回到了当初WordPress的起点——第一方评论系统,只不过不是集成在博客系统里罢了。总之,感觉还是棒棒的。
LanternD