GitHub Pages 限制與收費完整指南:免費方案上限、Pro 版差異與替代方案比較

GitHub Pages 限制與收費完整指南:免費方案上限、Pro 版差異與替代方案比較

GitHub Pages 是免費的,但免費的東西通常會有限制。好消息是,對大多數個人專案和小型網站來說,這些限制根本不會碰到。但如果你的網站開始成長,或有特殊需求,就需要了解這些限制在哪裡。

這篇文章會完整說明 GitHub Pages 的各種限制、免費版和 Pro 版的差異,以及什麼時候應該考慮其他方案。看完之後,你就能評估 GitHub Pages 是否適合你的專案。

GitHub Pages 免費方案限制總覽

先來看看 GitHub Pages 免費版的主要限制。

官方公布的限制

項目 限制
Repository 建議大小 1GB 以下
網站建議大小 1GB 以下
每月頻寬 100GB(軟性限制)
每小時 Build 次數 10 次
單一檔案大小 100MB

這些大多是「軟性限制」(soft limit),意思是 GitHub 不會立刻封鎖你,但會建議你調整。

github-pages-limits-dashboard

軟性限制 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 訪客/月

這對個人網站來說已經很多了。

bandwidth-calculation-visual

超過限制的後果

超過 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 不符合你的需求,這些是熱門的替代選擇。

hosting-services-comparison

功能對照表

功能 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 免費版就有提供。


需要搬遷到其他平台?

VibeFix 協助遷移 →


如何優化以符合限制

如果你想繼續使用 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 套件,移除未使用的
website-optimization-comparison

總結與延伸閱讀

GitHub Pages 對大多數個人專案來說是很好的選擇,主要限制是:
- 只支援靜態網站
- 每月 100GB 頻寬
- 單檔 100MB 限制

重點回顧

  1. 免費方案夠用嗎?:對個人網站和小型專案,通常夠用
  2. 需要後端功能?:考慮 Vercel 或 Netlify
  3. 流量很大?:優化網站或考慮其他方案
  4. 企業需求?:評估 GitHub Enterprise 或其他商業方案

延伸閱讀


有更多問題?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,或考慮其他有存取控制功能的服務。

分享文章:
V

VibeFix

專門解決 AI Vibe Coding 後的疑難雜症,讓你的專案順利上線。

這篇文章有幫到你嗎?

如果還有問題,讓我們直接幫你解決!

聯繫我們