メインコンテンツへスキップ

HugoブログをGitHub PagesからCloudflare Pagesに移行した

·1213 文字·3 分
目次

はじめに
#

このブログは静的サイトジェネレータHugoを使って構築している。 GitHub Pagesで公開していたが、アクセス数が増えて帯域制限に迫ってきたためCloudflare Pagesに移行した。 また、GitHub Pagesの無料プランではパブリックリポジトリを使う必要があり、誤って個人情報を公開してしまう可能性があることも理由である。 この記事は移行の備忘録である。

移行前後の構成は以下の通り。

構成 移行前 移行後
ソースコード GitHub (Private) GitHub (Private)
ビルド ローカル Cloudflare Pages
ホスティング GitHub Pages Cloudflare Pages

なお、ドメインはお名前ドットコムを継続使用した。

ホスティングサービスの無料プラン比較
#

まず、静的サイトホスティングサービスの無料プランを比較した。ただし、Azure, AWSなどは多機能過ぎて学習コストが高く、今回のブログ構築の目的には合わないと思ったので除外している。

サービス 帯域[GB/月] 自動ビルド
Cloudflare Pages 無制限 500[回/月]
GitHub Pages 100 10[回/時間]
Netlify 100 300[分/月]
Vercel 100 100[時間/月]

比較の結果、帯域制限のないCloudflare Pagesに移行することにした。

なお、これらの中ではNetlifyのサーバは海外にあるため、日本からの応答速度がやや遅い。 Cloudflare Pages・Vercel ・Netlify の違いや使い分けをまとめる - Zenn

移行の手順
#

GitHub PagesからCloudflare Pagesへ移行した手順を示す。

  1. Cloudflare Pagesでビルドするリポジトリを指定
  2. ドメインの設定
  3. GitHub Pagesの公開停止

以下、詳細を示す。

Cloudflare Pagesのリポジトリ設定
#

まず、Cloudflare Pagesのアカウントを作成し、GitHubのアカウントと紐づける。次に、Cloudflare Pagesでプロジェクトを作成し、Hugoのソースコードがあるリポジトリを指定する。

このリポジトリを自動ビルドするにあたって、「フレームワークプリセット」をHugoにする。また、環境変数にHUGO_VERSIONを追加し、ビルドするHugoのバージョンを指定する。

Cloudflare Pagesのビルド設定
Cloudflare Pagesのビルド設定

ドメインの設定
#

Cloudflare Pagesでカスタムドメインを設定し、Cloudflare DNSを開始する。Cloudflare DNSは無料プランとした。 そうすると、Cloudflareのネームサーバを追加せよと表示されるので、お名前ドットコムでネームサーバを設定する。

お名前ドットコムのネームサーバ設定
お名前ドットコムのネームサーバ設定

Cloudflare Pagesに戻り、ネームサーバをチェックする。カスタムドメインのタブが以下のようになれば、おそらく完了である。

Cloudflare Pagesのカスタムドメイン
Cloudflare Pagesのカスタムドメイン

通常は1日程待つらしいが、今回は30分も掛からずに移行が完了した。 移行が完了したら、忘れずにGitHub Pagesを公開停止しておく。

参考
#

Helve
著者
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

関連記事

静的サイトをブログ村に登録するならNetlifyがオススメ
·1250 文字·3 分
静的サイトをブログ村に登録する場合、Netlify以外のホスティングサービスを使用すると最新記事を取得してくれない可能性がある。
HugoのZzoテーマでTwitter Card用の画像を設定する
·1621 文字·4 分
HugoのZzoテーマでTwitter Cardに表示する画像を設定する方法をまとめた
Hugoサイトにお問い合わせフォームを設置する
·994 文字·2 分
HugoのZZoテーマに、Googleフォームを利用したお問い合わせフォームを設置した。
Hugoサイトに最新版のGoogle Analyticsのタグを埋め込む
·1241 文字·3 分
HugoのPartial Templatesを利用して、最新版のGoogle Analytics (gtag.js) のトラッキングコードを埋め込む方法をまとめた。
Hugoでよく使うコマンド一覧
·1485 文字·3 分
静的サイトジェネレータHugoで使用頻度の高いコマンドをまとめた。
HugoのZzoテーマで記事の日付・著者の絵文字をSVGに変更する
·1953 文字·4 分
HugoのZzoテーマで記事の日付・著者に設定されている絵文字アイコンを、モダンなデザインのSVG画像に変更する方法を解説する。