GitHub Pagesの独自ドメイン設定:DNS、CNAME、HTTPSのセットアップ

GitHub Pagesで独自ドメインを設定する方法。apexとwwwのDNSレコード、CNAMEファイルの役割、ドメイン認証、HTTPSの有効化までを解説します。

よくある質問

GitHub Pagesのapexドメインには、どのIPアドレスを使えばよいですか?

GitHubのドキュメント(2026年11月確認)では、apexホスト(@)用に4つのAレコードが案内されています:185.199.108.153、185.199.109.153、185.199.110.153、185.199.111.153。IPv6も使いたい場合は、4つのAAAAレコード(2606:50c0:8000::153、2606:50c0:8001::153、2606:50c0:8002::153、2606:50c0:8003::153)を追加します。GitHubは、AAAAレコードを追加する場合もAレコードは残しておくことを推奨しています。これらの値はGitHubが変更する可能性があるため、貼り付ける前に必ず最新のドキュメントと照合してください。

リポジトリにCNAMEファイルは必要ですか?

ブランチから公開する場合のみ必要です。その場合、Settings > Pagesでカスタムドメインを保存すると、公開元ブランチのルートにCNAMEファイルが自動でコミットされます。カスタムのGitHub Actionsワークフローで公開する場合は、GitHubの説明によればCNAMEファイルは作成されず、既存のファイルがあっても無視され、必須でもありません。

「Enforce HTTPS」のチェックボックスがグレーアウトして押せないのはなぜですか?

GitHubによると、ドメインを追加してから選択できるようになるまで最大24時間かかることがあります。証明書は自動で発行されるため、チェックボックスが有効にならない主な原因は、DNSがまだ反映されていないか、余分なレコードがあることです。たとえば、apexに追加のA、AAAA、ALIAS、ANAMEレコードがある、wwwのCNAMEがGitHub以外を指している、といったケースです。また、ドメインは64文字未満である必要があります。改善しない場合は、ドメイン横の「Remove」をクリックし、入力し直して保存し直してください。

apexドメインとwwwのどちらを使うべきですか?

GitHubはwwwを推奨しています。ドキュメントによれば、wwwサブドメインはGitHubのサーバーIPアドレスの変更の影響を受けないため、最も安定したカスタムドメインです。どちらをカスタムドメインに設定しても、両方のDNSがGitHub Pagesを指していれば、GitHubがもう一方を設定した側へリダイレクトします。

GitHub Pagesの独自ドメインが使えるようになるまで、どのくらいかかりますか?

GitHubによると、DNSの変更が反映されるまで最大24時間かかることがあります。実際にはもっと早く反映されることも多いですが、何か問題があると判断する前に、丸一日は見ておきましょう。

GitHub Pagesでワイルドカード DNSレコードを使っても安全ですか?

GitHubは、*.example.comのようなワイルドカードレコードの使用を強く非推奨としています。ドキュメントによれば、ドメインを認証していても、ドメイン乗っ取りの危険に直ちにさらされます。代わりに、実際に使うサブドメインごとに個別のレコードを作成してください。

結論: リポジトリの Settings > Pages を開き、Custom domain(カスタムドメイン)にドメインを入力して保存します。次にDNSプロバイダーで、www をCNAMEレコードで <username>.github.io に向け、ネイキッドドメイン(example.com)は4つのAレコードでGitHubに向けます。GitHubが証明書の発行を終えたら、Enforce HTTPS にチェックを入れます。作業はリポジトリの設定とDNSレコードをいくつか追加するだけです。遅れの原因はほとんどがDNSの反映待ちで、GitHubによると最大24時間かかることがあります。

以下の内容はすべて、2026年11月時点のGitHub公式ドキュメントで確認しています。DNSの値は最も変更されやすい部分なので、貼り付ける前に GitHub Pagesのカスタムドメインに関するドキュメント で必ず確認してください。

まずドメインの種類を決める

訪問者に表示したいURLカスタムドメインに設定する値必要なDNSレコード備考
www.example.comwww.example.comwww にCNAME(<username>.github.io 宛)+ apexにAレコードGitHub推奨の構成。example.com はwwwにリダイレクトされます。
example.comexample.comapexにAレコード(またはALIAS/ANAME 1件)+ www にCNAMEwww.example.com はapexにリダイレクトされます。
blog.example.comblog.example.comblog にCNAME(<username>.github.io 宛)apexのレコードは不要です。

