GitHub Pages を Naked Domain(サブドメインをつけない hamasyou.com みたいなやつ)で運用する場合の手順です。
GitHub Pages をサブドメイン(www.hamasyou.com みたいなやつ)で運用する場合は、DNS サービスの CNAME を hamasyou.github.io に設定すれば問題ないのでこの記事は読む必要がありません。
hamasyou.com はムームードメインで取得していますので、ムームードメインを元に説明します。が、ムームードメインに限らず、Apex Alias を設定できない DNS サービスを使うときの参考にしてください。 なんでこんな事をメモするかというと、GitHub Pages を独自ドメインで運用する際に Apex Alias を使わないと 302 Found のステータスコードが返ってきて、SEO 的に嫌なのと Facebook のシェアで404 Not Found が出てしまう からです。
Fix 302 Redirect Response For GitHub Hosted Site
別に 302 Found がでても構わないっていうひとは GitHub Pages のヘルプを参考にしてやってみてください。
Setting up a custom domain with Pages - GitHub Help
やりたいこと
やりたいことの整理です。
- GitHub Pages を hamasyou.com で運用する
- www.hamasyou.com を hamasyou.com の CNAME に設定する
hamasyou.com の A レコードを GitHub Pages の IP に設定するだけだと CDN が効かないし、ステータスコードが302で返ってくることがあるのでちゃんと200で返して欲しい。
1. 独自ドメインを取得する
まず、独自ドメインを持っていない場合はドメインを取得しましょう。 僕はすでにムームードメインでドメインを取得していたのでアレですが、もしこれからドメインを取るなら、Apex Alias が使えるサービスで取ったほうがいいかもしれません。 そのほうが幸せになれるかも。
2. Apex Alias を設定する
ムームードメインのように、Apex Alias も使えないし、Naked Domain に CNAME を割り当てられないサービスの場合は、レンタル DNS サービスを利用します。 Gehirn DNS がドメイン2つまで無料で使えるので、今回はここを利用しました。
アカウント登録をして、ドメインの認証をまずは行います。TXT レコードを使って認証していきます。出てくるダイアログをよく読めば出来ると思います。
次に、Apex Alias を登録します。手順は次のサイトを見れば分かると思います。
Gehirn DNS、ホスト名無しのドメインにエイリアス機能をサポート - ゲヒルンニュース
コントロールパネルで CNAME も登録します。www.hamasyou.com を hamasyou.com に向けたいので、そのように設定します。
レコードの登録のさいは、末尾に .
が付くので忘れずに。
Gehirn での設定は以上です。つぎは、ムームードメインのネームサーバの設定をします。
3. ネームサーバを変更する
ムームードメインの管理画面に入って、「ネームサーバ設定」で「弊社サービス以外のネームサーバ」を選びます。 ここで、Gehirn のネームサーバの情報を入力します。
これで、hamasyou.com の DNS レコードが Gehirn のネームサーバで参照されて、Alias レコードで hamasyou.github.io を見に行くようになります。 Apex Alias を設定することで、GitHub Pages の CDN が利用出来るようになるので、参照のパフォーマンスもちょっとはあがるはず!らしいです。