多说评论完美迁移Disqus

96
作者 szhshp
2017.04.02 11:18 字数 1260

文章首发于 szhshp的第三边境研究所 ,转载请注明

不想看背景故事的可以直接查看翻迁移方法

背景故事

说实话这年头做的不错的免费服务真的不多,就比如为知笔记收费引发一场闹剧,不过幸好他们通过转型坚持下去了,同时我自己的1800+笔记也保留下来了。

一个月6块钱真的很多吗?

再然后就是悲剧的多说,其实通过转型或者一部分限制,比如根据用户付费情况限制每日评论数目等等,都可以解决问题。

只是最终官方选择关闭这个功能,也看得出他们的无奈。

当然既然多说关闭了我们自然要选择其他的评论插件,并且作为一个小小的博客,两年下来堆积了这么多评论实在不舍得全部启用,所以决定迁移到新的评论插件。

评论插件修改

多说宣布关闭后我试了好几个评论插件。首先关于全局设定:

  • Jekyll内核
    • Jekyll内核就决定了和Hexo,WordPress以及其他可控主机不一样,最大的限制是Jekyll无法操作服务器,因此只能选择基于JS的评论插件
  • 无DB
    • 这是第二个限制,因此无法自建评论系统,自建系统又简单又方便而且可以自己管理,然而自己的设定无法实现

基于以上设定,我测试了很多三方评论:

  1. 友言
    • 一开始我用的就是友言,当初第一次友言换账号迁移评论的时候一直无法导出,提了一周的Issue一直无人反馈。留下非常不好的印象,故弃用。
  2. 畅言
    • 一开始听说要备案,后来又发现随便输入一个合法网站备案号就行
    • 但是总会引发问题的吧
    • 弃用
  3. 网易云跟帖
    • Bug超多,甚至令我觉得一开始的需求他们就没分析好。
    • 一开始建立一个测试站点,然后导入多说数据,导入了部分合法数据后,显示正常。
    • 但是上面是测试站点啊,所以我新建了一个正式站点然后重新导入所有合法数据,发觉之前导入的评论依然存在
    • 我猜想可能是站点名字依然是博客域名,于是把测试站点的对应站点写成一个乱七八糟的域名
    • 然而无效,难道我需要删除这个站点配置?呵呵居然没有删除按钮
    • 最终的结果就是评论区放满了乱七八糟的多个站点的评论,实际上是因为我导入了很多遍,虽然可以让他不显示但是总觉得很不自在。网易很明显在用域名进行索引,并且切换域名之后居然没有删除“修改前域名对应的评论”

    • 不能忍,强迫症又犯了,弃用
  4. 一些基于Github的评论功能
    • 看到一些Repo,可以实现“在用户允许对方用户操作我方Repo的情况下对我方Repo数据文件进行修改”的评论插件
    • 然而我的代码在Coding,弃用
  5. 来必力
    • 莫名其妙有人建议我用这个
    • 好像是个韩国插件
    • 我去都不能导入怎么玩
    • 弃用
  6. Disqus
    • 我已经没有选择了
    • 关于国内加载……我去这篇文章你都看到这里了,连翻墙都不会嘛?加个Host都能解决问题啊

评论迁移

如果直接迁移不了,必然去找现成的工具。试用了几个插件:

  1. https://github.com/JamesPan/duoshuo-migrator [1]
  2. 多说评论迁移至Disqus [2]

一开始用的第一个,可能因为年代久远部分数据不够完整因此处理失败。

后来试用了第二个转换成功。

迁移方法程:

  1. 在多说后台下载评论文件,默认文件名是 export.json;
  2. 下载文件 migrate.php ,位置与export.json同级;
  3. 打开终端,进入文件 migrate.php 所在目录,执行 php -f migrate.php 即可在同级目录生成 disqus.xml 文件,前提是将 php 的可执行程序添加至环境变量;
  4. 在 Disqus 后台选择Generic(WXR)导入即可,地址是
    https://{你的站点名}.disqus.com/admin/discussions/import/platform/wordpress/

参考文献


[1]:[我把博客评论从多说迁移到 Disqus 时造的轮子](https://blog.jamespan.me/2015/04/21/the-duoshuo-migrator)

[2]:[多说评论迁移至Disqus](http://urouge.github.io/migrate-to-disqus)

Dev