WordPress:Aレコード変更でウェブだけ他サーバへ移転

WordPress:Aレコード変更でウェブだけ他サーバへ移転

昨日、当サイトを はてなブログ から WordPress に移行しました。サーバーは ConoHa WING、ネームサーバーを ValueDomain に置いたままウェブだけ移転させました。

01正しい移行の仕方

はてなブログから WordPress への移行は2サイト目ですので特に戸惑うことはありませんでしたが、今回はドメインを置いている ValueDomain の DNS でウェブだけ ConoHA WING の WordPress へ向くようにしました。

はてなブログから WordPress への正しい移行の仕方は前回移転した際の記事にあります。正しいなどと偉そうですが、はてなブログのデータを一気に移行できるプラグインもありますので便利だと思います。

まず、要点だけ書きますと、

  • 新規サーバーに WordPress をインストール
  • プラグインを使ってはてなブログのデータ移行
    • フォトライフから使用中の画像のみ移行
    • 記事テキストの整形
    • アイキャッチ画像の一括登録
  • テーマを作成しサイト完成
  • はてなブログのパーマリンクを維持する .htaccess 設定
  • hosts ファイルを変更してドメイン名でのアクセス確認
  • DNS の Aレコードを ConoHaWING に変更

02ConoHa Wing の 場合

完成したサイトの移行であれば、即公開ドメインにサイトコピーすればいいかとは思いますが、他のブログからの移行や新しくサイトを作成する場合は、まずローカルで作成し、それでも実際のサーバーでチェックしたいこともありますので、私はまず初期ドメインで作成し、チェック終了後に公開ドメインにコピーするようにしています。

その手順、初期ドメインにサイトが完成しているところからです。はてなブログのデータの移転は「はてなブログから WordPress への正しい移行の仕方」をご覧ください。

公開ドメインを登録〜サイトコピー

公開ドメインを追加します。

無料独自SSLを利用するをチェックしておけばいいのですが、DNS の Aレコードがまだ ConoHa に向いていませんので下のエラーが出ます。

サイト管理で登録した公開ドメインに切り替え WordPress をインストールします。

すでにサイト作成が完了している初期ドメインからサイトコピーします。

.htaccess の設定

はてなブログのパーマリンクを維持できるように .htaccess にリライトルールを設定します。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.imuza\.com$
RewriteRule ^(.*)$ https://imuza.com/$1 [L,R=301]
RewriteRule ^entry/([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)$ /$1-$2-$3-$4 [L,R=301]
RewriteRule ^entry/([0-9]{8})/([0-9]{10})$ /$1-$2 [L,R=301]
RewriteRule ^entry/(.*)$ /$1 [L,R=301]

2行目3行目は wwwありなしをなしに統一しています。必要なければ削除してください。

この状態でサイトのチェックをする場合は hostsファイルを変更して確認します。ConoHa には動作確認URLというものが発行されますが、.htaccess の設定確認には役に立ちません。

03DNS の A レコード変更

後は、DNS 設定だけです。ネームサーバーに ConoHa のものを使う場合は、ドメイン管理会社のネームサーバー設定に Conoha のネームサーバーを入れておけば終了です。

ns-a1.conoha.io
ns-a2.conoha.io

今回の場合、このドメインはメールサーバーに Google Workspace を利用しており、MX 設定を移し替えるのも面倒ですので、ウェブだけ ConoHa に向けるように Aレコードの変更でサイト移転しています。

以下は ValueDomain の場合ですが、どこでも同じで、Aレコードの @ と www にウェブサーバーの IPアドレスを設定するだけです。

04完了!

これで完了ですが、後は、実際にはてなブログのパーマリンクがリライトされるかとか、ads.txt の設定であるとか、アドセンスを使っているのであればその確認とかなどをします。

ということなんですが、今回ちょっと手間取ったことがひとつあります。キャッシュです。DNS キャッシュは、ネームサーバーを変更せず A レコードだけの変更ですと上位のレジストラまでいかないせいかすぐに切り替わります。ところが、Firefox ではアクセスできるのに Chrome ではダメという状態がしばらく続き、Chrome のキャッシュをクリアしたりしてもなぜかエラーになってしまいます。

プラグインの WP Fastest Cache でした。初期ドメインのキャッシュが残っていたんだと思います。すべてのキャッシュを削除して解消しました。

はてなブログのプロ契約もあとひと月あまり、もうひとつサイトがありますので急がなくっちゃいけません。