---
title: "GitHub Pagesとは？料金・無料の範囲と容量制限、公開手順・商用利用・SEO設定【2026年】"
url: "https://www.issoh.co.jp/tech/details/5875/"
published: 2025-03-17
updated: 2026-10-23
categories: ["GitHub"]
publisher: "株式会社一創"
---

# GitHub Pagesとは？料金・無料の範囲と容量制限、公開手順・商用利用・SEO設定【2026年】

GitHub Pagesは、GitHubのリポジトリに置いたHTML・CSS・JavaScriptを、そのままWebサイトとして公開できるGitHubの機能です。パブリックリポジトリなら無料で使えます。ただし「プライベートリポジトリにすればサイトも非公開になる」は誤りで、GitHub ProやTeamで隠せるのはソースコードだけです。この記事では、無料で使える範囲と有料プランが要るケース、容量・帯域の制限、商用利用の可否、ブラウザだけで公開する手順、ブランチ公開とGitHub Actionsの選び方、検索結果に載せるためのSEO設定までを、2026年10月23日時点の公式ドキュメントと応答ヘッダーの計測結果をもとに整理します。

## まとめ：GitHub Pagesの要点

- GitHub Pagesは静的サイト専用のホスティングです。PHPやデータベースなど、サーバー側で動く処理は実行できません。
- GitHub Freeではパブリックリポジトリからのみ公開できます。GitHub Pro・Team・Enterprise Cloud・Enterprise Serverならプライベートリポジトリからも公開できますが、通常は公開されたサイト自体は誰でも見られます。
- 閲覧者を限定する「プライベート公開」は、組織がGitHub Enterprise Cloudを使っている場合だけの機能です。Enterprise Serverでは管理者の設定で公開範囲が変わります。
- 公開サイトの上限は1GBで、帯域の月100GBとビルドの1時間10回はソフトリミットです。デプロイは10分でタイムアウトします。
- ECサイトや商用SaaSを無料で運営する用途は、公式に禁止されています。
- 初めてなら、`<ユーザー名>.github.io`という名前のリポジトリを作り、Settings → Pagesでブランチを選ぶだけで公開できます。反映には最大10分かかります。
- ビルド工程を細かく制御しないならブランチ公開、Jekyll以外のジェネレーターを使うならGitHub Actionsでの公開が向いています。
- サイトマップとSearch Consoleは検索掲載の必須条件ではありませんが、URLの発見と検索状況の確認に役立ちます。既定URLのプロジェクトサイトでは、ホスト直下のrobots.txtを自分のリポジトリだけでは管理できません。

## GitHub Pagesとは：リポジトリから静的サイトを配信する仕組み

公式ドキュメントは、GitHub Pagesを「GitHubのリポジトリからHTML・CSS・JavaScriptファイルを取り出し、必要に応じてビルド処理を通してWebサイトとして公開する静的サイトホスティングサービス」と説明しています。サーバーの契約やOSの管理は不要で、リポジトリにプッシュした内容がそのままサイトに反映されます。

### ユーザー・組織サイトとプロジェクトサイトの違い

サイトの種類は、アカウントに紐づくユーザー・組織サイトと、リポジトリに紐づくプロジェクトサイトの2種類です。

| 項目     | ユーザー・組織サイト          | プロジェクトサイト                    |
| ------ | ------------------- | ---------------------------- |
| リポジトリ名 | `<owner>.github.io` | 任意                           |
| 作れる数   | 1アカウントにつき1つ         | 1リポジトリにつき1つ                  |
| 既定のURL | `<owner>.github.io` | `<owner>.github.io/<リポジトリ名>` |

個人のポートフォリオや技術ブログならユーザーサイト、ライブラリのドキュメントや製品紹介ならプロジェクトサイトが向いています。URLの確認場所や、URLが変わる条件、404になったときの切り分けは[GitHub PagesのURLの確認方法と404の切り分け](/tech/details/4397/)で扱っています。

### 応答ヘッダーで見る配信とキャッシュ

2026年10月23日に、GitHub Pagesで公開されている`pages.github.com`と`jekyll.github.io/minima/`へ`curl -sI <URL>`でアクセスし、応答ヘッダーを確認しました。

