MENU

正式告别emlog,转入WordPress

December 30, 2016 • 网络技术

时间总是过得很快,一转眼2016年就快过去了,在即将迎来2017年之际,我下定决心把博客程序换到了WordPress。

回顾自己建立博客以来的8年时间,在2008年5月2日写下第一篇日志,当时使用Bo-Blog,一直用到2012年。当时Bo-Blog已经3年没有更新了,日渐式微,而emlog正处于热火朝天的开发迭代中,各类资源丰富,人气比较旺,所以2012年初我将博客从Bo-Blog换到了emlog,用到现在,似乎是历史的重演,emlog的最后一个正式版是2014年中发发布的,最后一个测试版也已经发布一年了,许久不更新的emlog已经渐渐的满足不了我的需求,比如在上一篇日志里我为了将整个博客SSL化,已经需要去修该emlog的源程序才能实现。这说明,是时候找一个更先进的程序了。

看了一下当前市面上的博客程序,国产还依然不错的似乎就只有Z-Blog PHP版,但是跑到它的应用中心一看十个插件里有八个都是付费的,感觉我还得奋斗几年才能去用。而剩下的选择也不多了,typecho?首先它也是2014年之后两年没出正式版,而且前不久我试过,几乎很多需要的功能都需要有一定写程序的基础才能实现,也不省心。所以,这次随了大流,选择了目前流传最广得WordPress。

在决定之后,首先就遇到了问题,因为当前网络上似乎找不到从emlog5.3.1转换到WordPress 4.7的程序。

能够找到的资料,类似于:http://zhangsubo.cn/2015/01/04/emlog-转到-wordpress过程/

这都是很早的程序了,且不说会导致内容丢失,更不支持现在的WordPress。

作为一个技术小白,只好求助于身边的大牛,由于这次转换程序也有身边一位叫藤也的大牛勾引的原因,所以第一个就找到了他。说起藤也君不得不说,其过硬的技术功底,当初我和他都用着emlog,短短这几年这货已经是自己写论坛程序出来自己玩的大牛了,而我依然是写写博客的小白。当然术业有专攻,由于此人过于醉心技术,所以他的博客早就关闭了。现在看来,我虽然2014年断更一年,但这个博客好歹还是坚持下来了,这次转换的时候,回顾之前的一些日志也是唏嘘感慨了一番。跟藤也比,是没有学习到什么技术,但留下来珍贵的回忆啊。

闲话不多说,找到藤也之后,这家伙花了一顿饭的功夫扔给我一个脚本,叫我拿去试。这种事情肯定要小心谨慎嘛,于是我先备份了emlog的数据库,又下载了整站的文件,至此算是做好了准备。

然后开始转换的第一步就是删掉emlog除开附件(路径为content\uploadfile)以外的所有文件,我这里有一个特殊,我早前从Bo-Blog转到emlog时的附件,当时奇遇写的那个脚本并没有修改数据库和路径的信息,所以我有一部分附件是在attachment目录下,所以这个也一并保留。

删完文件了,第二步是上传WordPress整站程序,上传完成后web访问进行WordPress的安装。安装完成后,藤也的脚本就闪亮出场了,果断上传脚本并运行起来,结果不出意料的有问题,一直转菊花但是过去几分钟都没有任何提示,进入WordPress后台却可以看到文章和评论都存在了。

反馈给藤也后,这货又花了5分钟修改了一番,我询问是否需要重装WordPress以便清空之前的数据,他说不用,这个脚本在执行前会自动清空WordPress的数据库。这次一转,好了,成功了,但是进后台一看日志和分类以及标题根本对不上,匹配关于出错。

这次反馈以后,经过藤的也再次修改,终于搞定了这部分的工作。

现在博客已经转换到了WordPress,我要做的第一件事,是寻找一个新的主题,毕竟当初用emlog时,后期我已经找不到觉得好看的主题了。但是WordPress不同,这个程序拥有海量的主题可供选择。用主题这里我有一个小小的心得,即国内的优先级高于国外的。因为WordPress架构强大,可以将这个程序用来制作很多不同类型的网站,而我遇到一些国外主题,虽说是博客主题,但其代码里为WordPress中的很多潜在功能都做了相关的适配,这样一来,当换上这个主题遇到问题要修改时,面对的工作量往往非常大。而国内主题不同,国内的主题一般不会像老外那样复杂,修改起来往往容易一些,加上真的遇到难解的问题,也可以联系到作者,自然折腾起来要轻松很多。

选择主题这一件事,就用掉了我一整天的时间,这里不得不说一件比较蛋疼的事情,我最开始使用Bo-Blog程序时它首页显示的日志内容是通过截断符来控制的,而emlog没有截断符这种东西,它是自动截断,为了控制效果,我需要通过单独写一个摘要来作为首页显示的日志内容。这就造成了,我博客里存在两种类型的日志,一种包含Bo-Blog的截断符,一种是emlog的摘要。而主题的作者往往又采取的WordPress的截断符作为前端输出控制的标准。所以我要用主题就一定要修改,几乎没有拿来就用的可能。选主题、改主题、修改失败、重新选、重新改......这么折腾了一天,总算在藤也大神的大力帮助之下,搞定了主题的问题(其实多半都是他改的,哈哈)。

看到这里,估计应该是已经完成了所有操作吧?错!

作为一个有强迫症的人,再加上,看到前面那个同样emlog转WordPress博主的另外一个文章:

http://zhangsubo.cn/2015/01/07/对于emlog转wordpress的一点补充/

