ここでは、「Search and Replace for WordPress Databases Script」というWordPress公式ドメイン変更方法で推奨されている方法を細かく丁寧をモットーに説明していきたいと思います。
ドメインをhttp://hoge.comからhttp://example.comに変更したい場合、データベースからsqlファイルをダウンロードしてそれの中身を一括で置換。
という方法を取っていた方がいるかと思いますが、それではエラーが出ていたのではないでしょうか?
もしくはドメインの変更方法がさっぱりでここを見に来ていただいている方もいるでしょう。
データベース(以下DB)の中にはシリアライズされたデータがあって…
と説明されてもわからないと思いますが(自分もよくわかってはいないです。)それは一括置換ではちゃんと変換されなく、プラグインやその他諸々にエラーが生じてしまいます。
なので、そのシリアライズされたデータもちゃんと修正してくれ問題なくドメインを一括置換してくれる方法を説明していきたいと思います。
ドメイン変更前の準備(バックアップ)
まずドメインを変更する前に準備をしておきます。
データベースの中とftpファイルを弄るので、何かあると復旧させるのがとても厄介です…
なのでバックアップはちゃんと取るようにしましょう。
バックアップを取るデータ
- DB
- FTP内のWordpressのファイル(なくても構わないですが、問題を避けるために)
この2つのバックアップをちゃんと取っていれば、どこかで間違えた際にすぐ復旧させることが可能ですので、取っておいてくださいね。
移行先のドメインにDBとWordpressファイルをアップロードする
DBのアップロード方法に関してはこちらの記事を参照ください。
Wordpressのファイルのアップロードに関しては、サーバーのFTPに入りドメイン直下の中に入れ込んでください。
私はXserverを使っているのですがXserverの場合で、このドメインの入れる箇所は、
【ms-redesign.com】→【public_html】の箇所です。
この【public_html】の箇所にWordoressのデータを入れてください。
ここで入れる際に、ファイルの中身を少し修正しなければいけません。
同じサーバーなら変更する必要はありませんが、例えばXserverのhttp://hoge.comドメインからsakuraサーバーhttp://example.comドメインに変更した場合
変更するファイル
変更するファイル:wp-config.php
変更する箇所:wp-config.phpの29行目から38行目(おそらく…)
[php]
define(‘DB_NAME’, ‘xxxxx’);
define(‘DB_USER’, ‘xxxxx’);
define(‘DB_PASSWORD’, ‘xxxxx’);
define(‘DB_HOST’, ‘xxxxx’);
[/php]
これらを移行先のDBに合わせたものに修正してください。
Search and Replace for WordPress Databases Scriptのダウンロード
それでは置換に入っていきたいと思います。
まずは、こちらのサイトから置換するためのツールをダウンロードしてください。
Search and Replace for WordPress Databases Script
赤枠のとこをクリックすることでダウンロードできます。
ダウンロードが済んだら、次はFTPファイルの中にこのダウンロードし解凍したファイルを入れ込みます。
入れる箇所は、Wordpressのファイルのすぐ下です。画像のファイルがあるところですね。
ドメインの一括置換
入れたら次はこのアドレスをブラウザのアドレスバーのところに記載します。
http://移行先のドメイン/Search-Replace-DB-master/
例えで言うと、
https://ms-redesign.com/Search-Replace-DB-master/
といった感じですね。
このURLをアドレスバーに打ち込んでEnterを押すと下の画像のページが表示されるはずです。
表示されたら上記のように必要な情報を打ち込んでいきます。
【serch/replace】の箇所に
serch for:変更する前のドメイン
replace with:変更後のドメイン
※ここで少し注意する点はhttp://を消すのと、ms-redesign.com/といった風に最後の/はつけないこと。ms-redesign.comだけで大丈夫です。
良い例:ms-redesign.com
悪い例:https://ms-redesign.com 、 https://www.ms-redesign.com 、 ms-redesign.com
【database】の箇所は勝手に記載されるので何もいじらないで大丈夫です。
【tables】もノータッチで。
【action】のところは、【serch/replace】のドメインを二箇所入れ込んだら、「live run」を押します。
すると、書き換えが開始され、ズラズラーっと英文章が流れます。
view changesと書かれたところが書き換えられた箇所です。
書き換えられたら、Search and Replace for WordPress Databases ScriptでダウンロードしたファイルをFTPの中から削除してください。これは絶対忘れないでください。忘れると、同じ方法で簡単に外部からドメイン情報を書き換えられてしまいますし、データベースを改竄される可能性があります。
はい。これでドメインの書き換えは完了です。
これで変更後ドメインをURLに打ち込んでみてください。
無事表示されるはずです。
504エラー
終わりかと思いきやトップページは表示されても、トップページの何かしらのリンクをクリックした時に、504エラーか何かのエラーが出ませんか?
パーマリンクの設定を基本以外に設定しているとエラーが起こる場合があります。
出てしまった場合は、Wordpressのパーマリンクの設定を変更してください。
管理画面に入ってから、
【設定】→【パーマリンクの設定】→【基本にチェック】→【変更を保存】→【設定したもの】→【変更を保存】
とやってみてください。
これでちゃんと表示されると思います。
まとめ
どうでしたか?
正直慣れていないとDBをいじるドメインの移行などは恐怖でしかないです…
慣れてきた自分でもたまにエラーを起こしてしまう時がありますし、データのバックアップは必ず取ってからするようにしましょう。
最悪、画面が真っ白になったりしてもバックアップのデータを戻せば元のサイトのものに戻りますので。