什麼是 CMS
CMS——內容管理系統,基本上就是一套用來管理網站的系統,其中最廣為人知的就是 WordPress。
為什麼不用 WordPress
我不想用 WordPress,因為我不喜歡它的 UI 開發體驗。我比較偏好用寫程式的方式來做。不過,我喜歡用它寫部落格文章的簡單程度,也喜歡它搭配各種外掛後能有多強大。但如果你不需要那麼多東西,一個簡單的免費靜態網站就夠了,一年 $9 美元,而且不需要伺服器。
現在再加上一套開源 CMS,你就可以開始了。
尋找 CMS
過去幾個月,我陸續試過幾套不同的 CMS,像是 Tina、Netlify、Sanity。
我現在用的 CMS 是 Tina,我覺得還行。但我搭配 Astro 使用的範本有些大大小小的問題。算不上順利,但至少能用。
基本上,我只想要一個簡單的靜態網站部落格。我原本在 11ty 網站上用 Netlify(Decap),但想試點新東西,所以現在改用 Astro 搭配 Tina 來體驗看看。
我希望我早點知道的事
當我研究 Reddit 上大家推薦的每一套 CMS 時,我看到了 Sanity 和 Payload。
我希望我早點知道無頭 CMS 和非無頭 CMS 之間的差異。
無頭 CMS 與非無頭 CMS
Sanity 和 Payload 的不同之處在於它們是無頭的。
無頭 CMS 的意思是內容(例如部落格文章、頁面)與你的前端分離。資料儲存在伺服器上,可以是自架或託管在他們的雲端。而你的前端只要呼叫 API,就能以 JSON 格式取得這些資料。
至於我用過的無頭 CMS,像是 Netlify 或 Tina CMS,則不需要伺服器就能運作。「管理」系統只是顯示你網站的資料並直接修改它們,然後為正式環境重新建置整個專案。此外,部落格文章是以 markdown 撰寫的,所以每當你寫了一篇新文章,你的原始碼資料夾裡就會多出一個新的 .md 檔案。
所以,一個有伺服器,一個沒有。一個可以說是用 JSON,另一個則是用 Markdown。
當然,沒有伺服器的那個比較容易設定,而且在大多數情況下營運成本也比較低。
我不理解的地方
市面上的 CMS 實在太多了,我已經省略了一大堆。每一套的運作方式都略有不同,但大部分都一樣。
我能理解為什麼大家直接就用 WordPress。它歷史悠久,每個人都知道怎麼用,而且不管你喜不喜歡,它既強大又能擴充。
至於替代方案,Sanity 不錯,因為它有相當慷慨的免費方案,而且不需要自己架設後端。若講求易用性,或許 Netlify 和 Tina 就夠了。但當你想要擴充時,Sanity 似乎是更好的選擇。或者你也可以繞回 WordPress。
不過,我不理解的是,它是不是無頭、是不是用 markdown,長遠來看到底有什麼關係?
想來,自架的無頭 CMS 後端可以運作很久,沒有廠商鎖定的問題。但你仍然得讓自己遷就於使用某一家的無頭 CMS 系統來儲存和取得資料。
另一方面,Markdown 基本上在每一套非無頭 CMS 都能用。只是你可能得在網站上儲存成千上萬個 markdown 檔案,甚至更多,這似乎不是長遠之計。
結論
所以,我現在不在乎了。
就用你喜歡的吧,等到部落格文章累積到好幾萬篇再說。到那時候,我應該已經賺了一些錢,可以請個開發者把網站遷移到當時很酷的新 CMS。實在不怎麼想為這件事煩惱。