我必须严格要求,将之前的附件路径和WordPress保持统一。有了目标,我准备采取的方法是通过在数据库打命令来把所有以前日志中所有的content\uploadfile路径更改为usr/uploads,但是仔细观察发现可行性比较低,主要是emlog和WordPress的附件保存方式是不一致的,emlog是通过201601、201602、201603这样分文件夹来对每月的附件进行保存,而WordPress则是通过2016文件夹下,建立01、02、03这样的文件夹来对每月的附件进行保存。也就是说我必须分开替换,每次打命令替换一个月的地址链接,掐指一算需要打命令21次才能完成任务,这还得保证不出错。这么蛋疼的事情,只好又找来万能的藤也。

这家伙花了一顿饭的功夫,将附件路径统一的功能(包括文件转移和数据库修改)也写进先前的脚本里面去了,顺带我问起以前Bo-Blog的attachment目录下的那些附件,因为没有任何目录区分,怎么解决,这货又给我定制了一个版本,通过解析Bo-Blog附件文件名的时间戳自动分类,也做到了与WordPress统一。

完成了强迫症的治疗,终于可以安安心心的设置一下WordPress并准备使用了,这里不得不赞一下WordPress,在启用SSL这方面比emlog舒服了太多,而且附件链接也一并转化成了https,这下在Chrome里访问博客也会有安全小锁的图标了。

到了现在,终于可以说基本上完成了emlog到WordPress的转换工作,为了造福更多人,我也会在本文最后给出藤也帮我写的脚本程序,不包含Bo-Blog附件转移的那部分功能,但是从emlog到WordPress全数据转换,包括数据库的所有内容,包括附件路径统一,日志附件插入链接的自动更新等等。但是需要说明,该脚本虽然在我的这次转换中完成了工作,但由于每个人的情况各不相同,所以依然有错问题的可能,比较保险的做法是将emlog数据全部备份,并且先在本地搭环境尝试转换,成功后直接将WordPress上传就行了。不要学我,直接在生产环境下进行这种高风险操作,我的做法并不可取!

最后说一下,截至目前,还在研究关于Bo-Blog截断符、摘要、WordPress截断符、自动截断的合理性修改,理想中的情况是:

写一个判断,当有Bo-Blog截断符的时候按这个截断,没有的时候看摘要,还没有再看WP的截断,并且截断或者摘要里有图片和视频都输出。

另外,目前一些老日志的图片展示也存在问题,需要手工编辑对应日志来解决。所以转换程序的工作量真的不小啊,虽然有工具,但也不要认为点一下就什么都好了。

 

emlog 5.3.1转WordPress 4.7的脚本下载:

地址一:http://down.jevin.org

密码: 6666

Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

18 Comments
  1. 楼主你好,想知道wordpress如何实现https开头?我的服务器是支持SSL加密的。是不是需要搞一个证书?貌似现在没有免费的证书了。

    1. @严重浪漫https并不是wordpress来实现,现在腾讯云和阿里云都有免费证书可以申请,之后需要在服务器环境中去配置证书,需要用的证书的key和pem,这个有很多教程可以搜到的。

  2. 想知道博主怎么解决转换后文章评论时间问题的

    1. @往记额,没理解这是个什么问题,貌似我就没遇到文章评论时间相关的问题诶.....

  3. 感谢博主提供的工具,本地测试数据转换完好。
    我也碰到了摘要的问题,emlog都是手动摘要,然后加了图片,现在主题各种错位,删掉就没问题。但关键是上百篇文章不可能手动一篇篇去删除吧?
    不知有否办法可以清空所有文章的摘要? :arrow: :arrow:

    1. @禁爱庄园回得比较不及时,囧啊囧,我倒没有去掉摘要,我是用一个叫“WP-UTF8-Excerpt”的插件来解决的,你也可以搜搜看。
      删除摘要的话,就是找到数据库的wp_posts表,删除post_excerpt字段的所有内容(不是删除post_excerpt字段本身)应该就可以了,不过我没试 :smile:

    2. @jevin哈哈,谢谢,没事~

      我前几天已经研究出来了, :wink: :wink: 并发了篇博文,请你指导下,也给后来的小伙伴提供一些参考:http://www.loveif.com/post/613.html

      (没有找到删除post_excerpt字段所有内容的方法,貌似字段本身无法清空,所以就直接尝试了SQL语句)
      :mrgreen: :mrgreen:
      再次感谢博主提供的插件~

    3. @jevin真是的,太激动了,名字和头像地址都打错了 :grin: :grin: :grin: :grin:

    4. @晓兔个人博客哈哈,所以展示的头像看起来像是2个人。
      对,就是SQL命令直接清空就行啦,恭喜完美转入WP! :cool:

  4. 也想着转去WP了,不过似乎工作量有些大,WP模板真是太好看,主要是可以改好多东西 :razz:

    1. @森七其实还好,主要是我当时觉得em用不长久了,爆出的漏洞越来越多,更新越来越慢也越来越少。 :sad:
      所以无论我再怎么拖,最后还是得经历一次转换,就下决心搞了。 :mrgreen:

  5. 楼主!!用的转换的,然后一直提示数据库失败..怎么解决

    1. @北雁因为转换脚本不是我弄的,所以我也不肯定,不过数据库失败这类更多的可能是你的数据库信息输入有误,因为我看到有朋友在8月份留言说转换成功。

  6. 我也需要从EM转到WP了,尤其是现在数据越来越大了。另外EM现在也打不开了。

    1. @姜辰em长久不更新,确实有些地方比较麻烦了,如果自己改多了,万一官方推出6.0正式版,可能又会影响到升级。现在倒好,直接不用等官方了,也没盼头啦。直接换是明智之举,时间证明WP确实坚挺。 :mrgreen:

  7. 膜拜大神们

    1. @欣欣去看了你的博客,感觉你才是大神啊,真的!

  8. 藤也先生 藤也先生

    :mrgreen: 666666~