理系的な戯れ

理工学系とくにロボットやドローンに関する計算・プログラミング等の話題を扱って、そのようなことに興味がある人たちのお役に立てればと思っております。

はてなブログURL変更の顛末

はてなブログURL変更の顛末

はじめに

はてなブログでURLを変えました。 これまでの検索での実績などをリセットしない様にするにはどうするのか 僕はサーバを借りてSSL化と301リダイレクトで解決しました。 そこまで、自分なりに試行錯誤し得られた答えをお話しします。

【まとめ】旧URLから新URLへ転送する

結論を先に書いておくと、旧URLから新URLに引き継ぐためには事前にURL転送を何らかの方法で準備します。 僕が諸々の状況下で採った方法は以下です。

  1. 外部サーバーを用意する
  2. 外部サーバーに旧URLのサイト(仮サイト)を立ち上げる(中身はなくて良い)
  3. 立ち上げたサイトをSSL化
  4. 独自ドメイン取得・管理サービスのDNSレコードを書き換えて旧URLに仮サイトを紐付け
  5. 仮サイトにて.htaccessを書き換え301リダイレクトを設定

以上です。少し詳しく以下で説明します。

URL変更のきっかけ

当ブログの記事が50件以上になり、googleのアドセンスに応募してみようと思ってやってみると

「サイトの停止または利用不可―お客様のサイトが停止しているか、利用できないことが判明いたしました。お申し込みの際に送信された URL にお間違えがないかご確認ください。サイトが正常に機能している場合は、お申し込みを再送信していただけますようお願いいたします。弊社であらためて審査いたします。」

この状態が1年以上続きます。

もちろん自分ではアクセスできているし当のgoogleの検索から閲覧者が流入しています。 google search consoleでも確認でき、アドセンスの返答は全く理解できないものでした。 これはちょっと悔しかったので、おりにふれて色々思考錯誤をつづけました。

1年ほど時々集中して色々試しましたが、合格したときにやった変更は

サブドメインを使うのをやめた

でした。

このため、ブログのURLを変えることになりました。

URLを変えるとこれまでのリンクして頂いた方々からは辿り着けなくなり サーチエンジンで高ランクに位置付けられている記事もリセットされ0からの出発になります。

これらはリダイレクト等で何とかなるだろうと思っていましたが、 そうは簡単ではなかったです。以下はその顛末です。

自分のブログ制作環境

僕のブログ執筆環境は以下の様な感じです。 まだ公開はしていませんが勉強のためサーバーもレンタルして 自分で構築した環境でWebを発信する勉強を時々やっています。

お名前.comのURL転送

URLを変える際に一番初めに念頭にあったのはお名前.comのURL転送機能でした。 お名前.comでは設定すると、あるURLへのアクセスは設定したURLへ全て転送してくれるサービスがあります。

ところが

これは、httpのアドレスから任意のアドレスの転送のみです。セキュアSSLのhttpsのついたアドレスからは転送できません。

変更前の僕のブログのURLは以下のようにhttpsのついたものです

https://blog.rikei-tawamure.com

お名前.comではhttpsのURLからの転送はできないということになり、困りました。URL変えたらこれまでのアドレスでアクセスした場合は自分の ブログにたどり着くことはできなくなるのです。

詳しく書くと長くなりますがwebをhttpsにするにはSSL化の手続きが必要です。通常はこれにお金がかかります。サーバーやブログを持っている場合はそれらのサービスにお金を払っている場合が多く大抵はサービスの一環でSSL化が無料でできます。

はてなブログにはURL転送機能はない

はてなブログは有料のproに変えて独自ドメインにすると従来のアドレスからの転送をしてくれる様ですが 独自ドメインに変えた後にURLを変えてもそちらに転送する様なサービスはありません。

お名前.comでサブドメインをxserverの仮のサイトに紐付け

以上の様に、URL変更は、「対外的には自分のサイトを0から始めるのと同じ状態に戻すしか手がない」と言った状態になり 焦りを感じておりました。そのため、相当色々調べ回りました。

