如何从WordPress迁移到Hugo

为什么要迁移

  1. wordpress的网页MD编辑器功能比较弱,使用时容易出问题,容易把编辑丢失。hugo你可以自己选择本地的md编辑器,效率更高。
  2. wordpress的图片,需要先上传,然后在md文件里引用。 hugo放在一个目录下就可以直接引用。
  3. wordpress需要安装数据库,PHP,对服务器的要求高,维护也麻烦

迁移过程

安装hugo

https://gohugo.io/getting-started/quick-start/ 安装并完成初步设置

导出wordpress的 md 文件

使用这个 https://github.com/SchumacherFM/wordpress-to-hugo-exporter 导出

在WordPress的插件目录wp-content/plugins/下,直接克隆”WordPress to Hugo Exporter”的源码

1
2
3
$ git clone https://github.com/SchumacherFM/wordpress-to-hugo-exporter.git
$ cd wordpress-to-hugo-exporter
$ php hugo-export-cli.php

该命令会在本地生成一个hugo-export.zip文件

解压文件后,主要有以下几个部分:

  • config.yaml: Hugo的配置文件,这个我们会重写
  • posts: 该目录下有所有的博客文章,都是MD文件,文件名带日期,所以可以按日期排序
  • wp-content: 该目录下主要就是uploads目录,里面放着所有之前上传过的媒体文件。WordPress是按年和月分开存放的。 如果你还创建了其他页面,则有其他页面名称的目录,里面也是放着MD文件

查看任一MD文件,你可以看到开头的YAML部分 ,文章标题、作者、创建时间、URL地址、分类、标签等信息都有。另外还有一个摘要信息,但是一般Hugo主题不识别”excerpt”摘要,你可以把它改为”description”,这样,该部分就会变成网站页面header上的”meta descrpition”的内容。 至此导出工作完成

导入MD文件

一般是把导出的文件放到 /content 目录下, 具体的要参考你theme的文档, theme的选择https://themes.gohugo.io/

生成网站并上传

1
2
hugo
rsync -azv public/ root@youre_server_ip:/your/folder/
记录并分享
Built with Hugo
主题 StackJimmy 设计