因為經歷了「Blogger 網誌被刪除」事件,我計畫將出事的網站搬到自架站,可以避免網站寄人籬下時,需要應付平台的各種合理或不合理規範,不過有相當多問題要解決:
/年份/月份/xxxx.html ,跟其他平台截然不同,所以搬遷網站最重要的就是,能否將網址結構移轉到新平台。
經研究後,只要不是搬到其他部落格/架站平台,而是使用自架站的方式,都可自行設定網址結構,所以只須挑選合適的自架站平台。
2. WordPress最多人使用、最知名的部落格自架站平台為 WordPress,但是經過深思熟慮後,暫時沒有採用 WP 的打算:
- 要搬到哪個平台比較適當?如何抉擇各種自架站平台?
- 能否沿用 Blogger 網址結構(才能不影響 SEO)?
- 如何克服主機(或是網站託管平台)的流量或其他限制?
- 能否匯入 Blogger 文章(是否支援 Blogger 匯入格式)?
- 後台編輯界面是否合用?能否多人協作?
- 能否從瀏覽器進入後台?有網路就能進入後台?
- 能否自動備份網站,預防網站發生任何意外?
一、如何決定架站平台
1. Blogger 網址結構 Blogger 文章的網址結構為- 後端需要投入時間熟悉 php 語言
- 挑選主機商太麻煩,找了便宜的可能日後有糾紛,還須跟主機商周旋。找了貴的可能比較穩定,但目前沒營利,先期投資成本太高。
- 網站流量若短時間衝高,可能會被主機商關閉,必須購買更高等級的主機。但若高流量並非常態時,就會讓花費不成正比
二、如何選擇架站工具
1. GitHub 如何架站 GithHub 提供了「GithHub Pages 架設靜態網站」功能,只要上傳 HTML/JS/CSS 就能呈現一個靜態頁面。 但總不能整個網站都用雙手刻出來,如此太花時間,因此有了「靜態網頁產生器」(Static Site Generator)這樣的工具產生,加快我們的部落格架站速度。 2. 靜態網頁產生器這篇「8 個靜態網頁產生器」整理了這些熱門架站工具:- Jekyll: Ruby
- Hugo: Go
- Gatsby: React
- Next.js: React
- Hexo: Node.js
- Eleventy: Jekyll 的 JavaScript 替代品
- VuePress: Vue.js
- Nuxt.js: Vue.js
- 比較知名、較多人使用
- 社群討論多,華語使用者相當多
- 主題很多
三、如何選擇網站託管平台
1. GitHub Pages 的侷限開始使用 GitHub Pages 之前,需要了解免費的前提下有哪些限制,可參考官方文件「GitHub Pages 使用限制」,以下列出比較重要的幾點:- 公開儲存庫才能使用 GitHub Pages
- 不可商業使用
- 檔案上傳空間限制為 1GB
- 每月傳輸頻寬為 100 GB
- 每小時部署次數上限 10 次
- 每月傳輸頻寬為 100 GB
- 每月佈署時間 300 分鐘
- 每月傳輸頻寬為 100 GB
- 每月佈署時間 100 小時
四、如何匯入 Blogger 文章格式
平台問題都解決後,接下來要研究如何將 Blogger 文章轉換為 Hexo 能讀取的格式。在 Hexo 官網「Plugins」有看到兩個相關工具,之後撰寫 Hexo 系列文章時會再說明。五、如何處理後台編輯、協作問題
1. 本地後台編輯官網提供的外掛之中有個「Hexo Admin」可以進行後台編輯,但只能從本地 localhost 執行。如果沒有特別用途,也許這樣就夠用,那麼就可以跳過這個章節的剩餘部份。 2. 雲端後台編輯如果希望比較有機動性,在各處有網路的環境就能上網進後台編輯,而非只在自己電腦才能作業,那麼得為 Hexo 安裝 CMS 後台管理功能。因為網站架在 GitHub,可選擇「git-base CMS」(基於 git 的內容管理系統),這篇「9 best Git-based CMS platforms」介紹了 9 個知名的工具,雖是英文頁面但可翻成中文看說明。 直接說結論,挑選原則如前所述,越多人使用的越好,「Decap CMS」是免費開源專案,有龐大的社群討論,遇到問題容易找答案,其前身就是非常知名的 Netlify CMS。後來母公司 Netlify 決定專心做「網站託管平台」這一塊,乾脆把 Netlify CMS 獨立出去,之後才改名為 Decap CMS。 3. 多人協作後台如果除了上網編輯後台,還希望多人協作的話,就可選擇 Decap CMS(Netlify CMS) 配合 Netlify,使用其特有的 Netlify Identity 服務,管理最多 5 個使用者(免費版)。 因為兩者原本是同一家,Decap CMS 官網說明文件甚至有「搭配 Netlify Identity」的操作說明,是多人協作最簡便的方案。六、如何自動備份網站
Github 提供了一個自動執行的工具「GitHub Actions」,可以設定在 "執行特定動作時"觸發一連串動作,也可以設定 "定時執行"。 那麼要自動備份網站,就可利用 GitHub Actions 定時執行 "複製儲存庫的檔案"到指定位置即可。 其他需要注意的地方,可參考「Github Action 經驗分享」,例如私有儲存庫每月執行時間為 2000 分鐘。七、Hexo 安裝
開始 Hexo 架站之前需要決定、研究的主要問題有以上這些,找出解決方案後終於可以開始正式架站,而過程中需要解決的問題,數量及耗費時程又是遠遠超過本篇的內容,將會另外撰寫系列文章作為紀錄。更多 Hexo 相關文章: