独自ドメインについて設定するつもりはまったくなかったのですが、Google Workspaceに課金しようとしたところ、独自ドメインを持っている必要があったので、Blog用メインにドメインを確保してしまいました。早速設定してみましたので、関連情報をまとめておきます。
手順まとめ
以下のような感じです。ドメインの獲得からGitHub Pagesへの設定・動作することの確認、設定後に必要なことをメモしてます。
CloudFlareを使ってますが、別にCloudFlareじゃないサービスでドメイン取得してもほぼ同じとなります。
- (Cloudflareで)ドメイン取得
- (CloudFlareに)DNS Recoedsを設定
- GitHub Pagesのsettingでカスタムドメインを設定
- 継続的なデプロイに備えてpelican環境を設定
- おまけ:検索と分析の設定も変更しておく
(Cloudflareで)ドメイン取得
参考情報
手順メモ
- Cloudflareの場合、ドメインを検索してチェック(.devか.netで迷って.devとした)
- 住所とかクレジットカード情報を入れて購入
なんか10年とか一気に購入できるっぽいですね。
(CloudFlareに)DNS Recoedsを設定
参考情報
主に1つめのリンク先に従って以下に従って作業してます。
手順メモ
- (Cloudflareの場合)ダッシュボード画面から購入したドメインを選択、DNS->Recordsを選択し、画面からデータを追加
- アドレス設定はこちらの情報(GitHubのドキュメント)を参考するのがよいかと
- 実際にはIPv6アドレス(AAAAレコード)も設定した方がよい感じもしますが、今のところ放置(未設定)
- AレコードにGitHubのドキュメント記載の
185.199.1XX.153を追加- Cloudflareだとナビゲーションありで、名前に@を設定すると対象のドメイン(今回はzatsumemo.dev)が登録される
- あわせて、CNAMEの名前に
www、ターゲットに(GitHubアカウント名).github.ioを追加 - Ploxy statusは「DNS Only」になるように設定

登録後、すぐにGitHub Pages側に設定できるのかな?と思いましたが、上記設定の30分後くらいで下記作業をしたところ、特に問題なく反映されてました。
GitHub Pagesのsettingでカスタムドメインを設定
GitHubの「Setting->Pages」からカスタムドメインを設定するだけです。ドメイン獲得・DNS Recordsの設定後、こちらの作業をすることで反映されました。
「DNS check successful」と出ればOKです。

ちなみに、以下のような動きをしてます。
- 設定時にGitHub Pagesのリポジトリに
CNAMEファイルが追加されるzatsumemo.dev(対象のドメイン名)だけ書かれているデータです
この記事に記載の手順で上から進めた場合、次の手順を入れないとPelicanのデプロイ時にCNAMEが消えてしまうので注意しましょう。
継続的なデプロイに備えてpelican環境を設定
ghp-importだとしれっとCNAMEが消えちゃいますので、手元の環境で以下の手続きを入れておきます。
- pelicanプロジェクト環境の
contentディレクトリにCNAMEファイルを追加zatsumemo.dev(対象のドメイン名)だけテキストで書かれているデータを用意
- CNAMEを
outputディレクトリに入れるよう、pelicanconf.pyに以下の記述を追加
STATIC_PATHS = [
'CNAME',
]
おまけ:検索と分析の設定も変更しておく
Google Search Console、Google Analyticsも独自ドメインに変えておいた方がよいでしょう(参考手順)。

あれ、今度はサイトマップがちゃんと読み込めた…?
Read more: