GitHub Pages 限制與收費完整指南:免費方案上限、Pro 版差異與替代方案比較
GitHub Pages 是免費的,但免費的東西通常會有限制。好消息是,對大多數個人專案和小型網站來說,這些限制根本不會碰到。但如果你的網站開始成長,或有特殊需求,就需要了解這些限制在哪裡。
這篇文章會完整說明 GitHub Pages 的各種限制、免費版和 Pro 版的差異,以及什麼時候應該考慮其他方案。看完之後,你就能評估 GitHub Pages 是否適合你的專案。
GitHub Pages 免費方案限制總覽
先來看看 GitHub Pages 免費版的主要限制。
官方公布的限制
| 項目 | 限制 |
|---|---|
| Repository 建議大小 | 1GB 以下 |
| 網站建議大小 | 1GB 以下 |
| 每月頻寬 | 100GB(軟性限制) |
| 每小時 Build 次數 | 10 次 |
| 單一檔案大小 | 100MB |
這些大多是「軟性限制」(soft limit),意思是 GitHub 不會立刻封鎖你,但會建議你調整。

軟性限制 vs 硬性限制
硬性限制(會直接拒絕):
- 單一檔案超過 100MB
- 使用被禁止的內容
軟性限制(會收到通知但不會立刻封鎖):
- Repository 超過 1GB
- 每月流量超過 100GB
- 每小時 Build 超過 10 次
超過軟性限制時,GitHub 會:
1. 發送通知給你
2. 建議你減少使用量或升級方案
3. 如果持續超過,可能會暫時限制網站
這些限制夠用嗎?
對大多數使用場景來說,這些限制其實很寬裕:
- 個人作品集:1GB 可以放超多圖片和程式碼
- 文件網站:純文字內容很輕量,根本用不到 1GB
- 小型部落格:就算每篇文章有圖片,通常也不會超過
會碰到限制的情況:
- 放大量高解析度圖片或影片
- 網站突然爆紅,流量暴增
- 頻繁自動部署(每次 commit 都觸發)
檔案與 Repository 限制
GitHub Pages 對檔案有些限制,處理方式不當可能會導致問題。
單檔 100MB 限制
任何單一檔案都不能超過 100MB,這是硬性限制。超過的話:
- Git push 會失敗
- 即使用 Git LFS,也不能直接發布到 GitHub Pages
常見超過 100MB 的檔案:
- 高解析度影片
- 未壓縮的大型圖片
- PDF 檔案(特別是含大量圖片的)
- 資料集檔案
大型檔案處理建議
方法 1:壓縮檔案
- 圖片:用 WebP 格式,或壓縮成適當尺寸
- 影片:用影片託管服務(YouTube、Vimeo)嵌入
- PDF:使用 PDF 壓縮工具
方法 2:使用外部服務
<!-- 不要把大型影片放在 Repository -->
<!-- 改用 YouTube 嵌入 -->
<iframe width="560" height="315"
src="https://www.youtube.com/embed/VIDEO_ID"
frameborder="0" allowfullscreen>
</iframe>
方法 3:使用 CDN
把大型靜態資源放到 CDN(如 Cloudflare R2、AWS S3、Cloudinary),然後在網頁中引用。
.gitignore 優化
確保不會把不必要的檔案推到 Repository:
# 常見應該排除的檔案
node_modules/
.DS_Store
*.log
*.tmp
*.mp4
*.psd
*.ai
# 開發用的大型檔案
design-files/
raw-assets/
頻寬與流量限制
每月 100GB 頻寬是最容易被碰到的限制。
月流量計算
流量計算包括:
- HTML、CSS、JavaScript 檔案
- 圖片、字型、影片等靜態資源
- API 請求(如果有的話)
估算範例:
假設你的網站首頁大小是 2MB(包含所有資源):
- 100GB ÷ 2MB = 50,000 次頁面瀏覽/月
- 如果每個訪客平均看 3 頁 = 約 16,666 訪客/月
這對個人網站來說已經很多了。

