經營部落格多年,我從 GitHub Pages、Netlify 一路摸索到 Cloudflare Pages,過程中踩過無數坑。一開始的部署方式簡單,但隨著需求成長,各種環境依賴、快取錯誤、協作困難逐一浮現。直到我轉用 Cloudflare Pages,一切部署與維運問題才迎刃而解。這篇文章會分享我從 GitHub Pages 轉向 Cloudflare Pages 的歷程與實戰心得。
我曾經怎麼部署部落格?(踩坑回顧)
許多年前,剛開始經營部落格時,我採用的是最基礎的部署方式:在本地建構好靜態網站,然後將產生的檔案推送到 GitHub Pages。這種做法簡單、入門門檻低,也讓我快速地把網站公開到網路上。
然而,隨著網站內容增加、功能需求變多、開始有多端協作,以及想要優化使用者體驗時,這套「本地建構 + Push」方式逐漸顯露出不少痛點:
- 依賴個人環境:每次部署都要確認自己的 Node.js 版本、套件依賴沒問題,不同電腦之間還會出現「在我機器可以」的問題。
- 缺乏自動化流程:所有步驟都要手動操作,沒有自動測試、Lint、型別檢查,也無法做到 Pull Request 自動預覽,團隊協作時容易出錯。
- 沒有預覽環境:每次只能針對主線部署,要讓其他夥伴審查介面或功能,只能截圖或自架測試站,非常不便。
- 安全與權限管理不足:誰都能 Push,操作失誤很難追蹤,沒有審計紀錄,線上穩定性難以保證。
- 全球存取速度有限:GitHub Pages 節點有限,亞洲速度常常不理想,遇到靜態資源更新有時還要等快取失效。
- 缺乏進階功能:純粹靜態網站,無法用 SSR、API 路由、Edge Function 等現代功能,遇到多語系、A/B 測試等需求就無法應對。
- 維運監控困難:發生錯誤或效能瓶頸時,缺乏即時的監控數據與日誌,難以及時排查與優化。
那段時期,我深刻體會到本地建構 + Push 雖適合個人小型專案,卻難以支撐現代網站的專業需求。這也促使我開始尋找更現代化、穩定且高效的部署平台,最終選擇了 Cloudflare Pages 等新一代解決方案。
為什麼我改用 Cloudflare Pages?
Cloudflare Pages 帶來的升級相當明顯。全球節點遠多於 GitHub Pages,用戶不論身在何處都能享有快速穩定的載入體驗。此外,它還支援自動 SSL、簡化的網域設定與完善的持續部署機制。同時,Cloudflare Pages 原生整合 Functions、R2、D1 等現代雲端服務,讓靜態網站也能輕鬆擴展 API、資料存取等伺服器功能。而 GitHub Pages 雖然適合入門與個人專案,但在效能、彈性、安全性與團隊協作便利性上,已明顯落後於 Cloudflare Pages,難以滿足現代網站開發需求。
Cloudflare Pages 擁有超過 300 個全球節點,網站內容會自動同步到 CDN,無論用戶身處亞洲還是歐美,訪問速度都極快,面對突發流量也能穩定應對。自訂網域設定非常簡單,SSL 憑證自動配置與續期,HTTPS 安全連線無需擔心。
此外,Cloudflare Pages 與 GitHub/GitLab 整合緊密,每次 push 代碼即可自動建構部署。針對 Pull Request,還會自動產生預覽網址,讓團隊協作、審核與測試流程變得更加輕鬆高效。
除了靜態網站部署外,Cloudflare Pages 亦支援 Pages Functions,能實現 API、SSR 或表單等進階功能,突破純靜態限制,滿足現代網站的彈性需求。Cloudflare Pages 還能無縫整合 R2 儲存、D1 資料庫與 Workers 等服務,輕鬆打造具備後端能力的全端網站。速度快、彈性高,還能直接實作 API 或動態功能。
高效能與安全性同樣是 Cloudflare Pages 的強項。自動圖片優化、快取、HTTP/3 傳輸協定提升載入效率,內建 DDoS 防護和網站分析工具則保障網站安全與營運穩定。這一切都讓我專注於內容創作與功能開發,無需再為部署與維運煩惱,是現代架站與託管的最佳選擇。
Cloudflare 和 GitHub Pages 有什麼差?
功能/項目 | Cloudflare Pages | GitHub Pages |
---|---|---|
CDN 節點數量 | 300+ 全球節點,自動 CDN | 極少數(以美國為主),亞洲速度較慢 |
自訂網域設定 | 一鍵自動,SSL 自動開通 | 需手動設置 CNAME,SSL 易失效 |
HTTPS/SSL | 自動啟用及續期 | 需額外設置,偶爾需手動維護 |
自動部署 | 與 GitHub/GitLab 深度整合,push 自動部署 | 需推送到特定 branch,自動化彈性低 |
預覽網址 | PR 自動產生獨立預覽 | 無,協作審核需額外配置 |
伺服器端邏輯 | 支援 Pages Functions,實現 API、SSR、表單等 | 僅支援靜態網站 |
擴展性 | 可串接 Workers、R2、D1 等多元服務 | 功能有限 |
自動圖片壓縮/WebP | 內建自動優化 | 無 |
DDoS/安全保護 | 內建 DDoS、防機器人、防火牆等 | 無 |
流量/帶寬限制 | 免費方案不限流量、帶寬、建構次數 | 有限制(如倉庫大小、流量等) |
CI/CD 支援 | 原生支援,亦可結合 GitHub Actions、CLI、API | 部分支援,彈性有限 |
價格 | 免費/企業升級,免費方案已足夠 | 完全免費,但資源有限 |
綜合來看,Cloudflare Pages 幾乎在每個關鍵面向都優於 GitHub Pages,無論速度、彈性還是自動化都極為出色。
Cloudflare Pages 部署教學:3 步驟快速上線
不論你用的是 Astro、Vite 打包的 React、Vue 或 Svelte,Cloudflare Pages 都能無縫部署,尤其適合現代靜態網站與前端專案。只需將 GitHub 或 GitLab 倉庫連接 Cloudflare Pages,設定建構命令(如 npm run build
)和輸出資料夾(如 dist
或 build
),點擊「部署」即可獲得專屬 *.pages.dev 網址。
每次 push 或 PR 都會自動建構部署,產生獨立預覽網址,協作體驗極佳。自訂網域也很簡單,Cloudflare 網域自動加入 DNS 與 SSL,非 Cloudflare 僅需設置 CNAME 也能自動啟用 SSL。環境變數可在專案設定集中管理,避免硬編碼。
雖然支援 Pages Functions 可實現 API 或 SSR,但對於純靜態網站、Astro、Vite 項目來說,Cloudflare Pages 幾乎是部署零門檻、效能極佳的首選。
免費也能用?資源與方案解析
Cloudflare Pages 免費方案為現代網站提供了極高的可用性與彈性。不限流量、帶寬、建構次數,並支援自訂網域、SSL 憑證、全球 CDN、預覽網址、環境變數及自動化部署,這些特性讓個人、開源或中小型網站能以極低門檻享有企業級的服務。即使是免費方案,也能確保網站在全球各地穩定快速運行,省去繁瑣的伺服器管理與維護支出。
Cloudflare Pages 不僅適用於簡單靜態網站,更因為原生整合 Functions、R2、D1 等現代雲端服務,讓網站具備擴展 API、伺服器端渲染、表單處理等能力。這意味著從單頁應用到全端架構,都能在 Cloudflare Pages 平台上流暢運作。每次 Push 或 Pull Request 都能自動產生獨立預覽,確保開發協作流程順暢且易於審查。
在安全性、效能與自動化部署上,Cloudflare Pages 完全達到生產環境需求。原生支援自動 SSL、HTTP/3、DDoS 防護與即時網站分析,讓網站從開發到上線都無後顧之憂。這些現代化的基礎設施與易用的操作體驗,使 Cloudflare Pages 成為值得信賴、可正式用於生產環境的網站託管解決方案。
使用 React + Vite 部署到 Cloudflare Pages 實戰指南
部署 React 搭配 Vite 的專案到 Cloudflare Pages,流程簡單且高效。以下整理從專案準備到實際部署的完整步驟,適合團隊協作與現代前端開發需求。
-
專案準備
確認已安裝 Vite 並能正常執行建構指令:npm run build
Vite 預設會將靜態檔案輸出到
dist
目錄。 -
推送至 GitHub
將專案原始碼 push 到 GitHub 儲存庫,確保主要分支(如 main 或 master)可供 Cloudflare Pages 取得。 -
在 Cloudflare Pages 建立專案
- 登入 Cloudflare,進入 Pages 控制台,選擇 Create a Project
- 授權並選擇對應的 GitHub 儲存庫與分支
- 框架類型選擇 Vite,Cloudflare 通常會自動偵測建構指令與目錄(npm run build / dist)
- 點擊 Save and Deploy 開始首次建構與部署
-
自訂建構設定(可選)
若有特殊需求,可在建構設定頁面修改建構指令與輸出目錄,例如:- Build command:
npm run build
- Output directory:
dist
- Build command:
-
進階 wrangler 設定(可選)
需要自訂 Functions、環境變數或 Cloudflare 相關進階功能時,可在專案根目錄新增wrangler.jsonc
檔案:{ "name": "my-react-vite-app", "pages_build_output_dir": "./dist", "compatibility_date": "2024-05-01" // 可加入 "env" 欄位設定環境變數 }
-
自動部署與預覽網址
未來每次 push 或 PR,Cloudflare Pages 會自動建構並產生專屬.pages.dev
預覽網址。
亦可在專案設定中綁定自訂網域,SSL 憑證會自動處理。
Cloudflare Pages 原生支援 Vite、React 等現代前端技術,結合自動部署、預覽、SSL 以及 Functions 擴展能力,是部署 React/Vite 專案到生產環境的理想方案。全流程 GitHub 驅動,適合團隊協作與敏捷開發。
Cloudflare Pages 值得推薦嗎?我的總結
對我來說,Cloudflare Pages 是目前最符合現代開發需求的網站託管平台之一。它結合了極致的全球 CDN 性能、完善的自動部署流程、彈性的自訂網域與 SSL 支援,並能無縫擴展到 API、資料庫與無伺服器運算,讓網站建置與維運變得前所未有地輕鬆高效。無論是個人開發者還是團隊協作,都能專注於創造內容與功能,將繁瑣的部署與安全細節交給 Cloudflare Pages 處理。對我而言,這正是現代網站架構應有的樣貌。
如果你也想讓部署變得簡單穩定,我會推薦直接試試 Cloudflare Pages。這篇文章若對你有幫助,歡迎留言分享你的部署經驗,我也會持續更新更多實作技巧與教學。
如果你有 AI 專案、網站開發或技術整合需求,歡迎來信交流: partner@calpa.me
歡迎訂閱 Calpa 的頻道,一同將想像力化為可能: