【WP】XdomainのWordPressを独自ドメインに切り替える
このブログ作ってから約一ヶ月が経とうとしているわけですが、そろそろ独自ドメインを取得してアドレスを切り替えたくなってきました。
というのも早めに切り替えないと切り替える手間が増えたり、SEO的な問題があったりと、いろいろ面倒になってくるわけで…
そんな理由に煽られて今回思い切って新ドメインに切り替えをしたんですが、想像以上に躓きポイントがあったので備忘録として記事に残しておきます。
今回やりたいこと
独自ドメインを新たに取得して、レンタルサーバー会社に割り振られているサブドメインから切り替えたいと考えています。
まず現状把握として、今のブログ環境を書き出します。
サーバー | Xdomainの無料レンタルサーバ(WordPressを使用) ※2021/08/21 時点では XFREE という名称に変更されています。 |
ドメイン | ushiblo.wp.xdomain.jp |
これをですね、新たに取得するドメイン名でアクセスできるようにしたいと思います。
サーバー | サーバは変更せず、Xdomainの無料レンタルサーバ(WordPressを使用) ※2021/08/21 時点では XFREE という名称に変更されています。 |
ドメイン | ushiblo.com(www.ushiblo.com) |
はい、という感じで「www.ushiblo.com」を叩いたらここのブログが表示されるように切り替えたいわけです。
それじゃ~順番にいってみましょう。
ドメインまわりから片付ける
とりあえず簡単そうなドメイン取得や設定まわりから片付けていきます。
新規にドメインを取得する
私は「Xdomain」で取得しました。
正直どこでも良かったんですが、ここの無料サーバを使ってるので設定面で楽できるかな~、ということで選んでます。
他にも「お名前.com」とか「バリュードメイン」とかいろいろあるようです。
ドメインの取得に関しては契約手続きがメインなので特に手順的なものは省略しますが、一応簡単に言ってみると…
ドメイン名を決める→空いているトップドメイン(.comとか.netとか)を探す→お金を払う→利用開始!、って感じ。
というわけでドメインも無事取得できたので、次!
Xdomainでドメインの追加設定
取得しただけじゃドメインは機能しませんので、ちょこちょこっと設定をいじって使えるようにします。
今回はブログ用のドメインにするつもりなので、今使用している無料のWordPressサーバーに紐付けていきます。
紐付けも特に難しいところはなく、WordPressの管理パネルからサクッと設定できるようです。

こんな感じで取得したドメインを選択するだけ。

あとは設定を確定すれば「ドメイン設定一覧」に表示されるようになります。

そして、この設定で何が行われたかというと…?

DNSレコードが追加されたわけです。
ここで作成されたDNSレコードは、ドメイン(www.ushiblo.com 等)にアクセスされたとき、表の「コンテンツ」に指定したIPアドレスを参照させますよ、って設定。
ちなみに、他所様で取得したドメインを追加する場合は、Xdomainのマニュアルに手順の記載があるのでそっち見るとわかるかもしれません。一応、リンクしておきます。
これでドメインの設定は完了?
完了なんですが、反映までにある程度の時間がかかります。
じゃ、「いつ完了するのよ?」となるんですが、こればっかりは何とも言えないので、私は「nslookup」コマンドを使って反映状態をチェックしてました。
でも、ネームサーバによって差が出る場合もあるのであくまで参考程度ですが…
「コマンドわかんねーよっ!٩(๑òωó๑)۶」な人はこういうサイトで同様のチェックができます。

私の場合は翌日には反映されてました。ということで、次!
ここでWordPressを作り直さないとダメという罠(?)にはまる
ここで思いっきり引っかかりました…
ドメイン変更ってWordPress側の設定変更も必要になるんですが、いざその設定を変えてみるとエラーが表示され、公開用ページはもちろん、管理画面すら開けない状態になりまして…(T_T)
原因…というほどはっきりしてませんが、色々調べた結果からいうと、Xdomainの無料WordPressは単純にドメイン切り替えができない、みたいなんですよね。
それじゃ、どうやって切り替えるの??
ということになりますが、まぁ、作り直しですよ作り直し。取得した新ドメインで新たにWordPressを作成するだけ!
というわけで、予想外の作業が増えましたが引越し準備と新しいWordPressを作っていきます。
おっとそのまえに…
一応、参考にさせてもらったサイトを載せておきます。
お引越し準備その1-ファイル類をバックアップする
急遽発生したお引越し作業、まずはファイル類のバックアップを取得します。
バックアップといっても、FTPツールで自分のパソコンに持ってくるだけです。
FTPを使えるようにする
XdomainのWordPressは、初期状態だとFTPが無効になってるのでこれを使えるように変更します。

これでFTPは有効化されました。
途中表示される下記の情報はFTPクライアントから接続するとき必要になるのでメモっておきます。
- FTPアカウントID
- パスワード
- FTPホスト名
あとはFTPクライアントからサーバに接続し、バックアップ対象のファイルを取得(ダウンロード)するだけです。
FTPの操作については手順を省略します。FTPクライアントにも色々あって、それぞれ操作が異なるので、詳しいやり方はグーグルさんに聞いてみてください。_(:3」∠)_
ちなみに私は「WinSCP」ってのを利用しています。
ファイルのバックアップを取得する
さて、FTPの準備がおわったのでファイルをダウンロードするんですが、ここで対象にするファイル類は「wp-content」のみとします。
他のファイル類は主にWordPress本体のスクリプトファイルだったり、設定ファイルだったりなので、そのへんに手を加えてなければ不要です。
ちなみに「wp-content」ディレクトリ以下には、テーマやプラグインデータ、アップロードした画像などのメディアファイルが保存されています。
これをまるっとダウンロードしちゃいます。

そうそう、ダウンロード中、「○○ファイルが見つかりません」とか「○○ファイルを上書きしますか?」とか出る場合がありますが、私は一旦無視(スキップ)してました。
これの原因は調べてないのでわからないですが、結果として全部ダウンロードできてればOKなので、ファイル数と総サイズを比較し、差があれば差分を追加でダウンロードすることで対応してました。
お引越し準備その2-DB(データベース)をバックアップする
今度はデータベースをバックアップします。
Xdomainにはバックアップツールが備わっているので簡単にできます。

DBのデータにはWordPressで作った記事等が保存されているので、忘れずバックアップを取らないと悲しすぎることになります。
無事バックアップできたので、次!
新ドメインのWordPressを新たに作成する
ようやく作業の中盤ってとこでしょうか…。
今度は新ドメイン用のWordPressを追加作成して、バックアップデータをリストアしていきます。
新しいWordPressを追加する
WordPressの管理パネルから新規インストールしていきます。
ブログ名などは既存のWordPressと同じでいいんですが、「サイトアドレス」には「新ドメイン」を指定し作成します。

作成完了までしばらくかかるようなので、適当に時間を潰してまちます。
しばらく経ったら、次!
新ドメインで表示されるかチェックする
ブラウザから新ドメインにアクセスして、先程作ったWordPerssの初期ページが表示されるかをチェックします。

上の図はデータを戻してからの画像なのでWordPressの初期ページ(Hello World)じゃないですが、まぁ表示されればOKです。
表示されない場合、ブラウザのキャッシュが悪さしている場合があるので、「Ctrl+F5」で更新したり、URLに「www」をつけたりしてアクセスするとうまくいくかもしれません。
アクセスもできたことだし、次!
バックアップデータをリストアする
新ドメインで表示されることが確認できたら、バックアップデータをリストアしていきます。
リストア順はどちらが先でもいいとは思うんですが、ファイル、DBの順でリストアしてみます。
ファイル類をリストアする
FTPで退避させた「wp-content」ディレクトリをまるっと上書きアップロードするだけ。
アップロードのときもファイルが無いとかエラーが出ることがあるので注意。
DBをリストアする
バックアップのときと同様でリストアも簡単です。

インポートで指定するファイルは、バックアップのときダウンロードしたファイルをそのまま指定すればOKです。(圧縮の有無は問いません)
データベースのデータを修正する
いい加減疲れてきたので終わりたいのはやまやまなんですが、もう一つ必須な作業があるのでそれをやっちゃいます。
今の状態って、移行前のDBをそのまま戻しただけなので、DBの中に保存されたリンクや各種ファイルのパスといった情報が旧ドメインのママなんですよね。
このままだと、画像などが表示されたとき、古い方のWordPressを見に行っちゃうので、DB内のドメイン名を新しいもので書き換える必要があるんです。
といっても一つ一つ手直しするのは辛いので、それ用のスクリプトを使って一気に直します。
※DBのデータをSQLで単純置換する方法もありますが、不整合になってしまうデータ型があるようなので止めたほうがよさそうです
Search Replace DB を入手する

スクリプトは「interconnect/it」というサイトで入手することができます。
ページを少し下に行ったところにダウンロードするための入力欄があるので、必要事項を入力しSubmitします。

少しすると入力したメールアドレス宛にダウンロード先が書かれたメールが届きます。

「Search Replace DB」スクリプトのリンクが2つあるんですが、ここでは「v2.1.0」※のスクリプトをダウンロードします。
※Xdomainの環境だとv3.1.0が動かないようなので…
ダウンロードしたファイルを解凍すると、PHPスクリプトが一つ出てきます。

このPHPスクリプトをFTPでサーバにアップロードします。
アップロード先はルートディレクトリ(一番上のディレクトリ)に配置してください。

PHPバージョンを「5.6.x」に変更する
この記事を書いた時点で、XdomainのPHPバージョンは「7.x.x」。
これだと「Search Replace DB v2.1.0」は動かないので、一時的にPHPバージョンを「5.6.x」にします。

「Search Replace DB」スクリプトの実行
ブラウザからアップロードした「Search Replace DB」のスクリプトを実行します。
※○○○.☓☓☓の部分は新ドメインを指定
上手く「Search Replace DB」を開けると下図のような画面が表示されます。
また、このページではDBの接続情報を「wp-config」から取得するかを聞かれてるので、チェックが入った状態で「Submit」します。

「wp-config」から取得したDBの接続情報が表示されるので、内容に問題がなければ「Submit」します。

続いて置換するテキスト(ドメイン名)を聞かれるので、「置換の対象になるテキスト」、「置換後のテキスト」の順で入力し、「Submit」します。

このタイミングで置換処理が実行され、処理対象になったレコード数などの情報が表示されます。
問題がなさそうなら(処理対象の件数が0とかじゃなければ)これで完了!

後始末その1-「Search Replace DB」のスクリプトファイルを消す
アップロードした「Search Replace DB」スクリプトファイルを削除します。
残すとセキュリティリクスになるので確実に消してください。
後始末その2-PHPのバージョンをもどす
一時的に変更したPHPのバージョンを元のバージョンに戻します。
そのままでも動きますが、パフォーマンスが悪くなるようです。
リダイレクト処理を追加する
これもやっておかないとまずい作業ですね。
サーチエンジンでは旧ドメインのURLが表示されちゃうので、新ドメインに飛ばす(リダイレクトする)ような仕組みが必要です。
具体的には「.htaccess」っていうファイルにリダイレクトさせるためのルールを追記すればいいだけです。
Xdomainでは、WordPressの管理パネルから「.htaccess」の編集ができるので、使わなくなったWordPressの「.htaccess」にルールを追加していきます。
.htaccessの編集画面を開く
WordPressの管理パネルから編集画面を開くことができます。

.htaccessを修正し転送ルールを追加する
初期のルールはこうなっていますが、これを~…
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
こういう風に変えちゃいます。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://ushiblo\.wp\.xdomain\.jp/wp-admin/*.*$
RewriteCond %{REQUEST_URI} !^/wp-login\.php*.*$
RewriteCond %{REQUEST_URI} !^/wp-admin/*.*$
RewriteRule ^(.*) https://www.ushiblo.com/$1 [R=301,L]
</IfModule>
# END WordPress
よくあるリダイレクト設定ですが、使わなくなった方のWordPress管理画面にはアクセスできるようなルールにしています。
古い方は最終的に消す予定ですが、切り替えたばっかりだと何があるかわからないですしね。
「.htaccess」のについては、こちらのサイトを参考にさせてもらいました。
Google「Search Console」の「アドレス変更」手続き
2018/05/21 追記。
この作業が抜けていました。こちらの記事で変更手続きをやってます。ご参考までに…
これで切り替えは完了…だと思う(^_^;)
簡単にできるだろうと思いきや、余計なところで時間を取られましたが一旦完了です。
あとは暫く使ってみて、問題なければ古いWordPressを消すくらいですね。
あっ、それと、各ページのチェック(リンク切れ等)と、「Search Console」のメッセージは気にしたほうが良さそうです。
ディスカッション
コメント一覧
まだ、コメントがありません