博客从wordpress迁移到Ghost

Ghost不支持wordpress中的文章URL格式,又舍不得已经外链着的链接失效,也就一直没有将博客从积重难返的wp迁移到Ghost。

不过今天本着破罐子破摔、不折腾的会死,实在很想用markdown来写博客,不懂PHP……的精神一试,结果发现过程异常顺利^-^

迁移wp博客图片

这个地方讨巧的使用了七牛的云存储。

  • 注册七牛免费账户,
  • 安装七牛wordpress插件,配置,测试成功(访问你博客文章时,博文图片链接已是七牛链接)

通过这两步基本就可以确保你不用费力的转移图片,而且图片放七牛+CDN,节省空间,加速访问,何乐而不为?

导出wp中博文

安装配置Ghost

  • 我这边一直使用的digitalocean的最低配vps,5$/月,相对性价比较高推荐使用(上述链接为我的推荐链接,你使用会得到10$优惠,我自然也有收益,阿弥托福),使用的是do的一键安装Ghost,你也可以用其他方法安装,在此不再赘述。
  • 按照do官方教程配置域名等信息。
  • 首次访问配置Ghost登陆信息
  • 至此成功安装Ghost

导入wp博文

  • 在Ghost后台(/ghost/settings/labs/)导入之前导出的json格式的文章
  • 稍等片刻访问博客,应该可以正常访问啦~~

到这里,转移工作已近完成,客官也便可以散场啦,如果你的就wp文章访问数据还不错,或者博文有代码数据,下面的优化工作也建议做做。

兼容wp旧的博文链接

大多安装Ghost都会搭配nginx使用,可以使用nginx的反向代理兼容之前旧的博文链接,操作也很简单:

以hicc.me为例http://hicc.me/post/promises-angularjs-explained-as-cartoon.html 是wp下的博文URL,转移之后变成http://hicc.me/promises-angularjs-explained-as-cartoon/ 为了兼容,可以在nginx配置中加上下面的规则(感谢小乐帮忙)

rewrite ^/post/(.*)\.html /$1/ permanent;  

类似tag的URL也建议兼容

rewrite ^/post/tag/(.*)/ /tag/$1/ permanent;  

即可很好的解决转以后链接无法访问的问题,按照这个思路解决其他格式的URL问题,应该不难。

其他优化处理

  • 如果wp之前便在使用Disqus评论系统,转移之后还可以同样使用Disqus,并且Disqus有Redirect Crawler功能,可以实现评论的转移。
  • 配合七牛,又拍云等实现静态文件的云存储+CDN,可以参考http://birdgg.me/ghost-support-qiniu/不过我没尝试成功,线上很难debug,之后再做处理,还可以在安装Ghost时候,直接安装http://www.ghostchina.com/提供的中文增强版,支持七牛,又拍云,等。
  • 如果你的访客在国内,建议停用Google font,网上的方法较旧,可以参考这篇文章,修复config.js文件重启Ghost即可。
  • 如果博文有代码,Ghost的wp导出插件对其支持并不完善,建议使用markdown语法手动修复,这些就属于体力活了。
  • 最后值得一提的Ghost从0.5.2之后默认支持Structured Data,也支持支持了twitter card的meta格式,不过你需要首先将你的域名添加到twitter card的白名单:很好添加,访问https://cards-dev.twitter.com/validator填入你的域名,它自会提醒你申请白名单,几秒钟便会成功,之后任何人分享你的博文,便会像下图一样将你的博文摘要直接嵌到twitter中(默认关闭)。

hicc.me twitter card

--

题图来自publicdomainarchive.com

小刀

Read more posts by this author.

Subscribe to cc log

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!
comments powered by Disqus