GitHubのドキュメントでは、wwwサブドメインはGitHubのサーバーIPアドレスの変更に左右されないため、最も安定した選択肢だとされています。ネイキッドドメインにこだわる理由がなければ、wwwを選びましょう。レジストラをこれから選ぶ場合は、ドメインレジストラの比較 で選択肢を、ドメイン取得にかかる費用 で更新料金の考え方を確認できます。

手順:ドメインを接続する

  1. GitHubでドメインを追加する。 リポジトリを開き、Settings、続けて Pages(「Code, planning, and automation」の下)をクリックします。Settingsタブが見当たらない場合は、「More」ドロップダウンの中にあります。Custom domainの欄にドメインを入力し、Saveをクリックします。
  2. リポジトリに何が起きたか確認する。 ブランチから公開している場合、GitHubはそのブランチのルートに CNAME ファイルをコミットします。カスタムのGitHub Actionsワークフローで公開している場合、CNAMEファイルは作成されず、既存のものがあっても無視されます。
  3. デフォルトのDNSレコードを削除する。 これから使うホストに対して、DNSプロバイダーがパーキング用やデフォルトのレコードを自動作成していた場合は、先に削除します。
  4. DNSレコードを作成する。 DNSプロバイダーで作成します(次のセクションを参照)。
  5. 反映を待つ。 GitHubによると最大24時間です。進み具合はターミナルから dig www.example.com +noall +answer で確認できます。
  6. Enforce HTTPSを有効にする。 選択できるようになったら有効にします(下記参照)。

順番はそれほど重要ではありません

DNSレコードは、GitHubにドメインを保存する前でも後でも作成できます。注意したいのは、どのリポジトリにも紐づいていないドメインのDNSがGitHub Pagesを向いたままになる状態です。GitHubは、ドメインをGitHubに追加せずにDNSだけ設定すると、第三者があなたのサブドメインでサイトを公開できてしまう可能性があると警告しています。先にGitHubでドメインを保存し、そのあとでDNSを設定してください。

DNSレコード

wwwまたは任意のサブドメイン:CNAME 1件

タイプホスト値
CNAMEwww<username>.github.io

リポジトリ名を含めず、ユーザー名または組織名を使ってください。リポジトリ設定に表示される固有の *.pages.github.io アドレスをCNAMEの向け先にしてはいけない、とGitHubは明記しています。

apexドメイン:Aレコード4件(2026年11月確認)

タイプホスト値
A@185.199.108.153
A@185.199.109.153
A@185.199.110.153
A@185.199.111.153

IPv6が必要な場合は、@ にAAAAレコードを追加します(任意):

タイプホスト値
AAAA@2606:50c0:8000::153
AAAA@2606:50c0:8001::153
AAAA@2606:50c0:8002::153
AAAA@2606:50c0:8003::153

IPv6はまだ普及が均一ではないため、GitHubはAAAAレコードを追加する場合でもAレコードを追加することを推奨しています。DNSプロバイダーがALIASまたはANAMEレコードに対応している場合は、AレコードとAAAAレコードの代わりに、<username>.github.io を指すレコード1件を使うこともできます。

避けたい間違いは2つあります。

  • apexに余分なレコードを置く。 GitHubによると、@ に追加のA、AAAA、ALIAS、ANAMEレコードがあったり、wwwのCNAMEが別の場所を指していたりすると、HTTPS証明書が発行されない場合があります。
  • サブドメインをapexに向ける。 GitHubは、HTTPSの強制で問題が起きたり、サブドメインからサイトに到達できなくなったりする可能性があると警告しています。サブドメインは <username>.github.io に向けてください。

プロバイダーによって、apexホストを @ で表すもの、空欄にするもの、ドメイン名をフルで入力させるものがあります。これはGitHubの設定ではなく、プロバイダーごとの仕様の違いです。

HTTPSを有効にする

GitHubはLet's Encryptを通じて、独自ドメイン用の証明書を発行します。DNSが正しく解決されるようになったら、次の手順で進めます。

  1. Settings > Pages に戻ります。
  2. ドメインの横にチェックマークが付いていることを確認します。これはDNSチェックに通ったという意味です。
  3. Enforce HTTPS にチェックを入れます。

