WordPress 到 ExpressionEngine 及 SaBlog-X 的数据转换

聊过 WordPress 、 ExpressionEngine 与 SaBlog-X 的优缺点后(见 闲谈 WordPress ExpressionEngine SaBlog-X ),接下来我说一下数据转换的问题。如果你喜欢 ExpressionEngineSaBlog-X ,但却无法将 WordPress 的数据导入到新的系统中,那不是很郁闷吗。

ExpressionEngine 自带的导入脚本很有限,只有一个 Movable Type Import Utility 。所以 WordPress 到 ExpressionEngine 要经过一个中间步骤,那就是将数据导出为 Movable Type Import / Export Format ,然后再倒入 ExpressionEngine 。最近, WordPress 版本更新很频繁,导致以前的的几个导出脚本都失效了,我在 Instructions on how to run the export script 找到的脚本还能使用,适用于 WordPress 2.3.x-2.7 。为了方便,我已经打包在下面的附件里了。

导出数据以后,就简单了,按着 Movable Type Import Utility 提示做就可以了。只是无法将 WordPress 的 Permalink (或者叫做 post slug) 导入到 ExpressionEngine ,希望以后有达人能修改一下导入导出脚本,那就好了。

WordPress 到 SaBlog-X 1.6 的数据转换在 SaBlog-X交流论坛 就有相应的脚本,不过 SaBlog-X 需要在数据库中保存日志的段落符、换行符等,而WP没有,所以导入WP的数据后,Sablog-X 的段落都是挤在一起的,我对它做了一点修改,利用WordPress 的 wpautop() 函数,在数据导入之前,先将日志格式化。这样,转移数据后就不用手动一篇篇的更改日志了,日志多的时候那可是一项体力活。

SaBlog-X 2.0 到 WordPress 的数据转移可以参考 Utombox 的 SaBlog export WordPress eXtended RSS ,ExpressionEngine  到 WordPress 的迁移目前还没发现简单的方法。

附件WordPress 到 ExpressionEngine 及 SaBlog-X 1.6 的数据转移脚本

闲谈 WordPress ExpressionEngine SaBlog-X

我一直想找一个理想的 CMS ,现在比较看好的有 WordPressExpressionEngineSaBlog-X,但在这三个中做一个选择却有点困难。

我们先说说它们的优点吧:

  1. WordPress
    插件众多,扩展性强,模板丰富,升级方便。WordPress 是开源软件,而且也是世界上使用人数最多的博客程序,遇到问题的时候不会发生找不到人交流的情况。这也是导致同类程序两极分化的一个原因,用的人越多,作者开发越积极,于是越来越好;反之则渐渐被冷落。WP定制性很好,配合插件甚至可以实现 tumblelog 、图片博客(photoblog)、链接目录(link directory)等另类用法。
  2. ExpressionEngine
    凭借优秀的模板系统,ExpressionEngine 在网页设计师中的评价很高。模板的灵活性是一般程序无法相比的,插件数量一般。可定制的内容表单,有这个可以做各种各样的网站了。即将发布的 2.0 版本采用 CodeIgniter 框架,全新设计的后台界面,更优美、更人性化。(大家可以看一下我写的 ExpressionEngine 2.0即将发布,管理面板新界面值得期待 )。使用 ExpressionEngine 构架的网站,值得推荐有两个: Veerle’s blogBartelme Design
  3. SaBlog-X
    国产的博客程序,卓越的访问速度和负载能力,可以在极为繁忙的服务器环境下快速稳定运行。强大的 Spam 信息防御机制和内置 WAP 浏览功能,给 Blogger 带来了很多方便,至少不用再为盯着你不放的 Spammer 烦恼了。开发中的 2.0 版本对 SEO (搜索引擎优化)及模板系统都做了大量改进。活跃用户:tension.name,他也是 Sablog-X PLUS 的开发者。

再说说它们的缺点吧:

  1. WordPress
    性能低下,访问量较高时对数据库的压力很大,CPU 时间占用会飙升。即便开启内置的 Cache 或者使用 Cache 插件,效果还是那样糟糕。模板使用 php 标记嵌套,要求有一定的 php 基础。功能越来越多,但最基础的性能却没多大改进。
  2. ExpressionEngine
    ExpressionEngine 是一个商业程序,其中 ExpressionEngine Core 对个人免费,但是 ExpressionEngine Core 连最基本的tag功能都没有,有点可惜。URL唯一性 很差,经常是多个 URL 指向同一个页面,这对SEO来说相当糟糕。就这一点来说,WordPress 做得很到位。
  3. SaBlog-X
    插件几乎没有,模板也很少,毕竟使用的人较少。模板中许多变量的参数都写死了,不利于设计个性化的模板。同样的 URL唯一性 很差。

总结一下,如果只想纯粹地写博客,推荐 Sablog-X 。如果喜欢捣弄网站,需要各种功能,那么 WordPress 是你的不二选择。喜欢网页设计,需要经常展示给客户的, ExpressionEngine 很适合你。
三个程序中,我觉得值得赞扬的有:WordPress 的编辑器及内置的tag系统,Sablog-X 的负载能力,ExpressionEngine 的模板系统。

我的建议是:

  • WordPress 不要吝啬数据表,把附件跟 post 分开比较好。
  • SaBlog-X 不要把日志中 html 标记写进数据库,这样可以减少数据库中的垃圾,格式化内容还是放在输出的时候比较好。
  • ExpressionEngine 内建tag系统是相当有必要的,实现起来应该不困难。集成一个所见即所得编辑器可以带给用户更好的体验。

就到这吧,说的有点罗嗦了。