ネイキッドドメイン解禁!はてなブログの独自ドメインを変更しました

2020年4月23日以降、はてなブログProでネイキッドドメインを独自ドメインとして設定できるようになりました。

参考 はてなブログProで独自ドメインをご利用の際、サブドメインなしでも運用できるようになりましたはてなブログ開発ブログ

そこで今回、筆者がはてなブログで運営していたサブドメインのブログ(blog.uwano-sora.com)に対して、ネイキッドドメイン(uwano-sora.com)に変更するという作業を実施しました。

またこのネイキッドドメインは以前からワードプレスのブログとして運営しているものなので、このブログの記事もはてなブログへ統合するということも同時に行いました。

以下に、実際に作業した順番で説明していきます。

1. ワードプレスで運営していたブログ記事をはてなブログへインポートする準備を行う

ネイキッドドメインで運用していたワードプレスブログの記事をはてなブログにコピーする必要があるのですが、まず、はてなブログに作業用のサブブログを作成し、ワードプレスのエクスポートファイルをそこにインポートして修正を行いました。

この作業用サブブログは、修正作業が終わったら、旧ドメインから新ドメインへのリダイレクト用として使用します。

以下、この作業の詳細です。

(1-1)ワードプレスサイトから投稿記事をエクスポート

「投稿」のみを選んでエクスポートします。

(1-2)エクスポートしたxmlファイルを修正

適当なテキストエディタを使い、エクスポートしたxmlファイルを開き、文字列 “/entry/” を “/” に全て変更し保存します。

実はコピーするブログは元々はてなブログから移転してきたものだったため、パーマリンクに「/entry」が付いていました。同じくURLに「/entry」が付いているはてなブログに再移転する場合は好都合なのですが、このままはてなブログにインポートするとURLに「/entry/entry」が付いた形になってしまうため、エキスポートしたファイルで「/entry」を削除する必要があったのです。

なお、移転元のURLに「/entry」を付けていない場合(普通は付けていないと思いますが)は、移転先のはてなブログもURLに「/entry」が付かない設定にしておかないとURLが変わってしまい面倒です。

MEMO
はてなブログの記事URLに「/entry」が付かない設定にするには、ダッシュボードの「インポート」画面の中程にある「URLの引き継ぎ」項目中の「記事を配信するディレクトリ」で変更できます。但し全ての記事が影響を受けますので、既に公開している記事がある場合は注意が必要です。

(1-3)はてなブログにサブブログを作成しインポート

はてなブログに、適当なテスト用のサブドメインを付けてサブブログを作成します。

この時点ではサブブログは自分のみに限定公開としておきます。

ダッシュボードの「インポート」から「WordPress形式」を選んでxmlファイルをインポートします。

(1-4)はてなフォトライフに画像データを移行

インポートが成功したら、続けて「画像データの移行」機能を使って画像データをはてなフォトライフに移行します。

(1-5)サブブログでインポートした記事を修正

サブブログ上で記事を確認し、必要に応じて修正を行います。

特に移行に失敗した画像がないかひとつずつチェックして、失敗していたら手動で移行しなければなりません。

なお、はてなブログにはタグがないので、ワードプレスのカテゴリとタグは全てカテゴリとして移行されます。

カテゴリ分けを見直し、できるだけこの時点で最終形に仕上げます。

(1-6)サブブログの記事をエクスポート

はてなブログ上で記事を最終確認した後、エクスポートします。
(設定>詳細設定>エクスポートの「記事のバックアップと製本サービス」より実施)

このファイルをメインブログにインポートすればOKですが、即公開状態になりますのでインポートは後で行います。

(1-7)サブブログの全記事を削除

このサブブログはリダイレクトでも使用するので、作業が完了したら「記事の管理」からすべての記事を削除します。

なお削除した記事は30日以内なら復活させることができます。

2. はてなブログの旧ドメインから新ドメインへのリダイレクトする準備を行う

はてなブログでは.htaccessファイルをいじれないので、301リダイレクトを実装することができません。

そこで旧ドメインを割り当てたサブブログを準備し、そのヘッダー部分にJavascriptを記述して新ドメインにアクセスを転送する方法を採用しました。

