Wordpress to Hexo或Hugo


Wordpress 预处理

导出

访问你的Wordpress WEB管理后台, 访问 “Tools” → “Export” → “WordPress” ,将整站导出,你的浏览器将自动下载xml文件,请将该下载文件保存到本地指定地点。

评论处理

使用 Disqus 进行评论管理。请先去官网开通帐号并增加现有博客网站。 在wordpress后台安装Disqus的官方插件,设置完配置信息,启动插件的自动同步功能,将网站现有评论同步到Disqus上。 如果评论量非常大的话,推荐使用wordpress后台导出评论功能,再去Disqus官网进行导入。

迁移过程

迁移Wordpress

因为开始考虑是迁移到Hexo,因此使用了Hexo的Wordpress导入程序。

Hexo 安装并建立一个新网站

需要依赖Node.js Git ,如果你的本地电脑未安装,请先安装。

npm install -g hexo-cli
hexo init blog  #blog为网站目录名
cd blog
npm install

Wordpress 迁移到 Hexo

使用 Hexo 迁移工具

npm install hexo-migrator-wordpress --save
hexo migrate wordpress ~/Downloads/wordpress.xml # ~/Downloads/wordpress.xml为上一步下载文件。

执行完这两步后,你应该在blog目录下的source/下看到所有文章文件,后缀为md。

Wordpress 文章图片迁移

文章配图也需要迁移,否则网站文章内的配图将全部失效。 将配图迁移到七牛云(免费存储10G) 官网价格说明 注册链接

我直接从网站服务器将相关文件传输到七牛云,如果你没有网站服务器的ssh权限,也可以将目录下载到本地后再上传到七牛云。 登入你的网站服务器后,执行如下命令:

wget http://devtools.qiniu.com/qshell-v2.1.9.zip
unzip qshell-v2.1.9.zip

在七牛云注册后,访问密钥管理-七牛云 可以获得下行需执行命令提到的AccessKey/SecretKey

./qshell-linux-x64 account AccessKey SecretKey

在七牛云新建存储空间,例如将存储空间命名为it580_com(建议使用域名或二级域名,省得重复也方便自己管理)

执行以下命令,完成所有配图的上传。(注意将it580_com替换为你自己命名的存储空间)

./qshell-linux-x64 qupload2 -src-dir=/var/www/wordpress/wp-content/uploads/ -bucket=it580_com

Wordpress 文章内图片链接修改

我使用Atom做编辑器,因此就直接使用它进行所有文章内链接替换。 使用Atom打开用Hexo建立的本地新网站,选择 Find-> Find in Project.

在Find in project 输入框里输入: http://blog.it580.com/wp-content/uploads/ (请替换为你自己的域名)

在Replace in project 输入框里输入: http://abcd1234.bkt.clouddn.com/ (你的存储空间概述右侧显示的测试域名,如我这里输入的示例域名,如果你的域名已备案,请在七牛云绑定后直接使用自己的域名)

在File/directory 输入框输入: source/ (只检索和替换该目录下的文章)

点击右侧 Find All 按钮,并检查结果是否准确,如果没有问题,点击下方的 Replace All 按钮,完成替换。

本地网站测试

在本地新网站目录名,执行如下命令:

hexo server

当出现提示:

Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

使用浏览器,打开 http://localhost:4000/ 检查网站、文章是否准确显示。

Hexo 性能问题

当我完成本地网站测试后,执行了生成静态页面命令:

hexo generate

发现在本地电脑上都非常慢,而且几分钟后都未完成(我的网站才一千多的文章),因此我放弃了Hexo。转而使用Hugo。

从Hexo到Hugo

Hugo本地安装及建立本地新网站

因为我本地是Mac OSX,使用brew比较方便。(Git也是前置条件)

brew install Hugo
hugo new site hugoblog #请将hugoblog替换为你自己希望的目录名称
cd hugoblog
git init
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke #安装网站模板
echo 'theme = "ananke"' >> config.toml #配置为默认模板

如果是其他平台,直接到Hugo下载页面,下载对应版本。

将文章迁移到Hugo

Hexo 和 Hugo 均采用同一(Markdown)的文章格式(其实静态化网站生成工具基本都是该格式),因此我们只要将Hexo建立的本地新网站下的source/复制到hugoblog下的content/下。

Hugo本地网站测试

在Hugo 本地网站目录内执行:

hugo server

当出现提示:

Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

使用浏览器,打开 http://localhost:1313/ 检查网站、文章是否准确显示。

发布

这两块都比较简单,留待下次再说。

涉及的各类资源

使用程序

使用平台

comments powered by Disqus