GitHub Pages の仕様・制限まとめ
GitHub Pages の容量、帯域、デプロイ、独自ドメインの仕様と制限をまとめます。
GitHub Pages は、あらかじめ用意した HTML・CSS・JavaScript・画像などのファイルを配信する「静的サイト」の公開サービスです。この記事では、仕様と制限、ビルドとデプロイの方法、運用時の注意点をまとめます。
テキスト中心のサイトには使いやすい一方、画像や動画などの大容量ファイルを多く配信する場合は、容量と転送量の両方を確認する必要があります。
2026年10月27日に GitHub 公式ドキュメントで確認した内容です。数値や仕様は変更される可能性があるため、利用時にはリンク先の最新情報も確認してください。
仕様と制限#
基本仕様#
GitHub Pages では、GitHub のリポジトリ(コードやファイルを保存・管理する場所)をもとにサイトを公開します。主な対応機能と、個人向けプランでの利用条件は次のとおりです。
| 項目 | 仕様・条件 |
|---|---|
| 利用プラン | GitHub Free では公開リポジトリ、GitHub Pro では公開・非公開リポジトリで利用できる |
| 独自ドメイン | 対応。example.com のように自分で取得した名前をサイトの URL に使える |
| HTTPS | 対応。ブラウザとサイトの間の通信を暗号化できる |
GitHub Pro で非公開リポジトリを使う場合も、サイト自体はインターネット上に公開されます。サービスの全体像はGitHub Pages の概要、サイトの公開範囲はHTTPS の公式ガイドで確認できます。
容量・転送量・処理時間の制限#
公開用のファイルを作る処理を「ビルド」、ファイルを公開先へ配置する処理を「デプロイ」と呼びます。これらの作業を自動化する機能が GitHub Actions です。GitHub Pages の公式ドキュメントでは、主に次の制限が示されています。
| 項目 | 上限・条件 |
|---|---|
| 公開サイトの容量 | 1GB 以下 |
| 元のコードやファイルを管理するリポジトリの容量 | 1GB 以下を推奨 |
| 月間の転送量(月間帯域幅) | 100GB のソフト上限 |
| GitHub Pages のデプロイ時間 | 10分を超えるとタイムアウトし、処理が終了する(GitHub Actions のビルド時間とは別) |
| ビルドの回数 | 毎時10回のソフト上限。ただし、GitHub Actions でビルド・公開の手順を自分で定義する場合は対象外 |
公開サイトの容量は、配信する HTML や画像などのファイルを合計した大きさで、元のコードや設定を管理するリポジトリの容量とは別です。公開サイトは 1GB 以下に収める必要がありますが、リポジトリの 1GB は推奨値です。
月間の転送量は、閲覧に伴って利用者へ送るデータ量です。同じ画像でも閲覧回数が増えれば転送量が増えるため、ファイル容量が小さくても、アクセスが増えれば上限に近づく可能性があります。
「ソフト上限」は利用の目安となる上限です。超過しても使い続けられる保証はなく、サイトを配信できなくなったり、GitHub Support から利用方法の見直しを案内されたりする場合があります。
利用目的の制限#
- 利用できない用途:ネット通販のサイト(EC サイト)や、ソフトウェアをサービスとして提供する商用の SaaS など、商取引や商用サービスの提供を主目的とするサイト。
- 適していない用途:パスワードやカード情報などをやり取りする用途。
詳しくは、公式ドキュメントの利用制限を参照してください。
ビルドとデプロイ方法#
コードや記事から公開用のファイルを生成するツールを「静的サイトジェネレーター」と呼びます。Astro や Jekyll がその例です。GitHub Pages の公開元の設定には、ファイルの置き場所を指定する Deploy from a branch と、ビルド・公開の手順を自分で定義する GitHub Actions の2通りがあります。
ブランチから公開する#
ブランチ(コードの変更を分けて管理する単位)と、その中のフォルダを公開元に指定する方法です。標準のビルドには Jekyll が使われます。ビルド方法を自分で細かく指定する必要がない場合に使える方法です。
- リポジトリの Settings → Pages を開き、公開元(Source)で
Deploy from a branchを選びます。 - 公開するブランチとフォルダを設定します。選べるフォルダはリポジトリ直下(
/)か/docsです。
以後は、指定した場所を更新するとサイトへ反映されます。
GitHub Actions でビルド・公開する#
GitHub Actions では、ビルドからデプロイまでの一連の処理手順を「ワークフロー」として自分で定義できます。Astro など、Jekyll 以外のツールでビルドする場合にも使えます。
- リポジトリの Settings → Pages を開き、公開元(Source)で
GitHub Actionsを選びます。 - ビルドとデプロイの手順を定義したワークフローを用意します。
コードの更新などをきっかけに、定義した手順を自動で実行できます。具体的な設定は、公開元の設定ガイドで確認できます。
公開リポジトリでは、GitHub が用意する標準の実行環境(GitHub-hosted runner)で GitHub Actions を動かす実行時間も無料です。詳しい条件は、GitHub Actions の課金を参照してください。GitHub Actions 自体には、GitHub Pages とは別の利用制限があります。
運用時の注意点#
公開するコードと認証情報#
公開リポジトリを使う場合は、サイトのソースコードや GitHub Actions のワークフロー定義も公開されます。API キーなどの公開できない認証情報を含めないようにします。
画像・動画などのファイル管理#
- 画像の最適化:表示に必要な大きさへ調整し、WebP などの画像形式を使ってファイルサイズを抑えると、容量と転送量の両方を減らせます。
- 外部ストレージの利用:原画や高解像度版、動画など、大きなファイルを多く扱う場合は、サイトと分けて保存・配信する方法も検討できます。外部にファイルを保存するサービスである「オブジェクトストレージ」を使えば、GitHub Pages に置くファイルの容量を減らせます。
- CDN による配信:ファイルのコピーを別の配信拠点から届ける仕組みです。画像などを CDN から配信すれば、GitHub Pages から直接送るデータ量を抑えられます。
オブジェクトストレージは保存先、CDN は配信方法という役割の違いを踏まえて選びます。
Git で大きなファイルを扱う仕組みに Git LFS がありますが、GitHub Pages では利用できません。GitHub Pages の容量上限を回避する手段には使えません。
独自ドメインと HTTPS#
独自ドメインを使うには、GitHub Pages 側の設定に加えて、ドメイン名とサイトの配信先を結び付ける DNS の設定が必要です。example.com のように先頭に www などが付かない名前を「apex ドメイン」、www.example.com を www サブドメインと呼びます。
- apex ドメインを使う場合:
wwwサブドメインも併せて設定することが推奨されています。両方を正しく設定すると、GitHub Pages 側で選んだドメインへ自動転送されます。たとえば、example.comを選んだ場合は、www.example.comへのアクセスもexample.comに転送されます。具体的な設定は、独自ドメインの公式ガイドで確認できます。 - ドメイン所有権の検証:第三者に自分のドメインを使われることを防ぐため、GitHub でドメインの所有権を検証しておくことも推奨されています。手順は、ドメインの検証ガイドを参照してください。
- HTTPS の設定:独自ドメインでも、DNS などを正しく設定すれば HTTPS を利用できます。HTTP でアクセスされた場合に HTTPS へ転送する設定もできます。詳しくは、HTTPS の設定ガイドを参照してください。
Working Corgi での利用例#
個人サイト Working Corgi はテキスト中心で、画像も最適化しているため、容量・転送量の制限は当面問題になりにくいと考え、GitHub Pages を採用しました。ソースコードや GitHub Actions のワークフロー定義を見てもらえる点も、公開リポジトリで運用する利点だと感じています。
- ビルド・デプロイ:公開用のコードを更新すると、GitHub Actions が Astro で静的ファイルをビルドし、GitHub Pages へ自動でデプロイする構成です。
- 独自ドメイン:
workingcorgi.com - DNS 管理:Route 53
- 画像管理:WebP などでサイズを抑えています。
- 大容量ファイル:原画・高解像度版・動画はリポジトリに含めていません。

コメントについて