如何從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
Theme Stack designed by Jimmy