ローカルで開発したWordPressを、サーバーに移行する時に便利な「WordPress Search Replace DB」の使い方を簡単にまとめました。
もくじ
- ローカルのDBをエクスポートする
- サーバーにDBを作成しインポートする
- wp-config.phpを編集し、サーバーの環境に合わせる
- WordPress本体をサーバーへアップロードする
- DBの置換は「Search Replace DB」をダウンロードして使う
- 「Search Replace DB」の使い方
- Database Detailsに、DB情報を入力して接続可能かを確認する
- SearchReplaceで、置換するURLを指定する
- Do a safe test runで、置換結果のシミュレーションする
- Search and Replaceで、置換を実行する
- delete meで、Search Replace DBを削除する
- サーバー移行後にURLを統一する
WordPress関連記事
【WordPress】ローカル開発からサーバーへ移行に便利な「Search Replace DB」の使い方
.htaccessでhttpにアクセスされたときに自動でhttpsに「www」のあり・なし統一して301リダイレクトする
WordPressの条件分岐タグでページを判別する
WordPressの投稿記事内に外部URLのOGPを取得してカードを作る
WordPressで取得したタイトルからHTMLタグを削除するthe_title_attribute()
【WordPress】ループ内で取得したパーマリンクやタイトルを変数に入れる
【WordPress】アイキャッチ画像のURLのみ取得して属性やクラスなどを自由にカスタムする
WordPressのループ内でアイキャッチ画像を表示させる
ローカルのDBをエクスポートする
phpMyAdminから、移行するWordPressが使用しているDBを選択し、「エクスポート」タブから、
「可能なオプションをすべて表示」をチェックし、テーブルが全選択されてることを確認する。
「生成オプション」の「DROP TABLE/VIEW/PROCEDURE/FUNCTION/EVENT/TRIGGERコマンドを追加する」にチェックを入れ、「実行」をクリックすると、ローカル環境のDBがエクスポートされます。
サーバーにDBを作成しインポートする
サーバーの管理画面上から、移行するWordPressが使用するDBを作成します。
(DBの作成が必要な場合のみ)
ローカルのDBと作成するDBの名前を合わせておくとスムーズです。
各サーバーで操作方法が違うと思うので、説明は省きます。
phpMyAdminから、エクスポートしたSQLファイルをインポートする。
wp-config.phpを編集し、サーバーの環境に合わせる
サーバーのDBにWordPressが接続できるように環境設定を変更します。
データベース名:サーバーに新規作成したDB名
ユーザー名:サーバーで利用するユーザー名
パスワード:サーバーに新規作成したパスワード
ホスト名:サーバーで利用するデータベースのホスト名
詳細は、各サーバーのマニュアルを参照してください。
WordPress本体をサーバーへアップロードする
FTPでサーバーへWordPress本体を設置したい階層へアップロードします。
ルート直下が一般的ですかね。
この状態でWordPressにアクセスしても、正しく表示されません。
なぜならDBの情報がローカルで作成したままになっているから。
これを一括で、サーバー環境に置換します。
DBの置換は「Search Replace DB」をダウンロードして使う
Search Replace DBを使うと検索/置換する際にデータベースに保存されたシリアライズされたデータも置換することができます。
Githubから、Search Replace DBをダウンロードしましょう。
ダウンロードしたzipを展開した、「Search-Replace-DB-master」というディレクトリを使用します。
これを、wp-adminや、wp-content、wp-includesのディレクトリと同じ階層にアップロードします。
ブラウザで「https://「WordPressのルート」/Search-Replace-DB-master/」にアクセスして下記の画面が表示されれば、インストールは完了です。
例)https://example.com/Search-Replace-DB-master/
「Search Replace DB」の使い方
万が一に備えて移行元のデータをバックアップします。
使い方の流れは、下記のようになります。
1.Database Detailsに、DB情報を入力して接続可能かを確認する。
2.SearchReplaceで、置換するURLを指定する。
3.Do a safe test runで、置換結果のシミュレーションする。
4.Search and Replaceで、置換を実行する。
5.delete meで、スクリプトの削除をする。
Database Detailsに、DB情報を入力して接続可能かを確認する
以前はDB情報が自動で取得され、入力された状態になっていましたが、今は手動でDB情報を入力する必要があります。
database name:データベース名
username:データベースのユーザ名
pass:データベースのパスワード
host:データベースのホスト名
port:ポート番号(省略可)
上記の項目を入力したら「Test Connection」をクリックしてDBに接続できるかを確認します。
緑色で「Success. You are connected.」と表示されればDBに接続成功です。
SearchReplaceで、置換するURLを指定する
SearchReplace の「replace」には置換対象のURLを入力し、「with」には置換後のURLを入力します。
ローカルからの置換なので、「replace」にはローカルのURLを入力し、「with」には移行先サーバーの URLを入力します。
入力例
「replace」:http://localhost/wp/
「with」:https://example.com/wp/
「+ add more search terms」をクリックして置換対象を追加することができます。
Do a safe test runで、置換結果のシミュレーションする
「Do a safe test run」をクリックすると、実際に置換を実行せずに、シミュレーションすることができます。
変更があったテーブルには「view changes」というリンクが表示され、クリックするとどのような置換が実行されるのかを、確認することができます。
Search and Replaceで、置換を実行する
シミュレーション結果を確認し、問題ないようならば「Search and Replace」で置換を実行します。
するとアラートが表示されるので確認します。
「本当に置換の実行の準備は整っていますか? データベースのバックアップを取ってください!」
問題なければ「OK」をクリックで置換が実行されます。
ボタンを押しても、5秒間だけ「Stop」ボタンを押すことで、置換を中止することができます。
delete meで、Search Replace DBを削除する
置換が完了したら「delete me」で、Search Replace DBを削除します。
クリックするとアラートが表示されるので「OK」をクリックします。
これで削除できましたが、念の為「Search-Replace-DB-master」ディレクトリも削除しておきましょう。
以下は「delete me」ボタンをクリックしてサーバーからスクリプトを削除した後のフォルダの内容。スクリプトを削除後、再度置換を行うには 「Search-Replace-DB-master」を再度配置します。
念の為、「Search-Replace-DB-master」ディレクトリも削除しておきます。
これで、ローカルで開発したWordPressを、サーバーに移行することができました。
サーバー移行後にURLを統一する
サイトを公開するということは、サーバー移行後にURLを統一する必要があります。
ここで一緒にSSL対応もさせておくと楽ですね!
SSLに対応させる為に、「.htaccess」を使って、httpのURLにアクセスされたときに、自動でhttpsのURLに301リダイレクトする記述と、URLに「www」のあり・なし統一する記述をまとめたので、詳細は下記で確認してください。

コメント