はじめに
ブログを新しいドメインに変更したのだけど、Googleの検索結果やTwitterには前のドメインのものがリンクされているので、フォワーディングをしたい。具体的には、以下の2点を実現したいということだ。
- https://blog.mktakuya.net にアクセスすると、 https://blog.m6a.jp に飛ばされる。
- https://blog.mktakuya.net/entry/2018/10/15/133527 にアクセスすると、 https://blog.m6a.jp/entry/2018/10/15/133527 に飛ばされる。
ぼくはName ServerとしてCloudflareを使っているので、Page Rulesという機能をうまく使えばこのフォワーディングを実現することが出来る。
1.適当なレコードを作成する
Cloudflareのダッシュボードにログインし、旧ドメイン(僕の場合は mktakuya.net )の設定画面へ移動する。
画面上部のタブからDNSを選択し、以下の通りレコードを作成する。
- 種別: CNAME
- Name: blog (旧サブドメイン、 blog.mktakuya.net なら blog)
- Domain Name: blog.m6a.jp (新ドメイン、FQDNを入力すること)
- TTL: Automatic TTL(なんでも良さそう)
- Status(雲のマーク): 有効(オレンジ色になっていればOK)
ポイントは、Nameに旧サブドメインが指定されていることと、雲のマークがオレンジ色になっていることだ。それによって、DNSの向き先がCloudflareのサーバになるので、後述するPage Rulesを利用できるようになる。
2.Page Rulesを作成する
Cloudflareのダッシュボード上部のPage Rulesを選択し、Create Page Ruleボタンを押して以下の通りPage Ruleを作成する。
- If the URL matches: blog.mktakuya.net/*
-
Then the settings are: Forwarding URL
Status Code: 301(どっちでもいいと思うけど気にする人はこの辺参照)
destination URL: blog.m6a.jp/$1
こうすることで、 blog.mktakuya.net へのアクセスは当然 blog.m6a.jp にフォワーディングされるし、 https://blog.mktakuya.net/entry/2018/10/09/230943 へのアクセスも、 https://blog.m6a.jp/entry/2018/10/09/230943 へとフォワーディングされる。
3.待つ
待つ。すぐに反映されることもあれば、1日待たされることもある。
4.確認する
試しに古い方にアクセスしてみたりして、フォワーディングが行われることを確認する。
おわりに
こんな感じでフォワーディングを設定すると、旧ドメインからアクセスした人を新ドメインの方に誘導することが出来る。
注意事項としては、どうやらFeedlyはfeedのURLをフォワーディング等によって変更しても追従してくれないということがある。対策としては、URLのmatchを /* ではなく /entry/ とかにしておいて、別途古い方のドメインでフィードを吐き続けるなり、「移転しました」的なフィードを表示しておくことなどが考えられる。