うち天

子育てで日々挫折するおじさんのブログ

【はてなブログ】カスタムドメインから別のカスタムドメインへの変更 PVの変化は?


こんにちは、煮卵です。 今回はちょいと技術的なお話です。

おとといの夜、当ブログのドメインを変更しました。

【旧】blog.uchiten.top
【新】blog.uchiten.info

だからどうした、という話ではありますが、いちおう手順など記録に残しておこうかな。カスタムドメインへの変更手順はたくさん記事があるけど、カスタムドメイン → 別のカスタムドメインはあまり情報がないようなので。

ちなみに旧ドメインにアクセスすると新ドメインにリダイレクトされるはずです。uchiten.topの期限が切れる4月ごろまでは。

目次

変えた理由

ドメインを変えた理由は………ずばり、.topが高いから!

その額なんと9,699円/年。ドメインのなかでも最高ランクの高さじゃないでしょうか。まさにtop。*1

バリュードメイン の割引キャンペーンで割引価格だけ見て買っちゃったという凡ミス。下の方にちゃんと

翌年度以降の更新は、通常価格となりますのでご注意ください。

って書いてあるんですけどね。なにも考えずに107円/年と思って買ったら、少し前にもうすぐ期限切れだよメールが来て確認したら目ン玉飛び出したっていう経緯です。

.comなら10年分買ったって13,820円、ちょっとだけお高めの.jpでさえ30,670円で済むっていうのに、.topだと96,990円、10まんえん弱ですよ。ひゃー。

格安ドメイン登録【バリュードメイン】

それと、このブログ、PVも被リンクも微々たるもんなので、URLが変わっても誰にも迷惑かからないだろうっていう悲しい理由も後押しになりまして。いちおう変える前にドメインパワーなるものを調べてみましたが、100点満点で1点でした。たぶん0点は無いんじゃないかな? 取ったばかりの新ドメインも1点だったからね!(苦笑)

ドメインパワーはこちらで確認しました:
https://moz.com/researchtools/ose/

調べてみたら同じGMO系列のムームードメインなら.topが2,980円でした。ドメイン変えずにムームードメインに移管すれば楽じゃん!と思いましたが.topは移管に対応してませんでした。人生そんなに甘くない。

変更手順

旧ドメインへのアクセスを新ドメインへリダイレクトするために、サーバを用意しました。下記手順はサーバを用意し、リダイレクトの設定ができる方向けです。

リダイレクトが不要・できない方は、手順1, 2, (3), 7だけでOKです。

  1. 新ドメイン取得

  2. 新ドメインのCNAMEをhatenablog.com.にする。末尾の.を忘れずに(ドメイン事業者によっては.がいらないらしい)。

  3. (上記CNAME登録が反映されるまで待つほうがよい)
    この段階でblog.uchiten.infoにアクセスすると「はてなブログの404ページ」が表示。CNAMEが効いてhatenablog.comに飛んでいるいる証拠。

  4. 旧ドメイン宛リクエストを新ドメインにリダイレクトするサーバを用意する

  5. 旧ドメインのCNAMEをリダイレクト用サーバへ向ける

  6. (上記CNAME登録が反映されるまで待つほうがよい)
    CNAMEが反映されたらソッコーで、手順7を実施する。具体的にはblog.uchiten.topでブログが表示されなくなり、.infoにリダイレクトされてはてなブログの404ページが表示されるようになったら。

  7. はてなブログの詳細設定画面で新ドメインを設定する

手順6で404が表示されるようになってから手順7を実施するまでの間は、旧ドメインにアクセスしたユーザは404になってしまうので、ここをできるだけ早く実施したい。ただ、CNAMEの反映にどれくらいかかるかはなんとも言えないため、ドメイン事業者などによっては、何時間も待つ可能性もありつらいところ。

できるだけ早くCNAMEを反映させるために、可能であれば事前にDNSのTTLを短く設定しておくとよい。バリュードメインの場合、TTLを120秒に設定しておいたら、数分で反映された。*2

手順5〜7をもうちょっと具体的に
ブサウザで旧ドメインへアクセスしてブログ表示
 ↓
手順5を実施
 ↓
F5等でリロードを定期的に繰り返す(ここが手順6)
 ↓
ブログが表示されていればなにもしない(ここも手順6)
 ↓
404になったらすぐに手順7

※ブラウザリロードはほどほどに。

他にいい方法があるかもしれませんが、今回はまあこんなもんで。

Google App Engine for Java(GAEJ)でリダイレクトするコード例

サーバはGoogle App Engineを使いました。ある程度のトラフィックまでは無料なのでこのブログなんて余裕で無料枠内。

GAEJでの開発・デプロイ方法などは割愛。下記URLなどを参考に。

[参考]
GoogleAppEngine for Java を AndroidStudio + Gradleで開発環境を作る - Qiita
Android StudioからGAE for Javaアプリケーションをdeployするのに必要なFacet - Sojiro’s Blog

RedirectServlet.java

import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class RedirectServlet extends HttpServlet {
    public void service(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {

        resp.setStatus(301);
        resp.setHeader("Location", req.getRequestURL().toString().replaceFirst("uchiten.top", "uchiten.info"));
        resp.setHeader("Connection", "close");
    }
}

web.xml

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
    <servlet>
        <servlet-name>RedirectServlet</servlet-name>
        <servlet-class>RedirectServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RedirectServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <!-- ルートもサーブレットで処理するための記述 -->
        <welcome-file>RedirectServlet</welcome-file>
    </welcome-file-list>
</web-app>

PVの変化

はてなブログドメインからカスタムドメインへの変更では一時的にPVが落ちると言われています。

カスタム → 別カスタムの今回、とりあえず変更から二日目のいま時点で、
「若干減った気もするけどたぶん誤差。」
という感じです。

このブログは9割以上が検索流入です。Google先生から旧ドメインにアクセスしても新ドメインへリダイレクトされるので、基本的にはPVは落ちないはず、という予想はどうやら当たっていたようです。

(301リダイレクトされているという点により旧ドメインのGoogleの評価が下がって、検索順位が下るってのはあるかも)

あとは.topの期限が切れる4月までに検索エンジンが.infoのほうをインデックスしてくれればOK。もともとドメインパワーなど持ち合わせていないので、.topが無効になっても影響は無いに等しいでしょう。被リンクだけは切れてしまうので、ツイッターなどで被リンクをいただいた方には申し訳ないです……。

おわりの一句

ドメインは
通常価格を
見て買おう

*1:おそらく高い理由はまさにtopだからだと推測してます。

*2:その後、別の目的でCNAMEやTXTレコードを登録したが反映まで数十分かかった