【wordpress】ローカル環境から本番環境への移動

ローカルで作ったwordpressサイトを本番環境に移動するときの手順とか。
wordpressサイトをローカル環境で作成し、本番環境にアップするときにドメイン置換をしなければなりません。※ドメイン置換をしないとリダイレクトされてしまいます。
wordpressのデータベースの「wp_option」などにローカル環境のURLがガッツリ記述されていますので、これを置換していきます。
使用するのは有名な「Database Search and Replace Script in PHP」です。
以前と仕様が変わっていて焦りましたが、簡単に置換できました。

ローカル環境のバックアップ、該当するDBのエクスポート

FTPで該当するすべてのデータを持ってきます。
また、ローカルのデータベースにログインしてwordpressのDBからまるっとデータを持ってきます。
フォーマットはsql。エンコーディングへの変換は「なし」。

本番環境用にwp-config.phpの情報を直しておく

本番環境に移行する前にwp-confug.phpの内容をローカルから変更しておくとスムーズです。

本番環境にFTPでデータを入れる

先程ローカルから持ってきたwordpress一式をアップロード。

本番環境のデータベースにログイン、sqlデータをインポート

該当するテーブルにローカルからエクスポートしてきたデータをインポートします。
インポートの時に、設定は基本的にいじらなくてOK。ファイルを選択したらそのまま「実行」で良いと思います。

試しにwp-optionを見るとローカルのURLになっています。

Database Search and Replace Script in PHPのダウンロード

まずDatabase Search and Replace Script in PHPに行ってファイルをダウンロードします。
Database Search and Replace Script in PHP

スクロールしていく下記のような画面が現れます。
以前はそうではなかったのですが、ダウンロードするのにメールアドレスなどの情報を入力しないといけないようです。

ダウンロードしたらwordpressの入っているディレクトリ直下にフォルダ一式アップロードします。wp-adminやwp-config.phpが入っているところです。

Search-Replace-DB-masterを起動する

アップロードしたら、サイトのドメインの後ろに /Search-Replace-DB-master/index.php をつけてアクセスします。

下記のような画面が出てきます。

search/replace

search for…:置換前のURL(ここではローカル環境のURL)
replace with…:置換後のURL(ここでは本番サイトのURL)

detabase

データベースの情報がでます。この項目は勝手に入りますのでいじらなくて大丈夫

tables

よくわからない(汗)いじらなくて大丈夫

actions

使うのは2つだけ。

dry run
試しに実行したらこうなるよ、というもの。置換前に実行して見たほうが良いと思います。

live run
一括置換を実行します

delete

置換が終わったら「delete me」を押してSearch-Replace-DB-masterフォルダを消します。
そのままおいておくと、セキュリティ的に良くないです。一括置換するシステムなので悪用されると大変危険です。忘れずに削除しておきます。

置換終了!

試しに再度本番環境のデータベースを開いて、wp-optionを見てみるとURLが変わっていると思います。

個別記事や個別ページがエラーになるとき

サイトを移動して、個別記事や個別ページなどがエラーになるときは、管理画面の設定 > パーマリンク設定へ行き、一度「変更を保存」ボタンを押すと表示されると思います。