| リクエストしたURL                               | ステータス | 主なヘッダー                                  |
| ---------------------------------------- | ----- | --------------------------------------- |
| https://pages.github.com/                | 200   | `cache-control: max-age=600`、`age: 483` |
| https://pages.github.com/sitemap.xml     | 200   | `content-type: application/xml`         |
| https://pages.github.com/nonexistent-xyz | 404   | `cache-control`なし                       |
| http://pages.github.com/                 | 301   | https://pages.github.com/へ転送            |
| https://jekyll.github.io/minima/         | 200   | `cache-control: max-age=600`            |

どの応答にも`via: 1.1 varnish`と`x-served-by: cache-nrt-…`が付いており、成田（NRT）の名前を持つキャッシュサーバーから返っていました。`max-age=600`は、応答の鮮度を600秒として扱う指定で、その間はキャッシュがオリジンに問い合わせずに保存済みの応答を返せます。トップページの`age: 483`は、オリジンサーバーでその応答が生成または正常に検証されてから、推定483秒（約8分）が経過していることを示しています。この場合、追加の経過時間を無視した鮮度の残りは117秒で、受信後さらに600秒間有効になるわけではありません。プッシュしたのに表示が変わらないときは、公式の「反映まで最大10分」という目安に加えて、このキャッシュも疑ってください。

## 料金：無料で使える範囲と有料プランが要るケース

GitHub Pages自体に追加料金はありません。料金が関係するのは、どのプランのリポジトリから公開するかと、閲覧者を限定したいかどうかの2点です。

| プラン                      | パブリックから公開 | プライベートから公開 | 閲覧者の限定          |
| ------------------------ | --------- | ---------- | --------------- |
| GitHub Free（個人・組織）       | 可         | 不可         | 不可              |
| GitHub Pro               | 可         | 可          | 不可              |
| GitHub Team              | 可         | 可          | 不可              |
| GitHub Enterprise Cloud  | 可         | 可          | 可（組織のプロジェクトサイト） |
| GitHub Enterprise Server | 可         | 可          | 管理者の設定による       |

