NetlifyからCloudflare Pagesへ引っ越しました
突然ですが、このサイトの環境をNetlifyからCloudFlareへ引っ越し、URLが変更となりました。
Netlifyで不満があったわけではありませんが、CloudFlareでデプロイする機会が増えてきて、国内だとCloudflareの方がレスポンス良さそうだからです。
現状
現状 | 引越し先 |
---|---|
Gitlab | Github |
Netlify | Cloudflare |
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 & Pages
→ Create application
→ Pagesタブ
Connect to Git
で Githubのcf-way2goと連携し、Bigin setup
Project name | way2go |
---|---|
deployed URL | way2go.pages.dev |
Framework | Hugo |
Build command | hugo -b $CF_PAGES_URL |
output directory | public |
後日build commandをhugo —gc —minify -b $CF_PAGES_URL
へ変更
環境変数
HUGO_VERSION | 0.120.0 |
---|---|
CF_PAGES_URL | https://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で作成
ソースURL | https://way2go.pages.dev/ |
---|---|
ターゲットURL | https://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制限がかかったり廃止にならないかを懸念しています。