サイトリニューアルによる移転や、テスト環境から本番環境への移行など、WordPressのサーバーを移行する時の流れをメモ。
今回はローカルに「cly7796.dev」という環境を作成して、「cly7796.net/wp/」の内容を「cly7796.dev/wp/」に複製する想定で試してみます。
データベースのエクスポートとインポート
まずは現在のWordPressで使っているデータベースをエクスポートします。
エクスポートについてはいくつか方法があるかと思いますので、データベースのバックアップなどをご確認ください。
エクスポートが完了したら、移行先の環境に空のデータベースを作成して、先ほどエクスポートしたデータをインポートします。
WordPressファイルの移行
次に、WordPressで使用するファイル群を移行します。
現在のWordPressで使っているファイル群をダウンロードして、wp-config.phpの以下の部分を移行後の環境のものに書き換えます。
wp-config.php
define('DB_NAME', 'XXXXXXXXXX'); define('DB_USER', 'XXXXXXXXXX'); define('DB_PASSWORD', 'XXXXXXXXXX'); define('DB_HOST', 'XXXXXXXXXX');
wp-config.phpの書き換えが完了したら、移行後の環境にファイル一式をアップロードします。
これでデータは一通り移行できましたが、データベース内のURLが旧ドメインのままなので、ドメインの書き換えを行います。
ドメインの書き換え
ドメインの書き換えにはSearch Replace DBを使用します。
WordPressの公式でもWordPressの引っ越しで紹介されているツールです。
Search Replace DBのダウンロードと設置
まずはSearch Replace DBをダウンロードします。
Search Replace DBのサイトで少し下にスクロールするとダウンロードフォームがあるので、必要な項目を入力します。
Search Replace DBは正しく理解して使用しないとセキュリティ的に危険なので、「Knowledge check」の項目で正しく理解しているかをチェックしています。
内容を確認して正しく理解している場合のみ先に進むようにしてください。
3つの項目をチェックすると、メールアドレスの入力フォームが表示されるので、こちらにも入力をしてSUBMITをクリックします。
入力したメールアドレスにダウンロード用のリンクが送信されるので、クリックしてダウンロードを行います。
ダウンロードしたファイルを解凍して、WordPressを設置しているルートに「Search-Replace-DB-master」のフォルダをアップロードしてください。
Search Replace DBの使い方
先ほどSearch Replace DBを設置したURLにアクセスすると、以下のような入力画面が表示されます。
search/replaceの項目に置換前のURLと置換後のURLを指定します。
今回の場合、置換前が「https://cly7796.net/blog」、置換後が「http://cly7796.dev/wp」になります。
URLの最後に「/」をつけないように注意してください。
databeseの項目はデフォルトで値が入っていると思うので、特に変更は不要です。
tablesも特に設定はしなくてよいと思います。
actionsのdry runボタンで置換のテストができます。
こちらで一度試してみて、問題なさそうならlive runボタンで実際に置換を実行します。
置換には少し時間がかかります。
live runボタン横のローディングが消えればドメインの置換完了です。
サイトの表示確認とSearch Replace DBの削除
これで移行作業は完了なのですが、実際に移行後のサイトを確認すると、下層ページがnot foundとなってしまう場合があります。
下層ページがnot foundになる場合は、管理画面にログインして、設定 > パーマリンク設定 から特に変更しないで保存をすると直ることがあります。
サイトの表示が問題なさそうでしたら、Search Replace DBを削除してください。
サーバ上のファイルを直接削除するか、先ほどの置換画面の下にdeleteボタンがあるので、クリックして削除してください。
Search Replace DBを残すとセキュリティ的に危険なので、必ず削除しましょう。
【参考サイト】
- ドメイン変更を伴うWordPressサイトのサーバー移転方法 – WordPressの使い方と設定 – Webkaru
- データベースのバックアップ – WordPress Codex 日本語版
- Database Search and Replace Script in PHP | interconnect/it
- WordPressサイトのドメイン置換には「Database Search and Replace Script in PHP」が良い!
- 大きいサイズのMySQLがphpMyAdminにインポートできない場合 | レンサバネット
コメントが承認されるまで時間がかかります。