GitHubによると、このオプションが使えるようになるまで最大24時間かかることがあります。保存してから数分たっても表示されない場合、GitHubが案内する対処法は、カスタムドメイン横のRemoveをクリックし、入力し直してSaveをもう一度クリックすることです。証明書を作成するには、ドメインが64文字未満である必要もあります。

チェックボックスがグレーアウトしたままの場合は、次の項目を順に確認してください。

  • [ ] そのホストのDNSがGitHubに解決される(dig で4つのIP、または <username>.github.io へのCNAMEが表示される)
  • [ ] apexに余分なA、AAAA、ALIAS、ANAMEレコードがない
  • [ ] www のCNAMEが、apexやpages.github.ioのアドレスではなく <username>.github.io を指している
  • [ ] Settings > Pagesのドメインが、DNSに入力したものと完全に一致している
  • [ ] ドメインを一度削除して追加し直した

ドメインを認証する(強く推奨)

ドメイン認証をしておくと、Pagesサイトのリンクが外れた場合に、別のGitHubアカウントにドメインを横取りされるのを防げます。GitHubは、リポジトリを削除した場合、課金プランをダウングレードした場合、またはドメインがGitHub Pages向けに設定されたまま未認証の状態でリンクが外れるような変更を行った場合に、ドメイン乗っ取りが起こりうるとしています。

  1. リポジトリ設定ではなく、プロフィールの設定を開き、サイドバーの Pages をクリックします。
  2. Add a domain をクリックし、ドメインを入力して確定します。
  3. GitHubが表示するTXTレコードを作成します。ホスト名は _github-pages-challenge-USERNAME.example.com のようになります。
  4. dig _github-pages-challenge-USERNAME.example.com +nostats +nocomments +nocmd TXT で、レコードが見えることを確認します。
  5. GitHubに戻り、ドメイン横のメニューから Continue verifying、続けて Verify を選びます。

GitHubによると、すぐに完了する場合もあれば、最大24時間かかる場合もあります。認証後も、TXTレコードはそのまま残しておいてください。また、*.example.com のようなワイルドカードレコードは使わないでください。GitHubによると、ドメインを認証していても乗っ取りのリスクがあります。

よくあるトラブル

  • 独自ドメインで404になるが、github.ioでは表示される。 Settings > Pagesにドメインが保存されていないか、DNSがまだ反映されていません。両方を確認してください。
  • デプロイのたびにドメインがリセットされる。 ブランチから公開している場合、公開元ブランチの CNAME ファイルにドメインが書かれている必要があります。ブランチのルートを消去するビルドや、このファイルを含めないデプロイがあると、ファイルが消えることがあります。カスタムのActionsワークフローに切り替えれば、このファイルは不要になります。
  • apexは表示されるがwwwは表示されない(またはその逆)。 両方のホストにレコードが必要です。GitHubが対になるホストをリダイレクトするのは、そちらのDNSもGitHub Pagesを向いている場合に限られる点に注意してください。
  • 証明書がいつまでも発行されない。 上のチェックリストを確認し、まず余分なレコードが残っていないか見てください。

DNSを自分で管理したくない場合

GitHub Pagesは、すでにリポジトリで管理している静的サイトに向いています。とにかく独自ドメインでサイトを公開したいだけなら、We.Incの独自ドメイン機能 では、同じDNS設定をビルダーの中で順を追って進められます。また、ドメイン接続ガイド では、どのプロバイダーでも使える手順を紹介しています。We.Incの無料プランでは、用意されたテンプレートから最大3サイトまで公開できます。プロンプトからサイトの下書きを作成するAIビルダーは、月額$20のStarterプランから利用できます。こちらからサインアップできます。

無料で始める · クレジットカード不要

Umair Ali Sadaqat

We.Inc創業者

UmairはWe.Incの創業者です。AIによるウェブサイト制作、制作会社、ウェブ制作スタジオの経営について執筆しています。

素晴らしいものを作る準備はできましたか?

立ち上げ、成長、自動化のすべてを1つのプラットフォームで行う15,000+社がWe.Incを利用しています。

無料で始める

クレジットカード不要 · 営業担当に相談する

関連: ブログ|デジタルマーケティングと集客のヒント

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る