誤解が多いのは、プライベートリポジトリから公開したサイトの扱いです。公式ドキュメントは「リポジトリがプライベートでも、GitHub Pagesのサイトはインターネット上に公開される」と警告しています。GitHub ProやTeamで隠せるのはソースコードで、公開されたページは誰でも閲覧できます。サイトの閲覧範囲まで制限できるのは、Enterprise Cloudのプライベート公開と、Enterprise Serverの管理者設定（プライベートモードで公開サイトを許可しない構成）です。社外秘の資料を置く前に、この点を必ず確認してください。Enterprise Cloudでの公開範囲の切り替えは[GitHub Pagesサイトの可視性の変更](https://docs.github.com/ja/enterprise-cloud@latest/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)に手順があります。

### 閲覧者を限定するプライベート公開の条件

閲覧をリポジトリの読み取り権限を持つ人に限る「プライベート公開」は、組織がGitHub Enterprise Cloudを使っている場合に限り利用できます。対象は、組織が所有するプライベートまたは内部リポジトリから公開するプロジェクトサイトで、組織サイトにはアクセス制御をかけられません。プライベート公開されたサイトは、通常の公開とは別の`*.pages.github.io`配下の固有サブドメインで配信されます。Enterprise Managed Usersを使う企業では、サイトはすべてプライベート公開になります。

GitHub Pagesには、Basic認証やパスワードをかける設定はありません。「社内だけに見せたい」「特定の取引先だけに見せたい」という要件は、Enterprise Cloudのプライベート公開を使うか、アクセス制御ができる別のホスティングを選ぶことになります。

### 有料プランの価格とActionsの課金

GitHubの料金ページの表示（2026年10月23日時点）では、Teamが1ユーザーあたり月4ドル、Enterpriseが1ユーザーあたり月21ドルからです。どちらにも「最初の12か月」の注記が付いているため、契約前に料金ページで最新の条件を確認してください。

GitHub Actionsで公開する場合の実行時間について、[GitHub Actionsの課金文書](https://docs.github.com/ja/billing/concepts/product-billing/github-actions)は、標準のGitHubホステッドランナーはパブリックリポジトリとGitHub Pages向けの利用では無料と書いています。大型ランナーは有料です。単価と無料枠は[GitHub Actionsの料金と無料枠](/tech/details/16698/)で整理しています。

## 容量・帯域・ビルドの制限

公式の[GitHub Pagesの制限ページ](https://docs.github.com/ja/pages/getting-started-with-github-pages/github-pages-limits)には、次の上限が載っています。

| 項目           | 上限        | 種類         |
| ------------ | --------- | ---------- |
| 公開サイトのサイズ    | 1GB       | 上限         |
| ソースリポジトリのサイズ | 1GB       | 推奨値        |
| デプロイの所要時間    | 10分       | 超えるとタイムアウト |
| 帯域           | 月100GB    | ソフトリミット    |
| ビルド回数        | 1時間に10回   | ソフトリミット    |
| ユーザー・組織サイトの数 | 1アカウントに1つ | 上限         |

「ソフトリミット」と明記されているのは帯域とビルド回数だけで、公開サイトの1GBには付いていません。ビルド回数の上限は、独自のGitHub Actionsワークフローでビルド・公開する場合には適用されません。上限を大きく超えると、GitHub SupportからCDNの前置きや別のホスティングへの移行などを提案するメールが届くか、サイトが配信されなくなることがあります。リクエストが集中してレート制限にかかった場合は、HTTPステータス429が返ります。

動画や大量の画像を置くと1GBに届きやすくなります。大きなファイルは外部のストレージやCDNに置き、GitHub PagesにはHTMLと軽いアセットだけを載せる構成にすると、容量と帯域の消費を抑えられます。

## できないこと・商用利用の可否

GitHub Pagesは静的ファイルを返すだけなので、サーバー側でプログラムを動かすことはできません。PHP、データベース、サーバー側で処理する問い合わせフォーム、ログイン機能は、そのままでは実現できません。フォームを置きたい場合は、送信先を外部のフォームサービスやAPIにします。

### 商用利用で禁止されている用途

公式の制限ページは、GitHub Pagesを「オンラインビジネス、ECサイト、または主に商取引の促進や商用SaaSの提供を目的とするサイトを運営するための無料ホスティングサービス」として使うことは想定されておらず、許可もされていないと明記しています。パスワードやクレジットカード番号を送信するような機密性の高い取引にも使わないよう求めています。

一方で、企業のプロジェクトのドキュメント、製品の紹介ページ、エンジニアのポートフォリオのように、商取引そのものを担わないサイトは広く使われています。判断基準は、決済や会員管理の有無ではなく、サイトの主目的が商取引の促進や商用SaaSの提供に当たるかどうかです。決済やサーバー処理が必要なら、[Vercel](/tech/details/2964/)、[Cloudflare Pages](/tech/details/3438/)、[Firebase Hosting](/tech/details/16674/)のように、サーバー側の処理を組み合わせられるサービスを検討します。VercelとCloudflare Pagesの料金の増え方と商用条件の違いは[VercelとCloudflare Pagesの比較](/tech/details/18587/)で扱っています。

## ブラウザだけで公開する初回の手順

Gitをインストールしていなくても、GitHubの画面操作だけで公開できます。ここでは公式の[GitHub Pagesのクイックスタート](https://docs.github.com/ja/pages/quickstart)に沿って、ユーザーサイト（`<ユーザー名>.github.io`）を作る流れを示します。GitHubの画面は英語表記なので、ボタン名は英語のまま書きます。

### リポジトリ作成とindex.htmlの配置

1. 画面右上の「+」から`New repository`を選びます。
2. リポジトリ名に`<ユーザー名>.github.io`を入力します。ユーザー名が`octocat`なら`octocat.github.io`です。
3. 公開範囲を選びます。GitHub Freeならパブリックを選びます（プライベートでは公開できません）。
4. `Add README`をオンにして`Create repository`を押します。
5. `Add file` → `Create new file`で`index.html`を作り、次の内容を貼って`Commit changes`を押します。

```
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>はじめてのGitHub Pages</title>
</head>
<body>
  <h1>公開できました</h1>
</body>
</html>
```

GitHub Pagesは、公開元のフォルダの最上位にある`index.html`、`index.md`、`README.md`のいずれかを入口のファイルとして探します。`index.html`を置かずに、クイックスタートのようにREADMEだけで公開すると、READMEに書いた内容がトップページになります。プロジェクトサイトにする場合は、リポジトリ名を任意にし、公開URLは`<ユーザー名>.github.io/<リポジトリ名>/`になります。

### Settings → Pagesでの公開ソース選択

1. リポジトリの`Settings`タブを開き、左メニューの「Code, planning, and automation」にある`Pages`を選びます。
2. 「Build and deployment」の`Source`で`Deploy from a branch`を選びます。
3. `Branch`で`main`とフォルダ`/ (root)`を選び、`Save`を押します。
4. 数分待って同じ画面を開き直すと、上部に「Your site is live at」と公開URLが表示され、`Visit site`から開けます。

公式ドキュメントは、プッシュから反映まで最大10分かかるとしています。ブランチ公開でも、裏ではGitHub Actionsのワークフローが動いてデプロイされるため、進み具合と失敗はリポジトリの`Actions`タブで確認できます。1時間たっても表示されない場合は、ビルドエラーの有無をActionsタブで見て、URLやファイル名の誤りは[GitHub Pagesが表示されないときの切り分け](/tech/details/4397/)を参照してください。

### 公開後の更新と非公開化

更新は、公開元のブランチにファイルをコミットするだけです。ブランチ公開なら、変更が公開元のブランチに入るたびに自動で再デプロイされます。画面から編集してもよく、手元で編集して[Gitコマンド](/tech/details/2787/)でプッシュしてもかまいません。

サイトを止めたいときは、公開URLの表示（「Your site is live at」）の横にある「…」メニューから`Unpublish site`を選びます。公式ドキュメントによると、この操作は現在のデプロイを取り除くだけで、リポジトリの設定や内容は残ります。ブランチ公開なら公開ソースを設定し直してコミットすれば、Actions公開ならワークフローを再実行すれば、再び公開されます。リポジトリをプライベートにする操作は、GitHub Freeでは公開を止める手段になりますが、有料プランではサイトが公開されたまま残る点に注意してください。

## 公開方式の選び方：ブランチ公開とGitHub Actions

公開ソースには「ブランチから公開（Deploy from a branch）」と「GitHub Actionsで公開」の2つがあります。前章の手順はブランチ公開です。

### 公開方式に関する公式の推奨と選択基準

[公開ソースの設定ページ](https://docs.github.com/ja/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)は「ビルド工程を制御する必要がなければ、特定のブランチへのプッシュで公開することを推奨する」と書いています。一方、Jekyllの解説ページには「GitHub Actionsがデプロイと自動化の推奨手段になった」という注記があります。両者は矛盾しているように見えますが、公開ソースの設定ページの基準は「HTMLかJekyllか」ではなく「ビルド工程を制御する必要があるか」です。Jekyllでも、GitHub Pages標準の版とプラグインで足りるならブランチ公開で問題なく、版やプラグインを自由に選びたいならActionsが向いています。

| サイトの作り方                      | 向いている公開方式      |
| ---------------------------- | -------------- |
| 手書きのHTML・CSS・JS              | ブランチ公開         |
| Jekyll（GitHub Pages標準の版で足りる） | ブランチ公開         |
| Jekyll 4系・独自プラグイン            | GitHub Actions |
| Hugo・Astro・MkDocsなど          | GitHub Actions |

ブランチ公開では、公開するブランチと、ルート（`/`）か`/docs`フォルダのどちらかを選びます。ブランチ公開のJekyllビルドが使うのは`github-pages` gemのv232（2024年8月リリース）で、Jekyll本体は3.10.0です。Jekyllの最新は4.4.1（2025年1月リリース）なので、4系の機能や許可リストにないプラグインを使いたい場合は、Actionsで自分のビルドを組みます。逆に、Jekyllを使わない手書きのHTMLをブランチ公開するときは、公開元のルートに空の`.nojekyll`ファイルを置くとJekyllのビルドを止められます。[MkDocsでGitHub Pagesに公開する手順](/tech/details/3675/)のように、Jekyll以外のジェネレーターにはActions公開が推奨されますが、手元で生成した静的ファイルをブランチから公開することもできます。

### GitHub.com向けの静的ファイル公開ワークフロー

GitHubが用意している静的サイト用のテンプレート（starter-workflowsの`pages/static.yml`）は、2026年10月23日時点で`actions/checkout@v4`と`actions/upload-pages-artifact@v3`など古い版を参照しています。各アクションの最新リリースはcheckout v7.0.1、configure-pages v6.0.0、upload-pages-artifact v5.0.0、deploy-pages v5.0.1で、メジャー版を置き換えると次のようになります。`.github/workflows/pages.yml`として保存し、Settings → Pagesの公開ソースを「GitHub Actions」にします。

```
name: Deploy static content to Pages

on:
  push:
    branches: [main]
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: actions/configure-pages@v6
      - uses: actions/upload-pages-artifact@v5
        with:
          path: './public'
      - id: deployment
        uses: actions/deploy-pages@v5
```

`path`には公開するHTMLのフォルダを指定します。この例にはビルド処理がないため、mainブランチにpublicフォルダとindex.htmlを用意するか、アップロード前に生成処理を追加します。手書きのHTMLをリポジトリ直下に置いているなら`'.'`です。版を上げるときに注意したいのが、`upload-pages-artifact`のv4で入った変更です。v4以降はドットで始まるファイルとフォルダがアーティファクトから除外されるため、`.well-known/`配下のファイルなどが公開されなくなります。v5で追加された`include-hidden-files: true`を指定すれば含められます（`.git`と`.github`は常に除外）。ワークフローの基本は[GitHub Actionsの解説](/column/details/3005/)を、社内のデプロイ工程ごと整えたい場合は[DevOps・CI/CD導入支援](/service/system/devops/)を参照してください。

## 独自ドメインとHTTPS

`github.io`のサイトは、2016年6月15日以降に作成されたものならHTTPSで自動配信されます。独自ドメインを設定した場合も、GitHubがLet’s Encryptから証明書を自動取得し、Settings → Pagesの「Enforce HTTPS」で常時HTTPSにできます。この項目は、ドメインを追加してから選べるようになるまで最大24時間かかります。また、証明書を発行するにはドメイン名全体が64文字未満である必要があります。

独自ドメインでは、先にアカウントや組織でドメインの所有権を確認（verify）しておくことが推奨されています。確認しておかないと、リポジトリを削除したりプランをダウングレードしたりしたときに、他のユーザーにそのドメインでサイトを公開される「ドメイン乗っ取り」が起こりえます。Aレコード・CNAMEの具体的な値と、wwwと素のドメインの組み合わせ方は[GitHub PagesのURLとカスタムドメインの解説](/tech/details/4397/)にまとめています。

## GitHub PagesのSEO設定と検索状況の確認

GitHub Pagesで公開したサイトは、公開しただけでは検索結果に出るまで時間がかかります。自分でできる対策は、サイトマップを用意する、ページごとのタイトルと説明文を整える、Search Consoleで所有権を確認してサイトマップを送信する、の3つです。

### Jekyllプラグインによるサイトマップとメタタグの出力

ブランチ公開のJekyllでも、`jekyll-sitemap`（1.4.0）と`jekyll-seo-tag`（2.8.0）はGitHub Pagesの対応プラグイン一覧に入っているため、そのまま使えます。`_config.yml`に次のように追加します。

```
url: "https://example.github.io"
plugins:
  - jekyll-sitemap
  - jekyll-seo-tag
```

`jekyll-sitemap`はビルド時に`sitemap.xml`を生成し、`jekyll-seo-tag`はレイアウトの`<head>`内に書いた`{% seo %}`の位置に、titleタグ、meta description、canonical、OGPを出力します。GitHub Pages標準のJekyll環境では、未設定の`url`と`baseurl`をGitHub Metadataが補完します。独自のビルド環境では公開先に合わせて設定し、生成されたサイトマップとcanonicalの絶対URLを確認してください。HugoやAstroなど他のジェネレーターにも同等の機能があるので、それぞれの設定でサイトマップ出力を有効にします。

### プロジェクトサイトのrobots.txtの配置条件

robots.txtは、ホストのルート（`/robots.txt`）に置いたものだけが読まれます。プロジェクトサイトは`<owner>.github.io/<リポジトリ名>/`という下の階層で公開されるため、リポジトリにrobots.txtを置いても検索エンジンには読まれません。ルートのrobots.txtを管理しているのは、同じアカウントのユーザーサイト（`<owner>.github.io`リポジトリ）です。プロジェクトサイトでrobots.txtを細かく制御したい場合は、ユーザーサイト側に置くか、独自ドメインを割り当てます。

ユーザーサイトや独自ドメインのサイトなら、ルートにrobots.txtを置いてサイトマップの場所を伝えられます。

```
User-agent: *
Allow: /
Sitemap: https://example.github.io/sitemap.xml
```

### github.ioサイトのSearch Console登録方式

`github.io`のDNSは利用者が編集できないため、`github.io`のサイトでは、DNSレコードで所有権を確認するSearch Consoleのドメインプロパティは使えません。URLプレフィックスのプロパティを作り、HTMLファイルかmetaタグを置いて確認します。確認手順とアクセス解析タグの設置は[GitHub Pagesの記事のアクセス解析の章](/tech/details/4397/)で扱っています。独自ドメインを使えばドメインプロパティで登録でき、サイトを別のホスティングへ移しても検索の評価をURLごと引き継ぎやすくなります。

## よくある質問

### GitHub Pagesは無料で使えますか？

パブリックリポジトリから公開するなら、GitHub Freeで無料です。プライベートリポジトリから公開するにはGitHub Pro・Team・Enterprise Cloud・Enterprise Serverのいずれかが必要です。通常の公開サイトは誰でも閲覧できますが、Enterprise Cloudのプライベート公開やEnterprise Serverの管理設定による例外があります。

### GitHub Pagesのサイトにパスワードをかけられますか？

Basic認証やパスワードの設定はありません。閲覧者を限定できるのは、組織がGitHub Enterprise Cloudを使っている場合のプライベート公開で、対象は組織のプロジェクトサイトです。Enterprise Serverでは、管理者の設定で公開範囲が変わります。

### GitHub Pagesは商用利用できますか？

オンラインビジネス、ECサイト、商用SaaSなど、商取引の促進や商用SaaSの提供を主な目的とするサイトを無料で運営する用途は、公式に禁止されています。企業のドキュメントや製品紹介ページでも、主目的がそれに当たる場合は禁止用途に該当します。

### GitHub Pagesの容量はどれくらいですか？

公開サイトは1GBまでで、帯域は月100GB、ビルドは1時間10回がソフトリミットです。ただし、独自のGitHub Actionsワークフローでビルド・公開する場合、ビルド回数の制限は適用されません。デプロイは10分を超えるとタイムアウトします。

### 更新したのにサイトが変わらないのはなぜですか？

公式には反映まで最大10分かかるとされています。加えて、応答に`cache-control: max-age=600`が付く場合は、ブラウザや中間キャッシュが最大10分間は古い内容を返すことがあります。1時間たっても変わらない場合は、Actionsタブでビルドやデプロイが失敗していないかを確認します。

## 関連記事

- [GitHub PagesのURLはどこで確認する？表示されない原因・形式・404の切り分け](/tech/details/4397/)
- [MkDocsの使い方｜Material for MkDocsの設定・日本語検索・GitHub Pages公開と2.0の注意](/tech/details/3675/)
- [SSGとは？静的サイトジェネレーターの仕組みと企業サイト採用の判断基準](/column/details/17699/)
- [VercelとCloudflare Pagesの違い：Next.jsの動かし方・料金の増え方・商用条件で選ぶ【2026年10月】](/tech/details/18587/)
- [GitHub Actionsの料金｜2026年改定後の分単価・無料枠とコスト削減の判断基準](/tech/details/16698/)

---

出典: [GitHub Pagesとは？料金・無料の範囲と容量制限、公開手順・商用利用・SEO設定【2026年】](<https://www.issoh.co.jp/tech/details/5875/>)（株式会社一創）