超過限制的後果
超過 100GB 頻寬時:
1. 你會收到 GitHub 的通知郵件
2. 網站通常還是可以正常運作
3. 如果持續超過,可能會被暫時停用
4. GitHub 可能會要求你升級方案或遷移
GitHub 官方說這是「軟性限制」,不會立刻封鎖,但會要求你處理。
監控方式
目前 GitHub Pages 沒有內建的流量監控面板。你可以:
方法 1:使用 Google Analytics
<!-- 在你的網站加入 GA4 追蹤碼 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXX');
</script>
方法 2:使用 Cloudflare
把網域設定走 Cloudflare,可以看到流量統計。
方法 3:檢查網站大小
# 用瀏覽器的 DevTools → Network 查看頁面總大小
# 或用線上工具如 GTmetrix、PageSpeed Insights
私有 Repository 發布限制
這是很多人困惑的點。
免費版 vs Pro 版
GitHub Free(免費帳號):
- 可以從私有 Repository 發布 GitHub Pages
- 但發布的網站是公開的(任何人都能看)
GitHub Pro/Team/Enterprise:
- 可以從私有 Repository 發布
- 可以限制誰能存取網站(Access Control)
- 需要付費
私有 Repo + Pages 需求
如果你想要:
- Repository 保持私有
- 發布的網站也保持私有
那你需要 GitHub Enterprise 或使用其他方案。
如果你只是想讓程式碼私有、但網站公開,免費版就夠了。
自訂網域與私有 Repository
不管是免費版還是付費版,私有 Repository 都可以設定自訂網域。想了解更多設定方式,請參考私有 Repo 的自訂網域設定。
GitHub Pro/Team 版功能差異
來看看付費方案提供了什麼。
方案比較
| 功能 | Free | Pro ($4/月) | Team ($4/人/月) |
|---|---|---|---|
| 公開 Repository | 無限 | 無限 | 無限 |
| 私有 Repository | 無限 | 無限 | 無限 |
| GitHub Pages | ✓ | ✓ | ✓ |
| 從私有 Repo 發布 | ✓ | ✓ | ✓ |
| Pages 存取控制 | ✗ | ✗ | ✓ (Enterprise) |
| Actions 分鐘數 | 2,000/月 | 3,000/月 | 3,000/月 |
| Codespaces 時數 | 120 core-hours | 180 core-hours | 視方案 |
適用情境
免費版適合:
- 個人專案
- 開源專案
- 學習用途
Pro 版適合:
- 需要更多 Actions 分鐘數
- 進階 GitHub 功能使用者
- 程式碼審查功能需求
Team/Enterprise 適合:
- 團隊協作
- 需要網站存取控制
- 企業級安全需求
替代方案比較:Vercel vs Netlify vs GitHub Pages
如果 GitHub Pages 不符合你的需求,這些是熱門的替代選擇。

