从WordPress到Habari的转换
有把现在这个Wordpress博客迁移到Habari的打算,主要是想抛弃Mysql,尝试一下轻量级的Sqlite,而且Wordpress在集成的道路上是越走越远了,臃肿庞大的身躯对服务器资源的占用也越来越让我感到不爽。一个个人博客平台而已,至于吗…已经建立好了一个Habari Sandbox博客,所有的文章和评论已经很完美的从wordpress导入到了habari,下面说说转换过程中遇到的一点小问题。
我这个Wordpress Mysql数据库编码是UTF-8的,导入目前最新Habari SVN,所有的中文字符会变成“??”,解决方法是修改/system/plugins/wpimport/wpimport.plugin.php这个文件,约摸第210行左右,找到:
$wpdb->connect( “mysql:host={$db_host};dbname={$db_name}”, $db_user, $db_pass, $db_prefix );
在它的下面添加一行:
$wpdb->exec(“SET NAMES UTF8″);
然后到Habari后台激活这个从wordpress转换到habari的插件,再导入就可以了。
我这个Wordpress博客一直没有使用tag,Habari那边却只有tag没有category,所以所有的wordpress分类都会转换成habari tag。由于habari目前还没有给tag自定义url的功能,所有的中文tag url在IE下会变得比较臃肿。比如我现在wordpress的虚拟主机分类url是:
- http://www.onepx.com/category/webhost
导入到Habari以后在Firefox下会显示:
- http://www.onepx.com/tag/虚拟主机
在Internet Explorer下会显示:
- http://www.onepx.com/tag/%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA
对我这里来说,就是要编辑.htaccess文件,写一条301重定向规则,这个问题也算能解决。
还有一个url的问题是我每篇wordpress post的链接都带.html,默认的habari链接结构是http://xxx.com/post。转换到habari后url结构不发生变化是最好的,这个问题不难,天佑的Habari – RN Custom Permalink Plugin可以很好的解决这个问题。
最后一个问题是没有解决的,也是最让我难受的。我的Wordpress每篇文章都有Excerpt(摘要),存储于Mysql的post_excerpt表格中,这部分在我这里的header.php中是作为meta description出现的。Habari中可以使用一个叫做Post Fields的插件,可以轻松实现meta description/keywords、以及wordpress中Custom Fields(自定义字段)的所有功能,储存于数据表格habari_postinfo中。我尝试修改上面提到过的wpimport.plugin.php,让wordpress数据库中的post_excerpt可以被转换到habari数据库的habari_postinfo,但是我失败了…这就可能意味着我要手动给200多篇Habari文章手动添加meta descritpion…无法接受!
最后一个问题还在研究解决中,一旦有所突破,就准备把我现在这个博客从wordpress转换到habari。

恭喜你找到了一条很人性化的道路, 人肉.
[回复]
@楼上
人肉转换这种事情我是不干的…不像某人…
[回复]
welcome to habari :D
[回复]
咦,貌似现在又换回WP了?
[回复]
@dupola
文章最后说啦,是准备转,还没有动手呢,excerpt是个很烦人的问题。
[回复]
如果habari能像WP那样可以修改文章的URL就好了。
另外,你不是把博客当作日记来写的么,这样还在乎网页描述吗?让空着也没有什么问题吧?
[回复]