Cloudflare Pagesでドメイン設定が完了したら、wwwあり・なしを統一するためのリダイレクトと、デプロイで生成されるURLのリダイレクトを行う。
URLのリダイレクト設定は、public配下の_redirectsファイルではなく、管理画面から行う。
wwwありとなしを統一する
Netlifyではwwwドメイン推奨だったため、wwwあり・なしの設定をする必要がなかったが、Cloudflare Pagesではデフォルトだとwwwあり・なしドメインが混在している状態になっている。wwwありとなしが混在しているのはSEO上よくないので、どちらかに統一する必要がある。
当サイトではwwwありのドメインを使用しているので、wwwなしのドメインをリダイレクトする設定を行う。
メニューから Websiteをクリックし、サイトを選択する。
メニュー Rules > Page Rules に進む。
「Create Page Rule」をクリック。
各項目を入力・選択
- URL(必須):リダイレクトしたいURL
URL配下すべてをリダイレクトするので、example.com/*
とURL最後にアスタリスクを付ける - 設定の選択(必須):Forwarding URL(URLの転送)を選択
- ステータスコード(必須):301 永久的なリダイレクトを選択
- 目的のURL(必須):リダイレクト先のURL
www.example.com/$1
と入力。
$1
は変数で、example.com/*
のアスタリスクの値を受け取る
「Save and deploy」で完了
デプロイで生成されるURLをリダイレクトする
Cloudflare Pagesにデプロイするたびに、(リポジトリ名)-5cx.pages.dev
のサブドメインサイトが生成される。これらをボットにクロールされるとまずいので、すべてカスタムドメインの方にリダイレクトする必要がある。
HOMEメニューの「Bulk Redirect」に進み、「Create bulk redirect list」ボタンをクリックすると、リダイレクト設定を追加する画面に遷移する。
手動での追加は、下の「Or, manually add URL redirects」から行う。クリックすると項目が開くので、必要な項目を入力する。
- 元のURL:
(リポジトリ名)-5cx.pages.dev
を入力 - 対象のURL:公開しているドメインを入力
- ステータス:301(永久リダイレクト)
「Edit parameters」を開くと、パラメーターの編集ができる。今回は以下の2項目にチェックを入れた。
- Subpath matching:URL以下のパスに一致させる。
old-domain.com/hoge/
をnew-domain.com/hoge/
にリダイレクト。 - include subdomain:リダイレクト対象にサブドメインを含める。
example.com
を指定するとa.example.com
もb.example.com
も含まれる。
「Continue to Redirect Rules」に進む。
ルールの名前を設定する。分かりやすければ名称は何でもよいと思う。
そして、下のリダイレクト設定のリストから対象のものを選ぶ(と言っても1個しかないが)。「Save and Deploy」ボタンを押す。
設定が保存される。
補足:_redirectsファイルによるリダイレクト
ディレクトリやページごとのリダイレクト設定は、publicフォルダ配下の_redirectsファイルで行う。
// 記述形式
[source] [destination] [code?]
source
:元のディレクトリ・ページ(必須)destination
:遷移先ディレクトリ・ページ(必須)code
:リダイレクトのコード(オプション。デフォルトは302)
参考ページ
この記事がお役に立ちましたら、サポートをお願いします。