功能對照表
| 功能 | GitHub Pages | Vercel | Netlify |
|---|---|---|---|
| 免費方案 | ✓ | ✓ | ✓ |
| 靜態網站 | ✓ | ✓ | ✓ |
| Serverless Functions | ✗ | ✓ | ✓ |
| 表單處理 | ✗ | ✗ | ✓ |
| 預覽部署 | ✗ | ✓ | ✓ |
| 自訂網域 | ✓ | ✓ | ✓ |
| 免費 HTTPS | ✓ | ✓ | ✓ |
| CDN | 有 | 全球 | 全球 |
| 每月頻寬(免費) | 100GB | 100GB | 100GB |
| Build 分鐘數 | 無限* | 6,000/月 | 300/月 |
*GitHub Pages 透過 GitHub Actions 計算,免費帳號每月 2,000 分鐘
優缺點分析
GitHub Pages:
- 優點:免費、與 GitHub 完美整合、設定簡單
- 缺點:只支援靜態網站、沒有 Serverless Functions
Vercel:
- 優點:極快的 CDN、原生支援 Next.js、預覽部署
- 缺點:免費方案有商業使用限制
Netlify:
- 優點:表單處理、Split Testing、豐富插件
- 缺點:免費方案 Build 分鐘數較少
選擇建議
- 純靜態網站、已用 GitHub:GitHub Pages
- Next.js 專案:Vercel
- 需要表單處理:Netlify
- 需要後端功能:Vercel 或 Netlify
不確定該用哪個平台?VibeFix 幫你選擇最適合的部署方案
每個專案的需求不同,選錯平台可能會浪費時間和成本。VibeFix 可以根據你的專案需求,幫你評估最適合的部署方案。
何時該考慮其他方案?
GitHub Pages 很好用,但不是萬能的。
流量成長
當你的網站每月流量接近或超過 100GB:
- 優化網站減少流量使用
- 或遷移到沒有頻寬限制的平台
需要後端功能
如果你需要:
- 會員登入系統
- 資料庫
- 動態內容生成
- API 端點
GitHub Pages 無法滿足,考慮:
- Vercel(支援 Serverless Functions)
- Netlify(支援 Serverless Functions)
- Railway、Render(完整後端服務)
進階部署需求
如果你需要:
- 預覽部署(PR 預覽)
- A/B Testing
- 多環境部署
這些 Vercel 和 Netlify 免費版就有提供。
需要搬遷到其他平台?
如何優化以符合限制
如果你想繼續使用 GitHub Pages,但擔心限制,這些技巧可以幫你。
圖片壓縮
圖片通常是網站最大的檔案。
# 使用 ImageOptim、TinyPNG 等工具
# 或用 CLI 工具批次處理
# 安裝 imagemin-cli
npm install -g imagemin-cli
# 壓縮圖片
imagemin images/* --out-dir=images-optimized
圖片格式建議:
- 照片:使用 WebP 或壓縮過的 JPEG
- 圖示、Logo:使用 SVG
- 截圖:使用 WebP 或 PNG-8
CDN 搭配
把大型靜態資源放到 CDN:
免費 CDN 選擇:
- Cloudflare(設定走 Cloudflare DNS 即可)
- jsDelivr(專門託管開源 JS 套件)
- unpkg(npm 套件 CDN)
範例:使用外部 CDN 載入套件
<!-- 不要把 node_modules 推上去 -->
<!-- 直接用 CDN -->
<script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
靜態資源優化技巧
1. 啟用 Gzip 壓縮
GitHub Pages 預設會 Gzip 壓縮文字檔案,不用額外設定。
2. 最小化程式碼
# 用 build 工具自動最小化
npm run build
# 或用 CLI 工具
npx terser main.js -o main.min.js
npx cssnano style.css -o style.min.css
3. 移除未使用的程式碼
- 使用 tree shaking(現代打包工具預設支援)
- 審視 npm 套件,移除未使用的

總結與延伸閱讀
GitHub Pages 對大多數個人專案來說是很好的選擇,主要限制是:
- 只支援靜態網站
- 每月 100GB 頻寬
- 單檔 100MB 限制
重點回顧
- 免費方案夠用嗎?:對個人網站和小型專案,通常夠用
- 需要後端功能?:考慮 Vercel 或 Netlify
- 流量很大?:優化網站或考慮其他方案
- 企業需求?:評估 GitHub Enterprise 或其他商業方案
延伸閱讀
- 想了解 GitHub Pages 基礎功能?→ GitHub Pages 基礎功能完整介紹
- 想回顧完整教學?→ 返回 GitHub Pages 完整教學
有更多問題?VibeFix 提供部署諮詢服務
不確定 GitHub Pages 是否適合你的專案?或者需要評估是否該遷移到其他平台?VibeFix 的專家可以根據你的需求提供建議。
FAQ
GitHub Pages 是免費的嗎?有什麼限制?
GitHub Pages 對所有 GitHub 使用者都是免費的。主要限制包括:Repository 和網站大小建議不超過 1GB、每月頻寬約 100GB、每小時最多 10 次 Build、單一檔案不能超過 100MB。這些限制對大多數個人網站和小型專案來說很夠用,但如果你的網站流量很大或有特殊需求,可能需要考慮其他方案。
GitHub Pages 流量超過會怎樣?
超過每月 100GB 流量時,GitHub 會發送通知給你,建議減少使用量或升級方案。這是「軟性限制」,不會立刻封鎖網站,但如果持續超過,可能會被暫時停用。建議收到通知後盡快優化網站(壓縮圖片、使用 CDN)或評估是否需要遷移到其他平台。
GitHub Pages 和 Vercel 哪個比較好?
取決於你的需求。GitHub Pages 完全免費、設定簡單、與 GitHub 整合最好,適合純靜態網站。Vercel 提供 Serverless Functions、更快的全球 CDN、預覽部署功能,特別適合 Next.js 專案。如果你只需要部署靜態網站,GitHub Pages 就夠了;如果需要後端功能或更進階的部署功能,Vercel 是更好的選擇。
私有 Repository 可以用 GitHub Pages 嗎?
可以。即使是免費帳號,也可以從私有 Repository 發布 GitHub Pages。但要注意,雖然 Repository 是私有的,發布出來的網站還是公開的(任何人都能存取)。如果你需要網站也保持私有,需要使用 GitHub Enterprise,或考慮其他有存取控制功能的服務。