ダブルクリックで英日反転
Applied Sciences · Engineering
GitHub Pages vs Cloudflare Pages — differences and a migration plan
A deep dive into how each free static hosting platform works, why they can afford to be free, and a practical step-by-step migration plan from a GitHub Pages project site to a custom domain via Cloudflare.
How each platform delivers files
- GitHub Pages: push → Jekyll build → Fastly-based CDN (unconfirmed officially) → `<user>.github.io/<repo>/`
- Cloudflare Pages: push → build in Cloudflare's container → pre-distributed to 337-city global CDN → edge delivery
- Key structural difference: GitHub uses CDN as origin cache; Cloudflare pre-distributes artefacts to the edge itself
Why both are free
- GitHub Pages: loss leader under Microsoft — revenue recovered via Actions, Copilot, and Enterprise, not Pages itself
- Cloudflare Pages: owns fixed-cost global CDN; marginal cost per user ≈ 0; upsells Workers, R2, D1, KV, Zero Trust
- Cloudflare differentiates from Vercel/Netlify with unlimited bandwidth vs their 100 GB/month soft caps
Key limit comparison
- GitHub Pages: 1 GB site max, 100 GB/month bandwidth (soft), 10 builds/hour, 10-min build timeout
- Cloudflare Pages (free): unlimited bandwidth & requests, 500 builds/month, 20-min build timeout, 20,000 files
- GitHub Pages: restricted Jekyll plugin allowlist; Cloudflare supports Jekyll, Hugo, Astro, Next.js, and more
Recommended migration strategy
- Hybrid first: move DNS to Cloudflare (WAF/DDoS gains), keep hosting on GitHub Pages with custom domain A records
- Fix `baseurl: /til` → `""` in `_config.yml` before pointing the apex domain, or all CSS paths 404
- SEO: use `jekyll-redirect-from` for meta-refresh redirects; register new GSC property; wait 3–6 months for natural changeover
- Full migration trigger: commercial need, Workers/R2 dependency, or hitting plugin/build limits regularly
→ At small scale, move DNS to Cloudflare for free WAF/DDoS, but keep GitHub Pages hosting — migrate fully only when you actually hit a limit.
Applied Sciences · Engineering
GitHub Pages と Cloudflare Pages の違い・移行計画
それぞれの静的ホスティング(ファイルをそのまま配信するウェブ公開サービス)が内部でどう動くか、なぜ無料で維持できるかを解説し、GitHub Pages のプロジェクトサイトをカスタムドメインに移行する具体的な手順をまとめる。
ファイル配信の仕組みの違い
- GitHub Pages: push → Jekyll ビルド → Fastly ベースの CDN(公式未確認)→ `<user>.github.io/<repo>/` で配信
- Cloudflare Pages: push → Cloudflare のコンテナでビルド → 337 都市のグローバル CDN に事前配布 → エッジ配信
- 構造的な差: GitHub は CDN をオリジンキャッシュとして使うが、Cloudflare はビルド成果物をエッジ自体に配置する
なぜ無料で提供できるか
- GitHub Pages: Microsoft 傘下のロスリーダー(集客目的の赤字商品)。収益は Actions・Copilot・Enterprise で回収
- Cloudflare Pages: 自社グローバル CDN の固定費モデルでユーザー追加の限界費用がほぼゼロ。Workers・R2・D1・KV などへのアップセルで稼ぐ
- Vercel・Netlify の 100 GB/月制限に対し「帯域無制限」を武器に開発者を取り込む差別化戦略
主要制限の比較
- GitHub Pages: サイト上限 1 GB、帯域 100 GB/月(ソフト)、ビルド 10 回/時、タイムアウト 10 分
- Cloudflare Pages 無料プラン: 帯域・リクエスト無制限、ビルド 500 回/月、タイムアウト 20 分、ファイル数 2 万件
- GitHub Pages は Jekyll プラグインが許可リスト制限あり。Cloudflare は Jekyll・Hugo・Astro・Next.js など多数のプリセット対応
推奨移行戦略
- まずハイブリッド構成: DNS を Cloudflare に移し WAF(ウェブアプリケーションファイアウォール)・DDoS 防御だけ得て、ホスティングは GitHub Pages のまま維持
- `_config.yml` の `baseurl: /til` を空文字に変更しないと、カスタムドメイン後に CSS が全て 404 になる
- SEO 対策: `jekyll-redirect-from` プラグインでメタリフレッシュリダイレクトを設置し、Google Search Console に新プロパティを登録。自然な引き継ぎに 3〜6 か月かかる
- 完全移行のタイミング: 商用ニーズ・Workers/R2 依存・プラグイン制限への定常的な抵触のいずれかが発生したとき
→ 規模が小さい段階は DNS を Cloudflare に移して WAF・DDoS 防御を無料で得るにとどめ、実際に制限に当たってから完全移行を検討すれば十分。
Applied Sciences · Engineering
GitHub Pages vs Cloudflare Pages — differences and a migration plan
A deep dive into how each free static hosting platform works, why they can afford to be free, and a practical step-by-step migration plan from a GitHub Pages project site to a custom domain via Cloudflare.
How each platform delivers files
- GitHub Pages: push → Jekyll build → Fastly-based CDN (unconfirmed officially) → `<user>.github.io/<repo>/`
- Cloudflare Pages: push → build in Cloudflare's container → pre-distributed to 337-city global CDN → edge delivery
- Key structural difference: GitHub uses CDN as origin cache; Cloudflare pre-distributes artefacts to the edge itself
Why both are free
- GitHub Pages: loss leader under Microsoft — revenue recovered via Actions, Copilot, and Enterprise, not Pages itself
- Cloudflare Pages: owns fixed-cost global CDN; marginal cost per user ≈ 0; upsells Workers, R2, D1, KV, Zero Trust
- Cloudflare differentiates from Vercel/Netlify with unlimited bandwidth vs their 100 GB/month soft caps
Key limit comparison
- GitHub Pages: 1 GB site max, 100 GB/month bandwidth (soft), 10 builds/hour, 10-min build timeout
- Cloudflare Pages (free): unlimited bandwidth & requests, 500 builds/month, 20-min build timeout, 20,000 files
- GitHub Pages: restricted Jekyll plugin allowlist; Cloudflare supports Jekyll, Hugo, Astro, Next.js, and more
Recommended migration strategy
- Hybrid first: move DNS to Cloudflare (WAF/DDoS gains), keep hosting on GitHub Pages with custom domain A records
- Fix `baseurl: /til` → `""` in `_config.yml` before pointing the apex domain, or all CSS paths 404
- SEO: use `jekyll-redirect-from` for meta-refresh redirects; register new GSC property; wait 3–6 months for natural changeover
- Full migration trigger: commercial need, Workers/R2 dependency, or hitting plugin/build limits regularly
→ At small scale, move DNS to Cloudflare for free WAF/DDoS, but keep GitHub Pages hosting — migrate fully only when you actually hit a limit.
Applied Sciences · Engineering
GitHub Pages と Cloudflare Pages の違い・移行計画
それぞれの静的ホスティング(ファイルをそのまま配信するウェブ公開サービス)が内部でどう動くか、なぜ無料で維持できるかを解説し、GitHub Pages のプロジェクトサイトをカスタムドメインに移行する具体的な手順をまとめる。
ファイル配信の仕組みの違い
- GitHub Pages: push → Jekyll ビルド → Fastly ベースの CDN(公式未確認)→ `<user>.github.io/<repo>/` で配信
- Cloudflare Pages: push → Cloudflare のコンテナでビルド → 337 都市のグローバル CDN に事前配布 → エッジ配信
- 構造的な差: GitHub は CDN をオリジンキャッシュとして使うが、Cloudflare はビルド成果物をエッジ自体に配置する
なぜ無料で提供できるか
- GitHub Pages: Microsoft 傘下のロスリーダー(集客目的の赤字商品)。収益は Actions・Copilot・Enterprise で回収
- Cloudflare Pages: 自社グローバル CDN の固定費モデルでユーザー追加の限界費用がほぼゼロ。Workers・R2・D1・KV などへのアップセルで稼ぐ
- Vercel・Netlify の 100 GB/月制限に対し「帯域無制限」を武器に開発者を取り込む差別化戦略
主要制限の比較
- GitHub Pages: サイト上限 1 GB、帯域 100 GB/月(ソフト)、ビルド 10 回/時、タイムアウト 10 分
- Cloudflare Pages 無料プラン: 帯域・リクエスト無制限、ビルド 500 回/月、タイムアウト 20 分、ファイル数 2 万件
- GitHub Pages は Jekyll プラグインが許可リスト制限あり。Cloudflare は Jekyll・Hugo・Astro・Next.js など多数のプリセット対応
推奨移行戦略
- まずハイブリッド構成: DNS を Cloudflare に移し WAF(ウェブアプリケーションファイアウォール)・DDoS 防御だけ得て、ホスティングは GitHub Pages のまま維持
- `_config.yml` の `baseurl: /til` を空文字に変更しないと、カスタムドメイン後に CSS が全て 404 になる
- SEO 対策: `jekyll-redirect-from` プラグインでメタリフレッシュリダイレクトを設置し、Google Search Console に新プロパティを登録。自然な引き継ぎに 3〜6 か月かかる
- 完全移行のタイミング: 商用ニーズ・Workers/R2 依存・プラグイン制限への定常的な抵触のいずれかが発生したとき
→ 規模が小さい段階は DNS を Cloudflare に移して WAF・DDoS 防御を無料で得るにとどめ、実際に制限に当たってから完全移行を検討すれば十分。
出典・参考 / Sources
- GitHub Pages documentation
- GitHub Pages limits
- GitHub Pages: about (URL structures)
- GitHub Pages: custom domain
- Dependency versions for GitHub Pages
- Cloudflare Pages
- Cloudflare Pages documentation
- Cloudflare Pages limits
- Cloudflare network
- What is a CDN? — Cloudflare
- RFC 9110: HTTP Semantics
- RFC 9112: HTTP/1.1
- RFC 9113: HTTP/2
- RFC 9114: HTTP/3
- jekyll-redirect-from
- Google Search Central: Change of Address
- John Mueller on meta-refresh as 301
Related notes
- Agentic Commerce — ACP and Visibility into Being 'Bought by AI'
- AI Search Evaluation: The 12 Metrics — Gateway
- AI Search Evaluation ①Citation Rate — How Many URLs Are Pulled In Per Answer
- AI Search Evaluation ②Source Diversity — How Unskewed the Cited Sources Are
- AI Search Evaluation ③Accuracy Score — How Often It Answers Factual Questions Correctly
- AI Search Evaluation ④Answer Length — How Many Characters It Returns to the User on Average