Cloudflare Pages
Cloudflareの静的サイトホスティングプラットフォーム
Netlifyでできることはほぼできて無料なのでブログを移設してみた
Netlifyにした当時の記事:ブログをHexoで作り直してNetlifyにデプロイした - shimoju.diary
ビルドコマンドを指定すれば、あとはCloudflare Pagesがビルドからデプロイまでやってくれる
.node-versionを読んでNodeのバージョンも自動設定してくれて便利
GitHub連携でmasterにマージしたら自動でデプロイできる
Netlifyと同様にブランチごとにプレビュー用の環境も作ってくれる
こんな感じ:https://github.com/shimoju/blog/pull/56#issuecomment-1167334349
独自ドメイン、Let's EncryptによるSSL対応
HTTP/2、3対応
Cloudflareのインフラで配信されており高速
DNSをCloudflareにすればそのままCloudflareのCDNにも載せられる
Cloudflare DNSを使っていれば、Pagesのカスタムドメインを設定するときにDNSレコードも自動設定してくれる
とはいえCloudflareのDNSやCDNに依存しているわけではなく、他のDNSやCDNでも問題なく運用できそう
カスタムドメインはCNAMEで設定するため、zone apexで提供したいならALIASレコードやそれに類する設定に対応したDNSサーバーが必要(それこそCloudflareとか)
_headersファイルを出力先のディレクトリ直下に置くことでレスポンスヘッダーをカスタマイズできる
https://developers.cloudflare.com/pages/platform/headers
これを使ってCloudflare Pagesのデフォルトドメインをインデックスさせないようにできる
プレビュー環境はもともとnoindexが入っているので心配いらない
Hexoだとファイルをうまく配置できなくてちょっとハマった
_redirectsファイルでリダイレクトもできる
https://developers.cloudflare.com/pages/platform/redirects
今のところドメインを指定してのリダイレクトができないので、wwwからzone apexへのリダイレクト(その逆も含む)はページルールを使う必要がある
リダイレクト先のドメイン指定はできるから、Pagesのプロジェクトをもうひとつ作ってwwwをカスタムドメインとして設定し、そちらで_redirectsを設定すればいけそうな気もする
DNSをCloudflareにできるならページルール使ったほうが手っ取り早いけど