レンタルサーバーを変えたときにWordPressを引っ越した時のメモ。
FTPで旧サーバーからWordPressを含むウェブデータ一式をダウンロード
データが多いので頑張る。私は切断されても自動で再接続してくれるWinSCPを使っている。
旧レンタルサーバーのphpMyAdminからWordPressのデータベースをエクスポート
たいていのレンタルサーバーにはphpMyAdminがあるはずなので(あるよね?)、ログインしてデータベースを選んでから[エクスポート]→[実行]して、エクスポートしたファイルをダウンロードしておく。

データベース情報がわからなくなったら、wp-config.phpに記載があるはず。
万一phpMyAdminが無いようなら、「Adminer」というツールが便利。php1ファイルのみでありながら、簡易phpMyAdminのように動作する。こいつをFTPでアップロードして、設置した場所のURLにブラウザでアクセスするとログイン画面が表示されるので、データベース情報を入力してログインできる。
個人的には [English only] を使うことをお勧めする。通常版だと文字化けすることがあるため。
データベース操作については別記事を書いた。
旧サーバーのドキュメントルートを確認
旧サーバーのPHPから見たドキュメントルート(FTP上のそれではない)を確認する。私の場合は、旧サーバーの管理画面上から「フルパス」の名前で記載がされていた。もしわからない場合は、以下のようなphpをアップロードして、ブラウザで表示させ、[DOCUMENT_ROOT]の行をチェックする。
<?php
phpinfo();
?>
新レンタルサーバーのphpMyAdminからWordPressのデータベースをインポート
レンタルサーバーによっては、あらかじめデータベースが用意されているところもあれば、まず空のデータベースを作成する必要があるところもある。
phpMyAdminにログインして新しいデータベースを選び(ここで中身が空っぽであることを再確認する)、[インポート]→先にエクスポートしたデータをアップロード→[実行]

さすがにphpMyAdminが利用できないサーバーをこれから使い始めるということはないだろうが、万一無いようならAdminerをうまく使う。
新レンタルサーバー側のWordPress設定ファイルのデータベース情報を書き換え
新サーバーにFTPログインして、そちらのwp-config.phpを修正し、データベース接続情報を新しいサーバーのそれに書き換える。
新サーバーにSSLをインストール
現段階では最悪でも自己署名証明書(いわゆるオレオレ証明書)でもいいのでSSLをインストールしておく。DNS切り替えないとSSLがインストールできないようなら、この時点でやるしかない。
hostsファイルを修正
Windows11であれば、テキストエディタ(メモ帳でもいい)を管理者権限で実行し、C:\Windows\System32\drivers\etc\hostsファイルを修正する。
私の環境では以下の行を追加した。
118.27.125.217 qwl.jp
適当に新サーバーにのみ存在するhtmlファイルを新サーバー側にアップロードし、ブラウザでアクセスできれば成功。

hostsファイル編集権限がなければPCの管理者に相談すること。
新サーバーのドキュメントルートを確認
旧サーバーと同様、phpのドキュメントルートを確認する。
データベース内のドキュメントルートを置換
主に wp_options テーブルの recently_edited などに旧サーバーのドキュメントルートが記載されている。ここを新サーバーのそれに書き換えてあげる必要があるが、通常はシリアライズされているので、手動で書き換えるのはうまくない。
そこで、Search Replace DBというツールを使えば、シリアライズの修正込みでデータベース内の文字を置換してくれる。

フォームにある各項目を記入して送信すると、ダウンロードリンクがメールで送られる。
Search Replace DB の使用方法
zipファイルを展開してできたフォルダをwp-config.phpのあるディレクトリと同じ階層にアップロードして、ブラウザでアクセスする。
[Search]の[replace]に旧サーバーのドキュメントルートを、[with]に新サーバーのドキュメントルートを記載。
[Database Details]に新サーバーのデータベース情報を記載。

サーバー側から指示がなければ、普通はポート番号は未記載で良いはず。
[Do a safe test run]でテストした後、[Search and Replace]で置換を実行。終わったら[delete me]でこのSearch Replace DB自身を削除してくれる。
ハマりポイント
.htaccessがちゃんと移行できていない
WinSCPの場合、[オプション]→[環境設定]→[パネル]→[隠しファイルを表示する]にチェックを入れておかないと、.htaccessが表示されないので、移行漏れが発生する。
PHPのバージョンが合ってない
古いWordPressを使っていて、新サーバーのPHPのバージョンが高すぎる場合に起きる。そんなWordPressを使っている方が悪いのだが、じゃあどうすればいいのかというと、移行前の状態でバージョンアップしておくか、新サーバー側でPHPのバージョンを下げることを検討するしかない。



コメント