みなさんのお住まいのところは梅雨入りしましたか?
私は今年の春に2階から1階に引っ越したのですが、2階の時に比べてちょっぴり湿っぽい気がします。とにかく洗濯物が乾きにくくて嫌な季節ですね。
さて、今回はローカル(今回はMac×Mampです)から本番環境へWordpressを移行した時のお話です。
カスタムフィールドやら初期登録分の記事やら、固定ページやら、量が多くなければ本番環境でもう一度作っても良いのですが(その程度ならWP使ってないかもしれませんね)、ローカル環境でお腹いっぱいになっているWPを本番環境に引っ越します。
WP標準のインポートツールだけだと、うまく移行できないデータがあったり、データベース上のURLの書き換えがうまいこといかずにリンクが切れたりすることがあるみたいです。(※参考サイト:テストから本番へ!WordPressでURLが変わる場合のデータベース修正マニュアル)
今回は参考サイトを見ながらsearchreplacedb2.phpというスクリプトを使います。
作業手順
- ローカルからデータベースのエクスポート(sql)
- 本番環境にデータをインポート
- サイトデータをサーバにアップ
- searchreplacedb2.phpを使ってデータベース内のURLを書き換える
- searchreplacedb2.phpを削除する
準備段階としてsearchreplacedb2.phpを先にダウンロードしておきます。
(準備を全部してからの方が慌てなくていいですからね)
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
上記リンク先のページ中程にダウンロードのリンクが有ります。V3.0.0 BETA版も有るようですが、今回は2.1.0の方を使って問題なく引越しできました!
ローカルからデータベースのエクスポート
MampからphpMyAdminにアクセスしてデータベースをエクスポートします。
ポイントは、
- 必要なテーブルを全て選択すること。
- SQLで出力すること。
- 「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」にチェックを入れること。
のようです。実行して.sqlで保存します。
データ量が大きい場合は圧縮した方がいいのかもしれません。
本番環境にデータをインポート
こちらは移行先のサーバによるかも知れませんが、サーバのコントロールパネルからphpMyAdminにアクセスして「インポート」してあげます。
コレだけなんですが、コレだけでできてしまいました。
サイトデータをサーバにアップ
FTPツールなどで、サイトデータ(テーマファイルなど必要なもの)をアップロードします。参考サイトなどをいろいろ見ているとwp-config.phpをアップロードして書き換えると説明されているものが多かったですが、今回はその作業無くいけました。
あらかじめ本番環境にWPを設置してあったので、その辺りをいじる必要がなかったみたいです。
searchreplacedb2.phpを使ってデータベース内のURLを書き換える
最初にダウンロードしておいたsearchreplacedb2.phpをWPのフォルダにアップロードしてアクセスします。
URLはhttp://ドメイン/wordpress/searchreplacedb2.phpみたいなかんじです。
「Submit」をクリックして次に進みます。
書き換えを行うデータベースの情報が表示されます。
内容を確認して間違いなければ「Submit DB Details」をクリック。
書き換えを行うテーブルを選択します。
※初期状態で全選択されていたので、そのままで良かったです。
確認したら「Continue」をクリック。
上のテキストボックスに「どの文字列を書き換えるか(旧URL)」を入力。
下のテキストボックスには「書き換え後のURL(新URL)」を入力します。
※末尾に / を入れないのがポイントみたいです!
内容を確認したら「Submit Seach string」をクリック。
コレでURLの書き換えが行われます。
本番サイトを確認してみましょう。
searchreplacedb2.phpを削除する
書き換えが行われたのを確認して、searchreplacedb2.phpをサーバから削除します。
何度も表示されてますが「消すの忘れないでね!」出そうです。
このスクリプトにアクセスできると、誰でも書き換えができてしまいますからね。
絶対に削除しましょう。
まとめ
今回はテストから本番環境への移行で利用しましたが、サーバが移行したときなどにも使えそうです。(カスタムフィールドを作りすぎて移行がすこぶる大変になってしまった。カスタムフィールドのメンテが今後思いやられます・・・)
データベースをいじくるので、ご利用は自己責任かつ、細心の注意が必要ですね。
今回参考にさせていただいたサイト様
ありがとうございました!
「ローカル環境からのお引越し(searchreplacedb2.phpを使います)【WordPress】」への1件のフィードバック