Skip to main content

再搬家一次,再見了 Wordpress

Opass
A life well lived

TL;DR

感謝舊雨新知支持,我要撤離 Wordpress了,舊 blog 不會再更新並會在今年年底關閉,所有舊文會重新導向到新家,就是你現在看的這裡。

緣起

我從高中就開始寫網誌了,當時還是無名小站一統天下的年代,無名倒站之後搬家到痞客邦、接著因為置入廣告太多,搬家到 Blogger。最早期的文章已經找不回來了,回想起來應該都是黑歷史居多,似乎也沒什麼好遺憾的。

大學之後,開始比較多撰寫技術筆記文,嫌棄 Blogger 不太方便,又從 Blogger 搬家到 本土的Logdown,當時 Logdown 非常紅,使用 markdown 寫文章是個很舒服新奇的體驗。

期間也嘗試過用 Medium,一開始被美美的編輯模式和高雅的外觀所吸引。後來發現 Medium 開始嘗試把內容鎖在自己的生態圈內、很多文章沒有註冊的讀者是看不到的。

現在回頭看來不太意外,Logdown 還是倒了。開始工作後有一點錢,買了自己的 domain,被倒站倒怕了,決定先選用 Wordpress,畢竟 Wordpress 是個阿公等級框架,文章內容要匯出,再怎麼樣都不會太困難。不想自己維護,還是找了個相對便宜的服務商 Bluehost,花點錢就這樣在上面度過了好幾年。

Wordpress 上我裝了 Markdown 的外掛、設定程式碼 syntax highlight、防垃圾留言、挑了個喜歡的佈景主題,讓自己寫文章的過程可以舒服一點。

問題

大體上可以分成兩種,一個是 Wordpress 的問題,另一個是服務提供商 Bluehost 的問題。

Wordpress

Wordpress 就像是傳統的糟糠之妻,始終不離不棄,吃苦耐勞任勞任怨,文章網址、日期、草稿都可以在後台搞定,所有事情裝了外掛大概都做得到,就是人老珠黃,速度慢了點。寫 Markdown 沒問題,但就是沒有在 Notion 上寫筆記那麼舒服。

如果文章內容都是文字,那還好處理,複製貼上就好。但如果文章內容包含圖片就頗為麻煩,要手動上傳到媒體庫上,這就取決於服務提供商的良心了。

Bluehost

我的 wordpress 是架在 bluehost 上,主要優點有二,一個是便宜,另一個是服務很快速。

首次購買的前三年,bluehost 真的是極度便宜。當時買了 36 個月的方案,才 106 美金,一個月不用 100 台幣。

另一個是他們有 24/7 的客服,期間我有遇到兩次網站連不上的問題,都可以直接用線上的真人文字 chat 請他們解決。

天底下當然不會有白吃的午餐,便宜的代價是整個 bluehost 平台相對老舊、主機等級並不高,可以最直接的感受是網站載入速度並不快,另外整個系統感覺非常 Legacy,需要在便宜的機器下管理大量的 DNS domain、wordpress instance、靜態內容、怎麼想他們的工程師都不會太輕鬆。

期間我有遇到三個主要個大問題

  • 一是他們在三年到期後自動 renew,事前我完全沒有收到信件通知,剛好我錯過我自己三年前設定的續約提醒,直接被 renew 三年共 370 美金,讓我超級不爽
  • 二是某次他們的系統升級,我大概過了一個月才發現我的 wordpress 連不上,請他們客服手動處理才解決。
  • 三是我開始寫一些健身筆記,遇到需要大量上傳圖片說明的狀況。我發現上傳圖片到媒體庫的速度極慢,大概是每秒 30kb 左右的速度,這大大影響我更新文章的意願。

最不能忍受的是,我在搬家的過程還發現,有些早期文章的圖片指向自身媒體庫,竟然在媒體庫中遺失了,這根本不應該發生。

比較

於是我開始尋找替代方案。我想要尋找能夠方便撰寫內容的平台,增加「內部筆記」變成「可閱讀文章」的轉換率。