但しこの方法ではGoogleのクローラには301リダイレクトと見なされないようですので、SEO的には不利になるかも知れません。

筆者の場合は旧ドメインでの運用が短く、影響がほとんどないと思われたので、はてなブログで完結できるこの方法にしました。

どうしても301リダイレクトさせたい場合は、旧ドメインを別途用意したレンタルサーバーに割当て、そこからリダイレクトさせる方法などが考えられますが、筆者は確認できていません。

以下、この作業の詳細です。

(2-1)サブブログのヘッダー部分にJavaScriptを組み込む

1 の作業で使用したサブブログのヘッダー部分(設定>詳細設定>headに要素を追加)に、このブログへのアクセスを指定したドメインに飛ばすJavaScriptを記述し保存します。

JavaScript
<script type="text/javascript">
<!--
var domain = "転送先のURL";
var path = location.pathname;
var url = domain + path;
 location.href=url;
-->
</script>

(2-2)サブブログを一般公開してリダイレクトをテスト

サブブログを一般公開にして、リダイレクトがうまく動くことを確認します。

この時点ではサブブログにはテスト用のドメイン名が設定されていますが、後ろに転送先に実在するパスを付けてアクセスしてみて、うまく転送されればOKです。

最終的にこのサブブログの独自ドメインには、今回ネイキッドドメインに変更される旧ドメインを付けることになりますが、この時点での作業はここまでで終了です。

3. DNSサーバーの設定を変更する

今回対象のドメインの管理はムームードメインですが、DNSサーバー(ネームサーバー)はエックスサーバーを使っていました。

はてなブログに移転するに当たり、DNSサーバーもムームーDNSに切り替えることにしました。DNSサーバーの切り替えが必要ない場合は(3-2)の作業は不要です。

(3-1)DNSレコードを変更する

ムームードメインのコントロールパネルから「ムームーDNS」を選び、目的のドメインを選んで以下のように設定します。

(3-2)DNSサーバーを切り替える

ムームードメインのコントロールパネルから「ネームサーバー設定変更」を選び、目的のドメインを選んで以下のように変更します。

変更の反映にはある程度時間が掛かります。変更が反映されると旧サーバーはアクセスできなくなりますので、アクセスできなくなったら急いで以下の作業を行います。

注意
ブラウザのキャッシュで反映後もアクセスできることがありますので、DNSサーバー設定変更の反映確認はプライベートモードで行います。

4. はてなブログの独自ドメインを変更する

メインブログの設定>詳細設定の「独自ドメイン」に目的のネイキッドドメインを入力し変更します。

こちらも設定が反映されるまである程度の時間が掛かります。設定した直後は「ドメインの設定状況」にエラーが表示され、オリジナルのURLに戻ってしまいますが、DNSの設定を間違えていなければ、反映されるのを待つしかありません。

MEMO
筆者の場合は、「https://」を付けてアクセスするとセキュリティエラーになる現象もありましたが、これも設定反映後(筆者の場合、正確には分かりませんが4~5時間掛かりました)には正しくアクセスできるようになりました。

5. はてなブログの旧ドメインから新ドメインへのリダイレクトを設定する

サブブログの設定>詳細設定の「独自ドメイン」にメインブログの旧ドメインを入力し変更します。

旧ドメイン(blog.uwano-sora.com)でアクセスして新ドメイン(uwano-sora.com)にリダイレクトされることを確認します。

6. ワードプレスで運営していたブログ記事をはてなブログへインポートする

最後にメインブログに(1-6)でエクスポートしたtxtファイルをインポートします。今回ははてなブログからエクスポートしたファイルなので「MovableType形式」を選びます。

全体の動きを確認して問題なければ作業完了!

まとめ

以上、はてなブログの独自ドメインをネイキッドドメインに変更し、同時にワードプレスブログの記事を統合するという一連の作業手順をまとめました。

今回の作業は若干特殊なケースかもしれませんが、単純にはてなブログの独自ドメインを変更する場合や、ワードプレスからはてなブログに移転するという場合にも参考になるかと思います。

最後まで読んでいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)