Site cover image

📖Ast-Rock Blog

Notion + astro なブログ

Cloudflare Pages で pages.dev から カスタムドメインへリダイレクト

このブログは astro-notion-blog と Cloudflare Pages を利用して運用しています。

Cloudflare Pages で Webページを作成すると、「xxx.pages.dev」という固有のサブドメインが発行されます。これがそのままブログのURLとなるわけです。

そのままそのサブドメインを利用してもよいのですが、自分のドメイン「mydomain.com」などを持っている場合はカスタムドメインとしてページを表示させることも可能です。

flowchart LR
    xxx.pages.dev== 同じ内容 ==>mydomain.com

その際に難点があって、「xxx.pages.dev」と「mydomain.com」に同時に同じページが存在することになります。私の知る限りカスタムドメインだけの運用にすることはできないようです。

URLの正規化

カスタムドメインせっかく設定してるのに「xxx.pages.dev」のほうにアクセスされては意味がないですよね。特に Google など検索結果に優先して表示されるのは「xxx.pages.dev」のほうみたいなので考えもの。

他には広告配信サービスなどで許可されたドメインしか使えないといった場合に困ります。

URLが分散してしまうのはあまりよくないことなので、分かりやすく正規化(一本化)してあげましょう。

Bulk Redirects を使おう

まず、Cloudflare のダッシュボードへ移動します。

左側のサイドメニューの一番下にある「Bulk Redirects」をクリックしましょう。

Image in a image block

さらに「Bulk Redirect Lists」にある「Create Bulk Redirect List」をクリック。

Image in a image block

リストに任意の名前をつけてください。

Image in a image block

.csv ファイルをインポートすることができるようですが、ここでは下にある「Or, manually add URL redirects」を選択します。

Image in a image block

「Source URL」には リダイレクト元の「xxx.pages.dev」と入力します。

「Target URL」には httpsを含む リダイレクト先のカスタムドメインを入力しましょう。

「Status」は「301」のまま

Image in a image block

続いて「Edit parrameters」をクリックして展開します。

以下の3つにチェックを入れましょう。

  • Preserve query string
  • Subpath matching
  • Preserve path suffix

そして、次の画面で確認して次へ進みます。

Image in a image block

この画面はそのまま Continue する。

Image in a image block

任意のルール名を入力して「Save and Deploy」をクリックします。

Image in a image block

これで設定は完了です!

Image in a image block

「xxx.pages.dev」にアクセスしてカスタムドメインにリダイレクトできているか確認してください。

メモ

Cloudflareのドキュメント