大致產生了兩個方向,一個是靜態平台如老牌的靜態 blog 生成器 Jekyll、較新的 Hexo、更通用的 Hugo、Gatsby。

另一個是利用 Notion 為基底,直接轉為網站的服務,如 Super.so 、其他相似的服務如 Potion.so

我把想到的考量要素寫成下表:

靜態網站生成器Notion as SiteWordpress
固定費用一次性搬遷成本一次性搬遷成本
變動費用近乎為0依照使用量計費,初期可能為0,長期會增加每月保護費
載入快嗎最快中等
容易維護嗎要定期自行升級服務商會處理好服務商會處理好
可擴充性高,取決於對框架的熟悉程度與生態系的豐富程度有限,會受限於服務商提供的工具、如安裝留言系統,甚至有些工具要付費(如流量分析)外掛大致都可以做到
穩定不會倒站嗎機率小機率中等,可能會倒站機率小,取決於服務商
寫有圖片的 Markdown 文章方便嗎看個人能力最為容易不方便
能美美的嗎取決於框架的生態系、還有要自己花時間取決於服務商的模版取決於你花多少時間挑選主題
未來好搬遷嗎還行麻煩還行

我想長期來看,如果你是一個有能力、喜歡寫文章分享的工程師,使用靜態網站生成器會是更好的選擇。

行動

比較幾個靜態框架後,我決定採用 Docusaurus,原因有三個

  1. 它是 React Base 的框架,而我今年剛好工作上有用到 React,技多不壓身。
  2. 它本來就是用來寫技術文檔的框架,風格很簡單
  3. 它的文檔簡單明瞭,沒有太多複雜的設定

真要說缺點的話有幾個,一個是風格有點陽春,沒有什麼好看的 theme plugin 可以直接套用。另一個是 Docusaurus 主要還是用於呈現文檔,blog 的功能是附加上去的。

我做了哪些事情

比完賽之後,我利用空閒的時間開始研究怎麼搬家,其實很像是在做一連串的技術決策,極吃經驗。

  1. 要架設在哪個平台,Github page 還是 Vercel
    1. 最終選擇了 Vercel,主要因素是 Vercel 可以讓 Github Repo 是私有的。
  2. 學習 Docusaurus 的設計慣例,試著先手動放幾篇文章上去,測試看看
    1. 網址的路由是怎麼決定的
    2. Markdown 的語法支援度有多高
    3. 如何插入圖片、嵌入 Youtube 影片
    4. 如何微調 css ,改掉不想要的設計
  3. 決定文章網址的路由
    1. docusaurus 有分成 docs 和 blogs,思考哪些文章要放 docs,哪些文章放 blogs
    2. 思考要用相對路由還是絕對路由、怎麼組織原始文件
  4. 把每一篇文章從 Wordpress 的資料庫匯出,寫程式轉換成 Markdown 格式
    1. AI 在這個年代真的幫助極大,以前我可能光是寫轉換程式就需要好幾個晚上,現在一兩個小時描述清楚需求、測試,就有 PoC 可以動、邊做邊調。
  5. 重新設計首頁
    1. 思考怎麼做一個簡單、乾淨又吸引人的自我介紹,挑選與修改圖片、放喜歡的短文、替描述加入超連結,這反而是 AI 時代最困難的部分「定義自我風格」。
    2. 思考要放哪些社交連結?要公開哪些聯繫方式?
      1. 這個年代已經沒有隱私。任何人都可以輕易找到你的身家資料,因此要做的事情是「主動公開」,讓你想要的人找到你。
  6. 安裝留言板,這純粹是個人的自我滿足,沒有留言板的地方只是一言堂,有留言板才有 Feedback。
  7. 安裝 Tracking 未來才能夠分析流量
  8. 設定網站的 OpenGraph,這樣文章被分享時會比較好看
    • 網站的 title、description
    • 思考 Tagline (一句描述網站的口號)
    • 設計預覽圖片
  9. 設定舊站重導向、定義重導向規則,等DNS propagation,確保每個舊文章都能被重新導向到新站。

大致花了一個月才算完成。