如你所見,我遷移到了 Hugo。
這裏曾經跑着 Wordpress,那是在去年 7 月部署好上線的,到遷移的時候用了也有一年有餘。
為什麼放棄使用 Wordpress?
遷移並不是因為 Wordpress 不夠優秀,相反,Wordpress 是一套非常好的 CMS:它歷史悠久1、執行穩定、大而全、傻瓜式安裝,這些都是我當時選擇它的重要理由。2
但既然這麼寫小標題,想必大家都能猜到 Wordpress 也有很多驅動我遷移的缺點。
過於笨重: Wordpress 真的太重了,一大堆我不需要的功能在那裏擺着。對於個人網站來説, Wordpress 顯然是太多餘。笨重還帶來了嚴重的效能問題,這點也是我當時把它從香港 Azure 遷移到美國的原因——就是因為美國的伺服器更便宜。不成想, Wordpress 跑在上面卻依然消耗了超過預期的資源。與其消耗大量資源跑一個部落格程式,還不如用這些資源跑些別的。
易受攻擊: 動態網站的攻擊面很大,尤其是這種用戶基數大的程式,攻擊的收益很高。舉個例子,在我使用 Wordpress 的這一年裏,幾乎每天都有機器人爆破我的/xmlrpc.php。這還不算什麼,即使套上 Cloudflare,相同伺服器配置下,Wordpress 能承受的訪問量3也不會很高。
Markdown 水土不服: 相對於原生支援 Markdown 的部落格框架,Wordpress 對 Markdown 的支援可謂是非常差的,每次我以 Markdown 寫好的文章在 Wordpress 上釋出總要經過一些修改。不要跟我説 Wordpress 是二十多年的老軟件,就可以不相容 Markdown,只要想做,就絕對不會是現在這個樣子。
主題不合我胃口: 現有的開源 Wordpress 主題,我用過的有 MDx、Hourglass Twins 和 Argon。這幾個主題幾乎都沒有再更新或者「處於緩慢維護狀態」。既然都不再維護,樣式也或多或少的過時。
載入速度太慢: Cloudflare 在大陸的直連速度懂的都懂。雖然我自建前端資源 CDN 緩解了一部分問題,但基調依然是載入慢。
為什麼選 Hugo?
最開始,我還沒有伺服器,我的部落格是基於 Hexo 構建的4,之所以放棄使用 Hexo,是因為我當時想要評論功能,以及跨裝置編輯文章的能力5。
Hugo 沒有噁心人的node_modules,生成速度比 Hexo 快得多,主題也合我胃口,而且我也學過一點 Go,所以就決定是它了。Hugo 主題不需要學 Node.js 就可以魔改,簡直不要太舒服。
遷移
之前 Hexo 裏寫好的 Markdown 檔案基本可以直接扔到./content/post/裏直接用,不過 Hugo 對文章頭部的 yaml 要求更規範。例如:即使只有一個categories,也必須使用列表。
永久連結這個時候肯定是對不上的,改一下permalinks.toml就可以了:
| |
還有一些文章我打草稿的時間是 n 月,釋出的時候變成了 n+1 月,永久連結就變得不一樣,這些文章也要一一處理。
友鏈沒辦法,只能一個一個手動搬過來,好在本來只有十幾條友鏈,這並不是什麼難事。
評論就不一樣了,目前沒有找到什麼匯出方法,只能全部丟掉,或者日後慢慢搬過來。
部署的地方?
本來想 rclone 部署在自己的伺服器上,後來發現 rclone 太慢,也不能跨裝置編輯文章,遂放棄。
Github Pages?免了吧,太慢了6。Vercel?主 CNAME 已經被遮蔽了,感覺隨時要涼6。於是乎我就找到了 Azure Static Web App,速度還行,還免費,就它了。
然後就遇到了 CNAME 和 Apex 域衝突的問題,這個真沒辦法。CF 的 CNAME 拉平國內容易拉平到美國節點,只好新開了一個子域blog.l3zc.com並重定向了上去,算是解決了這個問題。
待辦清單
- SEO
- 評論遷移
- 圖片燈箱
- 修好 RSS feed
近況
(回憶起近況,實在有些痛苦,我暫時不太想寫這一部分。現在我試着開始寫,看看能不能寫出來)
現在沒那麼痛苦,卻早已忘記,或許這就是一種自我保護吧。

評論已停用,直到您接受功能性 Cookie。