NetlifyからCloudflare Pagesへ引っ越しました

突然ですが、このサイトの環境をNetlifyからCloudFlareへ引っ越し、URLが変更となりました。
Netlifyで不満があったわけではありませんが、CloudFlareでデプロイする機会が増えてきて、国内だとCloudflareの方がレスポンス良さそうだからです。

現状

現状引越し先
GitlabGithub
NetlifyCloudflare

way2go.netlify.appを引っ越す

リポジトリ移動

Github

最近では、ほとんどGitlabを利用する事はなく、Github一択になってしまったので、GitlabからGithubへリポジトリも移動しました。

Githubにて、ブライベートモードでリポジトリ作成 (cf-way2go) Gitlabからクローンし、GithubへPush (SSH鍵登録済み)

git clone --recurse-submodules --depth 1 [email protected]:washo/way2go-blog.git
cd way2go-blog
git remote set-url  origin [email protected]:washo/cf-way2go.git

## Gitlabではブランチ名がmasterなのでGithubのmainへ変更

git branch
master

git branch -M main
git push -u origin main

この後、HugoをCloudflareでデプロイする際のOutput DirectoryのPublicが存在しないとビルド失敗するので、Githubのリポジトリにpublicフォルダを作成しておく

Cloudflare Pages

Workers & PagesCreate applicationPagesタブ

Connect to Git で Githubのcf-way2goと連携し、Bigin setup

Project nameway2go
deployed URLway2go.pages.dev
FrameworkHugo
Build commandhugo -b $CF_PAGES_URL
output directorypublic

後日build commandをhugo —gc —minify -b $CF_PAGES_URLへ変更

環境変数

HUGO_VERSION0.120.0
CF_PAGES_URLhttps://way2go.pages.dev

Save & Deploy

ビルドが成功したら、https://way2go.pages.devへ接続確認

Tips

Hugoのconfig.tomlを修正しなくても接続可能であった。

baseurlより$CF_PAGES_URLが優先されるようだが、一応、config.tomlのbaseurlも変更しておこう

独自ドメイン

Custom domains設定にて、way2go.washo3.comを設定

同じCloudflare内なので、自動でDNSへ登録してくれる

  • Bulk Redirects Create Bulk Redirect Listで作成
ソースURLhttps://way2go.pages.dev/
ターゲットURLhttps://way2go.washo3.com/

sitemap

sitemapがpages.devとなり、独自ドメインにならない場合は、Cloudflare側のビルドキャッシュをクリアにしてみる。

さらに、/static/robots.txt内に書かれているsitemap URLを確認し、ローカル環境にてhugoコマンドを実行すると、public内にsitemap.xmlが作成されるので、確認しておく

また、GoogleSearchConsoleを利用していれば、設定を確認しておく。

Netlify

way2go.netlify.appをway2go.pages.devへリダイレクトするには

netlify.tomlファイルの設定にてredirects部分を追記する

プロジェクトのルートに netlify.toml ファイルで、[[redirects]]の部分で設定し、元のGitlabへPush

[[redirects]]
  from = "https://way2go.netlify.app/"
  to = "https://way2go.washo3.com/"
  status = 301
  force = true

Hugo

  • config.toml内のbaseurlを変更
    (Hugo内でbaseurlを指定している場合があるため)
  • Github+Cloudflare+Hugoのnetlify.tomlを削除 (残しておいても影響はない)
  • static/adminフォルダを削除 (netlify用のため)
  • static/robots.txt内に記述していたsitemapのURLを変更

GoogleAnalyticsなど

GoogleAnalyticsやAdsense、SearchConsoleで旧URLを指定や連携をしていたら、それぞれ変更しておこう

その他

旧URLをいつまでに残しておくのが悩むところではありますが、もしGoogle検索からアクセスが多い場合は、1年ほど残した方が良さそうです。
ただ、このサイトでは、それほど記事も多くなくアクセスも僅かなので、半年くらいでも良いのかなぁと思ってます。
また、netlifyのドメインのまま利用となっていたので、今回のような引っ越しでURLが変更になると不便なので、やはり独自ドメインは設定した方が賢明ですね。

今後は、Gitlabのリポジトリを削除し、netlifyの設定を削除し、利用しないようであれば退会となります。
netlify,Gitlabには大変お世話になりました。
Cloudflareに移ったのは良いのですが、このままHugoで更新していくのか迷っており、Astro+Notionへ持っていきたいのですが、今後、NotionのAPI制限がかかったり廃止にならないかを懸念しています。