はてなブログ独自ドメインから別ドメインへ301リダイレクトする方法

はてなブログProで独自ドメインを使いブログを運営していたが、Proの料金を払うのがもったいなくなったので、Netlify(サイトのホスティングサービス)にブログを移行することにしました。
いくつかの記事はGoogleの検索結果に上位表示され、アクセスを集められているので、その状態を引き継げるようにしたいと思っています。
Googleが推奨している移行の方法
Googleからの評価を引き継ぐためには旧ドメインから新ドメインに「301リダイレクト」という方法でユーザーを転送するのが良いとされています。
下記サイトを見てもわかるようにGoogleも推奨している方法です。
Google ヘルプ
最初に試した転送方法
301リダイレクトが理想ではあるものの、はてなブログ自体は301リダイレクトする機能を持っていないので、まずは下記のサイトに書かれているJavascriptを用いた転送方法を試してみました。
Googleがサイトの移転を認識するには数週間から数ヶ月かかると言われているので、Javascriptを設定して4ヶ月待ってみたのですが、Canonicalは書き換わらないし、Googleの検索結果にも反映されなかったので、今回紹介するお名前ドットコムのサービスを使った方法に切り替えました。
次に試した転送方法
旧ドメイン(独自ドメイン)はお名前ドットコムで取得したものなのですが、お名前ドットコムが転送Plusというサービスを提供していることを発見したので、このサービスを使って301リダイレクトを試すことにしました。
転送Plusとは
独自ドメインで作成したメールアドレスやURLから別の新しいメールアドレスやURLに転送を行うことができるサービスです。
有料のサービスで料金は1ドメインあたり100円/月(税別)となっています。
メール転送
メール転送の概要は下記の通り。
- 元のメールアドレスに送られたメールが、新しいメールアドレスに転送される
- 「メールフィルター」機能があり、メールの送り主やキーワードによって転送先のメールアドレスを変えることができる
- 「自動返信機能」があり、設定しておけば指定した期間中に元のメールアドレスにメールが届いた場合に、あらかじめ決めておいた内容のメールを自動で返信することができる
URL転送
- 特定のURLへのアクセスを任意のURLへ転送できる
- 転送元URLは100個まで作成可能
- 1つの転送元URLに対して、1つのURLを転送先として指定可能
- 転送方法は「フレーム転送」、「リダイレクト転送」から選択可能
- ステータスコードは301もしくは302が指定可能
URL転送はこんなことに使える
ドメインの移行
今回の私の目的です。 ドメインを変更した時に旧ドメインの評価やユーザーを新ドメインに引き継ぎたい時に使えます。
独自ドメインに対応していないブログで独自メインを使う
ブログサービスによっては独自ドメインに対応していなかったり、独自ドメインを使うために高い料金が発生するものがあります。
そういったブログでも転送Plusを使えば、月100円で実質的に独自ドメインを使うことができます。 はてなブログProだと月600~1,000円くらいかかるので、それと比べるとかなりお得ですよね。
転送Plusを使う際の注意点
転送Plusにはいくつか制限があるので、それを先に説明しておきます。その制限にひっかかるサイトは転送Plusが使えないので、ここから先を読んでもあまり意味がありません。
SSL化しているサイトは転送できない
常時https化しているサイト(URLがhttpsから始まっているドメイン)は転送できません。
はてなブログも2018年の2月からSSL化に対応しているので、既にhttpsになってているユーザーは多いと思いますが、その場合は転送Plusは使えないということです。
ちなみに、一度https化したはてなブログをhttpに戻すことはできません…。
ディレクトリ構造が変わっている場合は使えない
転送Plusはページの単位の転送はできません。あくまでドメインの変更に対応するツールなので、転送元と転送先のドメイン以下のディレクトリ構造は同じである必要があります。
ドメインだけではなくCMSやブログサービスも変えていて、記事が保存されているディレクトリが変わっている場合には転送Plusが使えません。
例えば、下記の場合はOKです。
転送元:http://www.aaa.com/entry/123.html
転送先:http://www.bbb.com/entry/123.html
下記の場合はNGです。
転送元:http://www.aaa.com/entry/123.html
転送先:http://www.bbb.com/post/123.html
以上の制限をクリアできるのであれば、転送Plusは有効な手段になります。
転送Plusの設定方法、使い方
転送Plusの具体的な設定方法を説明します。
まず、お名前.com Naviにログインします。

大体の場合、ログイン後にドメイン契約の更新を確認する画面が出てくるので左上のお名前ドットコムのロゴの部分をクリックして、一旦お名前ドットコムナビのトップページに戻ります。
ページを移動する前にブラウザが「行った変更が保存されない可能性があります」という警告が出てきますが無視してOKです。

グローバルメニューのところの「ドメイン」をクリックします。

右上の「ドメイン機能一覧」をクリックします。

「転送Plus(URL転送)」のアイコンをクリック。けっこう下のほうにあります。

対象となるドメインの右側にある「お申込み」ボタンをクリックします。

支払い方法を選択して、「次へ」をクリックします。

料金等を確認の上、「規約に同意し、上記内容を申し込む」をクリックします。

希望の手続きを選択する画面が表示されるので、「URL転送」のボタンをクリックします。

転送情報の新規追加をクリックします。

ポップアップで転送情報を設定する画面が表示されるので、それぞれ下記のように入力します。
転送元URL
サブドメインを設定している場合は前側のフォームに入力します。 転送したいディレクトリを指定する場合は後ろ側のフォームに入力します。 特にどちらも指定しない場合は両方空欄でOKです。
転送先URL
単純に転送先のURLを入力します。
ディレクトリ・GETパラメータ継承
ONにしておくと自動的にディレクトリ構成やパラメータを判断して転送してくれます。
設定情報
「リダイレクト転送」を選ぶと、転送されたユーザのブラウザには転送先のURLが表示されます。新ドメインが表示されるということです。
「フレーム転送」を選ぶと、転送されたあとも転送元のURL、つまり旧ドメインが表示されます。
メタ情報
特に入力の必要はありません。
入力内容を確認して、最後に保存するのボタンをクリックします。

以上で設定完了です。
反映されるのに多少時間がかかるかもしれないので、少しまって実際に正しく転送されているかを確認しましょう。
まとめ
はてなブログ(独自ドメイン)を新ドメインに301リダイレクトする方法を紹介しました。
この方法でGoogle検索の結果が正しく置き換わるか様子を見てみようと思います。 また結果が出たら報告します。