ここからは、それらの勉強の結果、僕が得た解答となります。

xserverをたまたま借りていたというのが大きいのですが、 僕が得ているrikei-tawamure.comと言うドメインのサブドメイン blog.rikei-tawamure.comをお名前.comのレコード設定を用いてxserverい紐付けします。 ちなみに、このサブドメインはこれまでは正規のはてなブログに紐付けされていたので、 あらかじめその設定は削除しました。

設定の画面は以下の様になります。ホスト名はサブドメインのblog、valueのところはxserver側のIPアドレスを入れます。

サブドメインのサーバへの紐付け
サブドメインのサーバへの紐付け

xserver側ではドメインrikei-tawamure.comに対する設定とそれに対応した仮サイトの設定があります。 新しいドメインを設定すると自動的にそれに対応するサイトの最低限の準備はできる様になっています。そちらの説明は省略します。

xserverで無料SSL化する

ここまででxserverには空っぽのホームページが作られていて初期index.htmlがあるのでhttp://blog.rikei-tawamure.comにアクセスするとxserver が用意したデフォルト「このページはまだ空っぽだよ」的なページが表示される様になります。

ここで初期状態ではhttpだということが着目点です。このページにhttpsでアクセスできる様にします。そしてその後、ここからはてなブログに転送される様に設定するということになります。

念の為注意しておくと、SSL化が先です。次項で説明する、転送の設定を先にするとSSL化でエラーになります。

xserverにも無料のSSL化サービスがあります。xserverとは年単位で契約してお金を払っているので、 無料SSLは、その料金の一部だと考えると無料ではないのですが、SSLというのは単独でやろうと思うと 結構な料金を取られる様なのでありがたいサービスです。

xserverのメニューからblog.rikei-tawamure.comに対する、無料SSLを設定すると 問題なくSSL化が達成できました。xserverではサブドメインごとSSL化が実行できます。

301リダイレクトの設定

最後はxserverのblog.rikei-tawamure.comのサイトに301リダイレクトを組み入れます。

301リダイレクトは.htaccessファイルを書き換えることで、URLに指定した文字列が入っている場合に 違うURLに飛ばしてくれる機能がHPに備わります。

少し話題はそれますが、今回は、はてなブログ自身で運用しているサイトをはてなブログのまま URLを変えることを試みましたが、もしはてなブログから他のサーバーにURLを変えて引っ越しをしようとすると はてなブログでは.htaccessファイルを編集することができないので、僕が今回やっている様な 外部サーバーに旧ドメインのサイトを作って.htaccessファイルを書き換えて新ドメインの新サイトに飛ばす 方法をとらないとならない様です。

話を元に戻しますと、https://blog.hoge.com/任意の記事からhttps://hoge.com /任意の記事に転送をしたいときは以下の様に.htaccessを書くことで実現できます。/任意の記事のところは旧サイトと新サイトで一致している必要があります。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.hoge\.com$  [NC]
RewriteRule ^(.*)$ https://hoge.com%{REQUEST_URI} [R=301,L]

おわりに

URLを変える行為はSEO的にはやらない方が良い行為と言われています。 まあ、しかし当ブログの様に弱小ブログでは大きな影響はないものの、今まで、そこそこ検索されていたものが 検索されなくなるのは実際は寂しいものでした。また、気に入って頂いてリンクを貼って頂いていた方々にも 不義理だなと思っていました。

今回描いたことをURL変える前に知っていればよかったのですが、私みたいな人間は結局尻に火がついてから行動する様で URLを変更して惨状が明らかになってからうんうん悩みここまできました。

実際、検索がどうなったかお見せすると、下のグラフの様になりましたURLを変えたところで激減してます。 その前に少し様子が変わったところがありますが、そこは有名なgoogleのアルゴリズム変更と一致してました。

当ブログのgoogleで検索されている様子
当ブログのgoogleで検索されている様子

というわけでブログ作っていたり、これからURLを変えようかと考えている人の参考になれば幸いです。