這篇在講什麼
我把 GitHub Pages、Vercel、Cloudflare 三家攤開來查證一次:各自適合扮演什麼角色、免費方案給到哪裡、付費要多少、以及最容易被忽略的商用條款限制。所有數字都附官方出處。最後給一套在只付網域費的前提下就能跑起來的架構,和五個該升級付費的判斷條件。
- 你有一個官網,上面已經寫了課程和價格,但你不確定現在放的地方合不合平台條款。
- 你在 GitHub Pages、Vercel、Cloudflare 之間選不定,網路上的比較文又都沒寫價格細節。
- 你是講師或顧問,要幫客戶決定網站放哪裡,但你不想憑印象報一個數字。
- 你想知道「免費」到底免費到哪裡,什麼時候會開始收錢。
- 三家的角色定位,一句話講清楚誰該做什麼。
- 一張三家免費與付費額度的查證表,每個數字都附官方出處與查證日期。
- 兩條會讓人踩雷的商用條款,一條在 GitHub、一條在 Vercel。
- 一套零月費起步的架構,以及五個明確的升級觸發條件。
一個具體問題
我自己的官網上面有一對一陪跑顧問的價格,也有課程資訊。它已經是一個商業網站。
同一時間,我打算幫講師、顧問和商用客戶架網站。而我目前的預算立場很清楚:我只打算付網域費。
這件事逼我把三家平台的條款和價格逐條查一次,因為「免費」這兩個字在三家的意思都不一樣,而且其中兩家的條款裡有會讓商業網站踩雷的句子。
先看三家的角色分工
如果你只想知道結論,看完這一段就夠了。後面三段是各家的價格細節,需要算錢的時候再回來查。
| 平台 | 我給它的主要角色 | 我不會叫它做的事 |
|---|---|---|
| GitHub | 原始碼與內容來源、版本歷史、遠端備份、協作與衝突處理,以及公開靜態展示 | 當完整會員平台、當商業網站主機 |
| Vercel | 快速部署、Preview 預覽、前端框架與 Serverless Functions(不用自己養一台伺服器,需要時才跑一小段程式),適合願意付 Pro 的商用團隊 | 用 Hobby 跑任何商業網站 |
| Cloudflare | 商用正式網站的免費起點:Pages 靜態、Workers 伺服器邏輯、D1 權限資料、R2 私有教材、Access 固定人員門禁、DNS 與 CDN | 以為開好帳號就自動有會員系統 |
最後那一格我要展開講,因為它是最容易被誤會的地方。
會員登入、購買紀錄、授權判斷這三件事,仍然要你自己寫網站程式、設計資料庫,而且很可能還要接第三方的登入服務或寄信服務(發驗證信、發登入連結)。那些第三方服務有自己的收費。
這句話要講白,因為拿著「Cloudflare 免費」的印象去報價,很可能在實作階段才發現還要多做好幾天的工。
- 你的網頁其實沒鎖:公開資訊、付費內容、機密隱私該放哪一層
那些零件要怎麼組、組到什麼程度才算真的擋住,那篇有六個等級的判斷順序與兩個驗收測試。
三家總比較表
角色搞清楚之後,這張表是你要算錢時看的。所有數字為 2026-08-19 官方查證,美元未稅。每一項的出處與細節在後面三段,需要追根據再往下看。
| 比較項目 | GitHub Pages | Vercel | Cloudflare |
|---|---|---|---|
| 免費方案價格 完全不付錢的情況下要多少 | $0/月 | Hobby $0/月 | 應用服務 Free $0/月 |
| 商用最低固定月費 網站有商業用途時,最低要付多少 | 條款不允許當商業主機 | Pro $20/月起 | 可從 $0 起,Workers 付費 $5/月起 |
| 靜態網站額度 放固定內容的網頁能用到什麼程度 | 站台不得大於 1 GB | 專案 200 個(Hobby) | Pages Free 每站 20,000 檔、單檔 25 MiB |
| 動態請求額度 需要伺服器臨時運算的請求,一個月能用幾次 | 無伺服器端運算 | Hobby 每月 100 萬次 | Workers Free 每天 100,000 次 |
| 流量或傳輸額度 傳給訪客的資料總量上限 | 每月 100 GB 軟性上限 | Hobby 每月 100 GB | Workers 與 R2 對外流量不收費 |
| 建置次數 改完內容重新做成網站,能做幾次 | 每小時 10 次軟性上限 | Hobby 每天 100 次部署 | Pages Free 每月 500 次 |
| 資料庫免費額度 存會員、購買紀錄這類資料,免費能用多少 | 無 | 無內建,要另外接 | D1 每天 500 萬列讀、10 萬列寫、5 GB |
| 檔案儲存免費額度 存講義、影片這類檔案,免費能放多少 | 無 | 無內建,要另外接 | R2 10 GB-month,下載流量免費 |
| 要讓特定的人才能看,得付多少 | 私密發布需 Enterprise Cloud,$21/人/月起 | Password Protection 為 Pro 加購 | Access 免費席次上限與單價官方頁未公開 |
| 超額計費方式 用超過免費額度之後怎麼算錢 | 軟性上限,超過可能回 429 | Pro 按量計費,見上方超額表 | Workers 每 100 萬次 $0.30;R2 每 GB $0.015;D1 每 GB $0.75 |
| 商用限制 平台條款允不允許你拿它做生意 | 條款禁止當免費主機經營線上生意、電商或商用 SaaS | Hobby 明文限非商業個人使用;廣告販售產品或服務即商用 | 未見等同的非商用限制條款;SLA 與支援為付費方案差異 |
GitHub Pages 是什麼
GitHub 本體是一個放程式碼和內容的地方,它最強的能力是記住每一次修改。GitHub Pages 是它附帶的靜態網站服務。靜態網站的意思是,頁面內容事先就做好了,每個訪客看到的都一樣,伺服器不用臨時運算。你把 HTML(寫網頁用的原始檔格式)放進儲存庫(repository,簡稱 repo,可以想成一個會自動記錄每次修改的專案資料夾),它幫你變成一個可以打開的網址。
方案與價格
現行 GitHub 定價頁(2026-08-19 查證)上列出三個方案。
| 方案 | 價格 | 備註 |
|---|---|---|
| Free | $0 USD/月 | 頁面標示 $0 per month forever,無促銷條件 |
| Team | $4 USD/人/月 | 頁面標註「for the first 12 months」,帶星號 |
| Enterprise | 起價 $21 USD/人/月 | 同樣標註「for the first 12 months」,帶星號 |
那個星號很重要。Team 與 Enterprise 的價格在官方頁面上明確寫著「首 12 個月」並帶星號,星號之後的價格該頁沒有寫。所以不能把 $4 和 $21 當成永久固定價格報給客戶。
GitHub Pages 的額度限制
依 GitHub Pages limits 文件(2026-08-19 查證):
- 發布後的網站不得大於 1 GB
- 來源儲存庫建議上限 1 GB
- 每月軟性頻寬上限 100 GB
- 每小時建置軟性上限 10 次(使用自訂 GitHub Actions workflow 時不適用)
- 單次建置逾時 10 分鐘
- 每個帳號只能建立一個 user 或 organization site
- 超過速率限制會回 HTTP 429(伺服器回「你要求太頻繁了」的代碼)
私密發布要哪個方案
依 GitHub 官方文件,原文是:
要讓 Pages 網站本身變成需要身分才能看,你的組織必須用 GitHub Enterprise Cloud。同一份文件還補了一句限制:存取控制只適用於從組織擁有的 private 或 internal 儲存庫發布的 project sites,organization site 無法設定存取控制。
商業用途的限制
這一條是硬的。GitHub 附加產品與功能條款原文寫明,GitHub Pages 不可作為:
翻成白話:不能拿它當免費主機來經營你的線上生意、電商站,或任何主要目的是促成商業交易或提供商用 SaaS(軟體即服務,指按月或按年收費、直接在網頁上使用的軟體)的網站。違反的話,GitHub 可以收回子網域(就是 你的名字.github.io 這種平台配給你的網址)。
所以我對 GitHub Pages 的定位是:練習、Demo、公開作品、公開文件、給人看的靜態展示。它不是我的商業官網主機。
GitHub 真正該做的事
把 GitHub Pages 的網站託管能力放一邊,GitHub 本體在這套架構裡有三個核心角色。這三件事不是只有 GitHub 能做,GitLab、Bitbucket 也做得到,我用 GitHub 是因為生態最熟:
- 原始碼與內容的來源,也就是你的網站真相住的地方。
- 版本歷史,每一次修改都留紀錄,改壞了可以退回去。
- 協作與衝突處理,兩個人同時改同一個檔案的時候,它會攔下來要你決定。
這三件事跟「網站放哪裡」完全無關,而且不管你最後選 Vercel 還是 Cloudflare,GitHub 都繼續做這三件事。
- AI 幫你把網頁做好了,該放哪?GitHub Pages 與 Vercel 完整比較
那篇處理的是「網頁做好之後放哪裡」的入門選擇;這篇往下一層,處理「放上去之後誰能看」。
Vercel 是什麼
Vercel 是一個部署平台(部署就是把你做好的網站放上網路,讓別人打得開),強項是把前端框架(幫你把網頁做出互動效果的一套現成工具,例如 React、Next.js)的專案推上去就能跑,而且每一個分支都會自動生出一個獨立的預覽網址。這個 Preview 機制對「先看過再上線」的流程非常有用。
Hobby 方案($0/月)
依 Vercel Hobby 方案文件(2026-08-19 查證):
| 項目 | Hobby 額度 |
|---|---|
| Edge Requests 邊緣請求:訪客每載入一次頁面或一個檔案,算一次 | 每月 1,000,000 次 |
| Fast Data Transfer 對外傳輸量:平台傳送給訪客的資料總量 | 每月 100 GB |
| Function Invocations 函式呼叫次數:伺服器端程式被叫起來執行幾次 | 每月 1,000,000 次 |
| Active CPU 實際運算時間:程式真正在計算的時間,等待不算 | 4 CPU 小時 |
| Provisioned Memory 配置記憶體用量:佔用的記憶體量乘以佔用時間 | 360 GB-hrs |
| 專案數 可以同時放幾個網站 | 200 |
| 每日部署次數 一天最多能把網站更新上線幾次 | 100 |
| Web Analytics Events 網站分析事件數:內建流量統計記錄的次數 | 每月 50,000 |
| 每專案網域數 一個網站可以掛幾個網域 | 50 |
| Function 最長執行時間 單次伺服器程式最多能跑多久 | 300 秒 |
| Runtime Logs 保留 執行紀錄保留時間:出錯時能往回查多久 | 1 小時 |
| Deployment Protection 部署保護:擋住不該看到這個網址的人 | 只有 Vercel Authentication |
Pro 方案($20/月起)
依 Vercel 定價頁與 Hobby 對照文件(2026-08-19 查證):
| 項目 | Pro 額度 |
|---|---|
| 月費 固定要付的錢,還沒算用量超額 | $20/月,含 $20 使用額度 |
| Edge Requests 邊緣請求:訪客每載入一次頁面或一個檔案,算一次 | 每月 10,000,000 次包含在方案內 |
| Fast Data Transfer 對外傳輸量:平台傳送給訪客的資料總量 | 每月 1 TB 包含在方案內 |
| 專案數 可以同時放幾個網站 | 不限 |
| 每日部署次數 一天最多能把網站更新上線幾次 | 6,000 |
| 每專案網域數 一個網站可以掛幾個網域 | 不限 |
| Runtime Logs 保留 執行紀錄保留時間:出錯時能往回查多久 | 1 天 |
| Developer 席次 開發者席次:可以改東西、可以部署的人 | $20/人/月 |
| Viewer 席次 檢視者席次:只能看、不能改的人 | 免費、不限 |
| Deployment Protection 部署保護:擋住不該看到這個網址的人 | Vercel Authentication、Password Protection(加購)、Sharable Links |
超額計費
依 Vercel Fair Use Guidelines 的 Additional Resources 表,Pro 方案在額度與抵用額用完之後按量計費:
| 項目 | 單價 |
|---|---|
| Edge Requests 邊緣請求:訪客每載入一次頁面或一個檔案,算一次 | 每 100 萬次 $2 起 |
| Fast Data Transfer 對外傳輸量:平台傳送給訪客的資料總量 | 每 GB $0.15 起,依區域定價 |
| Function Invocations 函式呼叫次數:伺服器端程式被叫起來執行幾次 | 每 100 萬次 $0.60 |
| Active CPU 實際運算時間:程式真正在計算的時間,等待不算 | 每小時 $0.128 起 |
| Provisioned Memory 配置記憶體用量:佔用的記憶體量乘以佔用時間 | 每 GB-hr $0.0106 起 |
| Image Transformations 圖片轉換次數:自動縮圖或轉檔的次數 | 每 1,000 次 $0.05 |
| Image Cache Reads 圖片快取讀取:從快取取出已處理圖片的次數 | 每 100 萬次 $0.40 |
| Image Cache Writes 圖片快取寫入:把處理好的圖片存進快取的次數 | 每 100 萬次 $4.00 |
商用限制,這一段請一定要看
同一份 Fair Use Guidelines 的 Commercial usage 段落,原文是:
而它對「商用」的定義範圍比多數人以為的寬:
官方列出的例子包含:任何向訪客請求或處理付款的方式、廣告販售產品或服務、收錢去建立或維護該網站、以聯盟行銷連結為主要目的、放置廣告。文件另外註明,募款請求也算商業使用。
Vercel 的存取保護能做到哪裡
Deployment Protection 底下的 Vercel Authentication,擋的是「有沒有 Vercel 帳號、而且是不是這個團隊的成員」。它是給開發團隊看預覽版用的門。Password Protection 在 Pro 上是加購項目,是整站一組密碼。
這兩個都不是會員系統,做不到「A 學員能看第一堂、B 學員能看第一和第二堂」。差別在哪、該用什麼取代,我在另一篇講。
Cloudflare 是什麼
Cloudflare 最早是做 DNS(把網域名稱指到正確伺服器的電話簿)和 CDN(把你的網頁複製到世界各地的節點,讓訪客就近拿到)的,現在它把一整套東西攤在同一個帳號底下。要理解它的價格,關鍵是先接受一件事:Cloudflare 底下有好幾個獨立計費的產品,它們各自有各自的方案表。你不需要全部買。
A. 應用服務方案
依 Cloudflare 定價頁(2026-08-19 查證):
| 方案 | 價格 | 官方描述 |
|---|---|---|
| Free | $0/月 | 個人或非關鍵業務的專案 |
| Pro | 年繳 $20/月,月繳 $25/月 | 非關鍵業務的專業網站 |
| Business | 年繳 $200/月,月繳 $250/月 | 線上營運的小型企業 |
| Contract | 客製報價,年繳 | 核心關鍵應用 |
要強調的是,下面 B 到 F 這五項,跟上面這個方案表是分開計費的。你可以用 Free 的應用服務方案,同時單獨開一個 Workers 付費方案,兩者互不綁定。
B. Cloudflare Pages
依 Pages limits 文件(2026-08-19 查證):
| 項目 | Free | Pro | Business |
|---|---|---|---|
| 每月建置次數 建置=你改完內容後,平台把它重新做成網站的那個過程。每改一次就算一次 | 500 | 5,000 | 20,000 |
| 同時建置數 可以同時進行幾個建置。改一次就要等一次的話,這個數字有感 | 1 | 5 | 20 |
| 每站檔案數 一個網站最多能放幾個檔案。每張圖、每個頁面都算一個 | 20,000 | 100,000 | 100,000 |
| 單檔最大 單一個檔案的大小上限,影片和高解析圖最容易撞到 | 25 MiB(約 26 MB) | 25 MiB | 25 MiB |
| 每專案自訂網域 一個網站可以掛幾個你自己買的網域 | 100 | 250 | 500 |
另外依 Pages Functions 定價文件,原文寫「On both free and paid plans, requests to static assets are free and unlimited.」也就是靜態檔案的請求在免費和付費方案上都免費且不限量。同一份文件說明,Pages Functions 的請求會計入 Workers 方案的額度。
C. Cloudflare Workers
依 Workers 定價文件(2026-08-19 查證):
| 項目 | Workers Free | Workers Paid |
|---|---|---|
| 月費 固定要付的錢,還沒算用量超額 | $0 | 最低 $5/月 |
| 包含請求數 方案裡免費附的請求次數,訪客每叫用一次伺服器程式算一次 | 每天 100,000 次 | 每月 1,000 萬次 |
| CPU 時間 伺服器程式實際在運算的時間,等待外部回應的時間不算 | 每次呼叫 10 毫秒 | 每月包含 3,000 萬 CPU 毫秒 |
| 超額請求 用超過免費額度之後,多出來的請求怎麼收費 | 不適用(硬上限) | 每增加 100 萬次 $0.30 |
| 超額 CPU 運算時間用超過之後怎麼收費 | 不適用 | 每增加 100 萬毫秒 $0.02 |
| 對外流量 從平台傳出去給訪客的資料量,這一項常常是別家的主要成本 | 不收費 | 文件原文:No additional charges for data transfer (egress) or throughput (bandwidth) |
D. Cloudflare D1
依 D1 定價文件(2026-08-19 查證):
| 項目 | Workers Free | Workers Paid |
|---|---|---|
| 讀取列數 從資料庫撈出幾筆資料。查一次會員身分可能就讀好幾列 | 每天 500 萬列 | 每月前 250 億列包含,超額每 100 萬列 $0.001 |
| 寫入列數 往資料庫寫進幾筆資料。新增一筆購買紀錄算一次 | 每天 100,000 列 | 每月前 5,000 萬列包含,超額每 100 萬列 $1.00 |
| 儲存空間 資料庫或檔案空間佔多少容量 | 5 GB 總量 | 前 5 GB 包含,超額每 GB 每月 $0.75 |
文件另外說明 D1 是 scale-to-zero,沒有查詢的時候不按小時或容量單位計費。
E. Cloudflare R2
依 R2 定價文件(2026-08-19 查證):
| 項目 | 免費額度(每月) | Standard 超額單價 |
|---|---|---|
| 儲存空間 資料庫或檔案空間佔多少容量 | 10 GB-month | 每 GB 每月 $0.015 |
| Class A 操作 寫入類操作:上傳、列出清單,比較貴 | 100 萬次 | 每 100 萬次 $4.50 |
| Class B 操作 讀取類操作:下載、讀檔,比較便宜 | 1,000 萬次 | 每 100 萬次 $0.36 |
| 對外流量 從平台傳出去給訪客的資料量,這一項常常是別家的主要成本 | 免費 | 免費 |
文件註明免費額度只適用 Standard 儲存,不含 Infrequent Access;R2 本身的 egress 不收費,但串接的第三方服務可能另有收費。
F. Cloudflare Access(歸在 Zero Trust 產品線底下,Zero Trust 是「預設誰都不信任,每次存取都要重新驗證」的資安設計思路),這一段要誠實講
官方文件上確實有寫、而且比價格更重要的,是席次怎麼算。依 Cloudflare One 席次管理文件:
- 使用者在完成一次驗證事件時消耗一個席次。原文:「A user consumes a seat when they perform an authentication event.」
- 不管他開了幾個應用、登入幾次,都只佔一個席次。
- 席次用完之後,後續嘗試登入的使用者會被擋下來。原文:「Once the total amount of seats in the subscription has been consumed, additional users who attempt to log in are blocked.」
- 一旦驗證過,這個人會一直佔著席次,直到你把他從帳號移除。
- Revoke 跟 Remove 不一樣。Revoke 會終止使用中的連線階段,但不會釋放席次;要釋放席次必須 Remove。
- 可以開啟席次到期機制,設定 1 到 12 個月,沒有驗證事件也沒有裝置活動的使用者會被自動移除,每天執行一次。
- 機器對機器的服務用途可以改用 service token(給程式用的通行證,不算人頭),不佔席次;也可以設定 bypass policy,讓特定路徑不經過門禁。
這幾條在實務上比單價更會咬人。你如果讓一百個學員都登入過一次,席次就被佔滿一百個;在沒有啟用自動到期的情況下,這些席次不會自己還回來。
我目前建議的架構
在只付網域費的前提下,我目前會這樣接:
另外一條獨立的線,給工作人員與固定合作夥伴用:
這個架構合不合理
我的判斷是合理,理由有三個,但我要同時把它的代價講出來。
1. 公開流量不計費。官方文件明說 Pages 的靜態檔案請求在免費與付費方案上都免費且不限量。
2. 零件齊全而且同一個帳號。靜態、運算、資料庫、物件儲存(專門存檔案的空間,適合放 PDF、影片、圖片這種大檔)、門禁,五件事在同一個後台,不用串五家廠商的帳單。
3. 對外流量不收費。Workers 文件明說沒有額外的 egress 或頻寬費用,R2 文件明說 egress 免費。這對「發講義給一百個人下載」這種場景影響很大。
1. 第五層要自己寫。登入、購買紀錄、授權判斷,Cloudflare 一行都不會幫你寫。
2. 綁在一家。Workers 與 D1 的程式寫法有平台特性,之後要搬家不是零成本。
3. 免費方案沒有 SLA。這一點下面單獨講。
免費方案缺什麼
免費方案上你不會有服務水準協議(SLA)、不會有優先技術支援、也沒有「壞掉了賠你多少」的保障。對於「公開官網掛半小時,你自己重新部署就好」的場景,這個風險可以接受。對於「客戶正在課堂上,一百個人同時要下載講義」的場景,你要自己想清楚能不能承擔。
那我可以叫 AI 幫我寫嗎
可以。上面說 Cloudflare 給的是零件,聽起來像門檻很高,但把零件組起來的那段程式(登入、購買紀錄、判斷這個人能看哪些內容)是相當標準的功能,現在請 AI 寫,成本已經很低了。
只是有三件事 AI 幫不了你,而這三件剛好是決定「會不會外流」的關鍵。
你得先知道哪些內容要擋、擋誰。AI 不會幫你把內容分堆,也不知道哪份講義外流會影響你的收入。
你說「登入後才顯示講義」,AI 可能給你一個在瀏覽器裡隱藏的版本。畫面看起來一樣,實際上完全擋不住。你要明確要求伺服器端判斷。
程式跑得動,不代表擋得住。這兩題要你自己測:登出後直接貼講義網址,看得到嗎?用沒買課的帳號登入後貼,看得到嗎?
- 你的網頁其實沒鎖:公開資訊、付費內容、機密隱私該放哪一層
那篇處理「誰能看到什麼」:noindex 到底擋得住什麼、前端隱藏為什麼不算數、工作人員與付費學員該用哪一招,以及自己驗收的兩個測試。
備份、版本與避免衝突
這一段跟安全分級沒關係,但它翻車的代價通常比內容外流更高,因為外流你至少還有原檔,做壞了沒備份就什麼都不剩。
GitHub 保留每一次修改的歷史。這是它最實在的價值。改壞了可以看 diff(前後兩版逐行對照,改了哪幾行一目瞭然),可以退回上一版,可以知道是誰在什麼時候改的。
- 多人修改前先同步最新版本。先把遠端的最新內容拉下來,再開始改。倒過來做,你會改在一個已經過期的基礎上,然後在推上去的時候撞成一團。
- 一項任務用一個 branch 或一個 worktree。branch(分支)是同一份專案的平行版本,worktree 是同一份專案同時開的第二個工作資料夾,兩個都是為了讓不同任務互不干擾。兩個任務混在同一個工作區,最後你會分不清哪個改動屬於哪件事,也沒有辦法單獨回退其中一個。
- Preview 驗收之後才切正式站。部署平台都有預覽機制,用它。在預覽網址上看過、點過、確認過,再讓正式網址指過去。
- 正式部署只由固定流程執行。不要今天用手動指令、明天用另一個工具。固定一條路,那條路上該有的檢查才會每次都跑到。
- 部署平台跟原始碼管理是兩個不同的角色。GitHub 管「真相在哪、改了什麼」,Vercel 或 Cloudflare 管「把它變成一個能打開的網址」。搞混這兩件事,就會出現「我在本機改了但線上沒變」或者「線上是對的但沒人知道原始碼在哪」這種狀況。
- 在家裡桌機上用 Codex 做好網頁後,出門用筆電想要改,就找不到檔案了?
那篇是這一段的實作版:同一個 repo 在兩台機器之間怎麼同步,才不會把對方的修改蓋掉。
最低可行版本,與什麼時候該升級
最低可行版本
如果你今天就要開始,我會這樣排:
- GitHub 免費帳號,開一個儲存庫,放你的網站原始碼。
- Cloudflare 免費帳號,Pages 接上這個儲存庫,公開官網先上線。
- 買一個網域,指過去。這是你唯一確定要付的錢。
- 工作人員的後台,用 Cloudflare Access 加白名單。人少,設定一次就好。
- 付費學員的部分,先用人工開通。
第五步的「人工開通」是什麼意思、以及為什麼工作人員和付費學員要用完全不同的兩招,我在另一篇拆開講:你的網頁其實沒鎖:公開資訊、付費內容、機密隱私該放哪一層
零月費版本做得到什麼
- 公開官網、課程介紹、文章、招生頁:完全做得到,訪客數不影響費用。
- 少數工作人員與長期客戶的門禁:用 Cloudflare Access 在免費席次範圍內做得到(實際席次上限請自行向官方確認)。
- 一百位學員的會員與授權判斷:以 Workers 每天 100,000 次請求、D1 每天 500 萬列讀取與 100,000 列寫入的免費額度來看,一堂一百人的課,日常使用量離上限還很遠。
- 10 GB 以內的私有教材:R2 免費額度做得到,而且下載流量不收費。
哪些服務可能另有費用
零月費指的是這幾家平台的月費。以下幾項要另外算:
- 網域年費,這是你確定要付的。
- 金流服務手續費,接刷卡或第三方支付都有抽成。
- 寄信服務。發登入驗證碼、發購課通知,通常要接一個交易郵件服務,免費額度有限。
- 第三方登入服務,如果你不自己寫的話。
- 你自己的時間。第五層要寫程式,這是最大的一筆隱形成本。
什麼情況才需要升級付費
我列五個明確的觸發條件:
- Workers 每天 100,000 次請求撐不住。到這裡就升 Workers Paid,最低 $5/月。
- 需要 SLA 或技術支援。客戶開始把你的網站當成關鍵業務,你需要有人可以問。
- 私有教材超過 10 GB,或 D1 資料超過 5 GB。超額之後 R2 是每 GB 每月 $0.015、D1 是每 GB 每月 $0.75,成本仍然很低,但要開始付。
- Access 席次不夠用。長期客戶名單成長到免費席次以外。
- 團隊要用 Vercel 的 Preview 協作流程。那就直接付 Pro,$20/月起,不要在 Hobby 上跑商業網站。
單堂一百位學員,可行嗎
我的判斷是可行,前提是你把它拆對層級。
以我上面查到的免費額度算:一百位學員,假設每人每天登入一次、瀏覽二十頁、下載三份講義,一天大約幾千次請求,離 Workers 每天 100,000 次還有很大空間。D1 的每天 500 萬列讀取更是綽綽有餘。R2 的下載不收流量費,所以講義發放的成本是零。
如果先用人工確認付款與開通
這是我最推薦的起步方式,因為它把最難的那塊先拿掉。
流程是:學員匯款或刷卡之後,你收到通知,手動在後台把這個人的 email 加進 D1 的購買紀錄。系統照樣做伺服器端的授權判斷,學員照樣登入之後才看得到講義。差別只在於「誰把那一列資料寫進去」。
這樣可以先不做的東西:
- 金流串接與 webhook 接收(webhook 是金流商在收到款項後主動通知你的網站的機制)
- 自動開通與自動退款
- 訂閱制的續費與到期處理
- 發票與收據自動化
- 學員自助註冊流程(可以先用你發邀請)
怎麼開始
如果你今天就要開始,我建議照這個順序:
- 先算你的量。一個月大概多少訪客、要不要伺服器端運算、要存多少檔案。沒有這三個數字,比價是空的。
- 再看條款。你的網站上有沒有價格、有沒有廣告、收不收錢。有的話,Vercel Hobby 與 GitHub Pages 直接排除。
- 最後才比價格。用上面的總比較表對照,通常這時候答案只剩一個。
- 先把公開的部分做好。官網上線、招生頁能用。這是會帶來收入的部分,優先做。
- 需要登入的部分晚一步再做。先用人工開通跑一輪,跑過才知道真實摩擦在哪。
- 同一時間把備份與版本流程立起來。這一步最容易被跳過,但它是唯一會在你出事那天救你的東西。
收尾 Recap
- 三家不是互相取代,是各自負責一段。GitHub 管版本與備份,Vercel 管快速部署與預覽,Cloudflare 管商用正式站的免費起點。
- GitHub Pages 的條款不允許拿它當免費主機經營線上生意、電商或商用 SaaS。它適合練習、Demo、公開作品。
- GitHub 的 Team 與 Enterprise 價格帶星號,官方標明是「首 12 個月」,不能當永久價報給客戶。
- Vercel Hobby 明文限非商業個人使用,而「廣告販售產品或服務」就算商用。官網上有價格頁就命中了。
- Vercel 商用最低 Pro $20/月起,一年 $240 起,再加按量超額。
- Cloudflare 底下是好幾個獨立計費的產品,不需要全部買。應用服務方案跟 Workers、D1、R2、Access 是分開的。
- Cloudflare Pages 的靜態檔案請求免費且不限量,公開官網訪客再多都不產生費用。
- Workers 與 R2 的對外流量都不收費,這對「發講義給一百個人下載」影響很大。
- Cloudflare 給的是零件,不是成品。會員系統要自己組,但那段程式現在可以請 AI 寫。
- 免費方案沒有 SLA、沒有優先支援。把它當成起步成本低,不要當成有保障的服務。
常見的坑
| 坑 | 對策 |
|---|---|
| 以為 private repo 等於網站訪客要登入 | 那是兩件事。private repo 管誰能看原始碼,Pages 網站發布出去在一般方案上仍是公開網址 |
| 用 Vercel Hobby 跑有價格頁的官網 | 官方定義「廣告販售產品或服務」即商用,最低要 Pro |
| 把 GitHub Team 的 $4 當永久價報給客戶 | 官方頁標明是首 12 個月,星號之後的價格該頁沒寫 |
| 以為要用 Cloudflare 就得買整包 | 應用服務方案與 Workers、D1、R2、Access 是分開計費的,可以只開需要的 |
| 以為開好 Cloudflare 帳號就有會員系統 | 它給零件不給成品。登入、購買紀錄、授權判斷要自己組 |
| 以為 GitHub 有備份就不用管資料庫 | GitHub 不備份 D1、R2 與 DNS 設定,要另外做並演練還原 |
| 衝突發生時直接選一邊蓋掉 | 人工保留雙方內容再合併。被蓋掉的人不在場,無法幫自己說話 |
| 拿免費方案接客戶的關鍵業務 | 免費方案沒有 SLA 也沒有優先支援,先跟客戶說清楚再決定 |
給自己的定位提醒
我做這份整理,不是為了證明我選的架構最好。三家各有各的適用場景:需要團隊協作與預覽流程、而且願意付月費的,Vercel Pro 是很順的選擇;只要一個公開作品站的,GitHub Pages 就夠了。我目前選 Cloudflare,是因為它剛好符合我現在「只付網域費、但網站已經商業化」這個特定條件。
換一組條件,答案就會換。
想繼續聊這個
我每個月固定辦兩場免費線上講座,分享 AI 應用與知識管理的實戰做法。如果你正在幫自己或客戶決定網站要放哪裡、怎麼分級,歡迎先從社群開始。
本篇所有價格與額度為 2026 年 8 月 19 日查證結果,皆為美元、未稅。平台方案隨時可能調整,重要決策前請重新核對官方頁面。
本篇引用來源
全部為官方來源,查證日 2026-08-19。
GitHub
- GitHub Pricing
- GitHub Pages limits
- GitHub Terms for Additional Products and Features
- Changing the visibility of your GitHub Pages site
Vercel
Cloudflare