私の他のブログでは移行が済んでいたNetlifyからCloudflareへ移行を、夏休みに入り時間が取れたので、このサイトでも移行を行いました。
他のブログで移行した作業とほぼ同様の作業なので、割と簡単に移行することができました。
Github
Cloudflareと連携させるため、該当のリポジトリを連携許可に設定しておく。
また、Hugoなので、リポジトリ内にPublicディレクトリを作成しておく
Cloudflare
Workers & Pages
→ Create
→ Pagesタブ
Connect to Git
で Githubのcf-scribbleと連携し、Bigin setup
Project name | scribble |
---|---|
deployed URL | scribble-xxx.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.130.0 |
---|---|
CF_PAGES_URL | https://scribble-xxx.pages.dev |
Save & Deploy
デプロイが成功したら、https://scribble-xxx.pages.dev
へ接続できることを確認する
DNS
このサイトのドメインは既にCloudflareの管理下にて、netlifyへCNAMEで設定していた
CloudflareのCustom Domainsでscribble.washo3.com
を設定すると、よしなにCloudflareのDNS設定を変更してくれる
この後、検証が完了するとDNSの移行が完了
CF_PAGES_URLをhttps://scribble.washo3.com
へ変更し、再ビルドする
Netlifyから修正
security headers
hugoのプロジェクト直下にあった_headersを削除し、/static/フォルダ内に_headersを作成する
https://scribble-xxx.pages.dev/*
X-Robots-Tag: noindex
/pubic/*
X-Frame-Options: DENY
/*
Content-Security-Policy: upgrade-insecure-requests
Expect-CT: max-age=7776000, enforce
Referrer-Policy: strict-origin-when-cross-origin
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Permissions-Policy: geolocation=(); midi=();notifications=();push=();sync-xhr=();accelerometer=(); gyroscope=(); magnetometer=(); payment=(); camera=(); microphone=();usb=(); xr=();speaker=(self);vibrate=();fullscreen=(self);
robots.txt
User-agent: *
Disallow:/admin/
Disallow:/categories/
Disallow:/tags/
Sitemap: https://scribble.washo3.com/sitemap.xml
まとめ
今まで、GitlabのリポジトリとNetlifyの連携にて、このサイトを運用してきましたが、GitlabもNetlifyもほぼ利用する機会が減ったこと、国内からのアクセスではCloudflareの方が速度が速いとの事で移行を決断しました。
現状では、Githubのcodebaseやcopilotが便利で圧倒的にGithubの方が利用頻度が高いですね。
最後に、NetlifyとGitlabには今までお世話になりました。