皆さんWordPressでテスト環境から本番環境への移行、特にURLの置換はどうしていますか?
All-in-One WP Migrationというプラグインでも移行はできますが、3つデメリットがあります。
- 無料だとサーバー設定のアップロードサイズまでしか使えない。
- インポートの容量を512MBに底上げする無料のアドオンがなくなったので有料版しか選択肢がない
もしくは.htaccess、wp-configなど設定ファイルを触らないといけない(※私の環境で設定しましたが、何も変わりませんでした) - 他のサイトと同じDBに使用する場合他のサイトのDBも消えてしまう
今回はプラグインを使用せず、Search Replace DBというツールを使い、テスト環境のURLを一括で本番のURLに置換する方法をとります。
前提
- サーバー上の全データをダウンロード&本番へのアップロードが終わっている
- DBデータのエクスポート&本番へのインポートが終わっている(phpMyAdmin等で)
- wp-config.phpの本番環境の書き換えが終わっている
Search Replace DBを用意する
①公式サイトへアクセス
②「Download and/or Donate to Search Replace DB」の部分までスクロールしてメールアドレスを登録します。
- Risk Checkにチェック
- Nameを入力
- Emailを入力
- Suggested donationは無視(寄付するかどうか聞いています)
- Submit to receive your dounload linkのボタンを選択
③登録したメールアドレスにメールが届いているので「here.」をクリックしてツールをダンロードします。
※phpのバージョンが古い場合は「use v 3.1.0」をクリックして古いバージョンに対応したツールをダウンロードします。
「Search-Replace-DB-master」という名前でダウンロードされます。
Search Replace DBをサーバーにアップロードしてアクセス
1.FTPにてWordPressをインストールしているルートディレクトリにファイルをアップロードします。
wp-adminや、wp-includeのディレクトリがある階層になります。
2. https://○○○/Search-Replace-DB-masterにアクセス
Search Replace DBの画面が表示されます。
※〇〇○にはサイトのドメインを入れます。
置換の設定
1.置換対象のURLと置換後のURLを設定します。
replaceに置換対象のURL、withに置換後のURLを入力します。
今回はhttps://hogehoge.comをhttps://mugomugo.comにURLを置換します。
2.wp-config.phpを元にDBの情報を入力する。※旧バージョンによっては自動で入力される。
入力が終わったらDB情報が正しいか確認する。「Test connection」を選択して「Success. You are connected」と表示されるとOKです。
テストランを実行し、置換できるか確認する
「Do a safe test run」を選択する
すると何やら大量のエラーが出ますが、こちらはSEOプラグインのYoastを使っていたら置換されないことがあるよ。という注意喚起なので、使っていない場合無視して問題有りません。
The dry-run option was selected. No replacements will be made.
Incomplete or ill-typed serialization data:: This is usually caused by a plugin storing classes as a serialised string which other PHP classes can’t then access. It is not possible to unserialise this data because the PHP can’t access this class. P.S. It’s most commonly a Yoast plugin that causes this error.
下の方にスクロールするとテストの置換結果が表示されます。「Cells changed」が置換した箇所になります。「view changes」を選択すると置換対象と置換後の結果が表示されます。
置換を行う
問題なければ「Search and Replace」を選択し、実際にDBの置換を開始します。
開始すると最終確認のポップアップが表示され、OKを押すと
5秒のカウントダウン後に置換が始まります。キャンセルする場合は隣の「stop」ボタンで停止してください。
成功するとテストランと同様の結果が得られます。「view changes」を押して確認してみてください。
置換がおわった後に必ずやること
置換が終わったら必ずツールを削除してください。削除しないと第3者にアクセスされ、DBを書き換えられる可能性があります。
FTPでSearch-Replace-DB-masterフォルダを削除するか、ツール画面下部にある「delete me」を選択すると削除することができます。
まとめ
いかがだったでしょうか。
小規模で画像も少ないようなデータの少ないサイトであればプラグイン(All-in-One WP Migration)で簡単にDBごと移行できますが、規模が大きくなると無料で対応できなくなります。
自力で移行する場合でサイト内のURLを一括で置換したい場合は、簡単に扱えるSearch Replace DBを使ってみてはいかがでしょうか。