背景

因公司业务调整,非常遗憾的向大家宣布多说项目即将关闭。

我们将于2017年6月1日正式关停服务,在此之前您可以通过后台的数据导出功能导出自己站点的评论数据。

对此给您造成的不便,我们深表歉意,感谢您的一路相伴。

多说经常报故障,看上去多说也很长时间没人维护了,对多说的结局早有预料,但没想到来的这么快。用多说好多年了,苦逼的Hexo不带数据库,只有另寻他路了。

国外的Disqus被墙,国内的畅言要备案,最终我还是选择Disqus,因为域名没法在天朝备案,o(╯□╰)o

Disqus终究还是要爬墙才能展示,而且速度较慢,最终走了个偏门用上了畅言,见:无备案网站使用畅言评论方法

申请Disqus账号

Disqus申请个账号,我之前就有了。因为被墙的缘故,需要翻墙,评论框加载速度也没多说好,所以Disqus一直以来只是用来评论别,没想到还是要用。

账号申请登录后,需要添加绑定自己的站点,方法:

1
右上角>点击齿轮图标>点击下拉中的`Add Disqus To Site`

点完应该到了这里,然后按自己的需求添加自己的站点shortname即可。

Hexo中启用Disqus

一般在对应主题中的_config.yml修改,如maupassant主题就直接配置刚才设定的shortname即可,其他主题也大同小异,具体参考主题说明。

迁移已有评论

从多说导出

登录多说后台,在

1
http://<你多说的shortname>.duoshuo.com/admin/tools/

页面导出多说评论,工具>导出数据>勾选包含文章和评论数据,点导出就能下载到一个json文件压缩包。

转换成xml格式

json格式的数据是不能直接导入到Disqus的,所以我们需要转换成xml格式,借助别人写的工具转换。

准备工具

下载 duoshuo-migrator.py,并安装依赖

  • Linux/Mac OS X:pip install lxml
  • Windows:Windows 下使用 pip 安装 lxml 时编译无法通过,到 https://pypi.python.org/pypi/lxml/3.5.0 下载对应自己 Python 版本的 32 或 64 位 exe 文件安装即可。

当然,说明说的这些,你首先得安装Python,如果你用的是PHP等程序来转换也可以,不是非得Python,只要能转换就行。

执行转换

Python及对应的依赖安装完,我们就可以执行那个py程序了,打开命令终端【CMD或者terminal】,执行以下命令:

1
python duoshuo-migrator.py -i ~/Desktop/export.json  -o disqus.xml

要不了几秒钟,xml格式的评论数据就转换好了。

导入到Disqus

登录Disqus后台,在

1
https://<之前设置的shortname>.disqus.com/admin/discussions/import/platform/wordpress/

页面点击import,选择之前转换好的xml文件 ,然后点击Upload and import就搞定了。

导入完成后,应该很快就能在你的网站前台看到结果了。当然,记得搭梯子!!!

遇到的问题

接入Disqus后,发现有评论的正常显示,没评论的文章连Disqus评论框都显示不出来,只显示一行:

We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.

都说是shortname设置不正确,折腾一番,没想到Disqus匹配链接的时候连http://都要匹配。之前百度站内搜索不认协议头,所以在Hexo的配置文件中配置站点时没带协议,现在只能加上,同时改用google搜索了。

参考文档

duoshuo2disqus