WordPressサイトの複製を作る(ロリポップの例)

実施に当たって

ロリポップサーバーのユーザー専用パネルですべての処理できます。(外部FTPは使わない)
新サイトのドメインとMySQLデータベースは既に作成・設定済みで話を進めます。データベースの扱いが少しハードルが高いですが、プラグインは使わないで実施が可能です。

先日こんな質問を受けました。・・・その時のやり取りです。

「wordpressで自分が運営するサイトを、全く同じ内容でコピーすることはできますか?」
「丸ごと別のサイトにコピーするということですか?」
「はい。記事やテーマだけでなく、プラグインやプログラムなども含めて全部です」
「目的は?ミラーサイトとか負荷分散用のためですか?」
「いや、別の新しいサイトを作るためです」
「はあ、SEOのためのサイトの量産ならやめたほうが良いです。場合によってはスパムサイト扱いになってしまうので・・・」
「いえ、最初から作ると面倒なので、運営しているサイトを、記事の内容はまったく変えて複数作成することを考えてますが、まずいでしょうか」
「それなら問題ないですが、小さなサイトならWordpressをインストールして新規で作る方が早くて安全だと思います」
「プラグインのインストールやカスタマイズの再設定が大変なんですよね」
「たしかに、面倒ですよね」
「新しいドメインのサイトに、なるべく簡単にコピーできる方法があると嬉しいのですが」
「サイト制作の場合、テストサーバーなどの開発環境でwordpressで試作した後、本番環境へサイトを丸ごとコピーすることはよくあります。それと同じケースと考えていいのですかね」
「そうです。そうだと思います。その方法教えてください」
「MySQLデータベースphpMyAdminのインポート・エキスポート機能は使ったことありますか?」
「いえ、ありませんが、頑張ってやってみたいと思います」
「わかりました。自分がサイト制作過程でやっていることですがご説明します」

ということでWordpressサイトを丸ごとコピーする方法を紹介します。

    サーバー環境など

・ロリポップサーバー(チカッパプラン)、同一アカウント
・wordpress 4.0
・データベースのバージョン mysql 5.1
※コピー先ドメインのフォルダとMySQLデータベースは既に作成・設定済みで話を進めます。
※手順を間違えるとアクセス不能になったりします。自己責任でお願いします。
[table caption=”コピー設定の例” width=”650″ colwidth=”200|150|150|150″ colalign=”center|center|center|center”]
設定項目,コピー元,コピー先,備考
サーバー,ロリポップ,ロリポップ,同一サーバー
アドレスURL(架空です), http://wp01.test.com, http://wp02.test.com,ドメイン変更
wordpressパス(dir),/wp01,/wp02,パス変更
DB名,LA*****-01,LA*****-02,DB名変更
DBサーバー(ホスト名),mysql***.phy.lolipop.jp,mysql***.phy.lolipop.jp,変更不要※1
DBユーザー名,LA*****123,LA*****123,変更不要※1
DBパスワード,********,********,変更不要※1
[/table]※1 同じサーバでDB系列の場合

1.Wordpressファイルのコピーと書き換え

1.ロリポップFTPでコピー元フォルダ(/wp01)のファイル一式をコピー先フォルダ(/wp02)にコピー。
※コピー方法はロリポップのマニュアルを見てください。だいたい数分でコピー完了します。

2.ロリポップFTPでコピー先フォルダ(/wp02)のwordpress設定ファイルの情報を書き換える。
/wp02/wp-config.php を編集して、コピー先サイトのデータベース名に変更します。
/** MySQL のデータベース名 */
define(‘DB_NAME’, ‘LA*****-02′);

同じサーバとDB系列での作業ならここだけ変更でOK
※書き込み権限を変更しないと書き換えができない場合があります。

※同じサーバーでない場合は以下の項目も変更
/** MySQL のユーザー名 */
define(‘DB_USER’, ‘LA******123’);
/** MySQL のパスワード */
define(‘DB_PASSWORD’, ‘********’);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘mysql***.phy.lolipop.jp’);

2.wordpressデータベースのコピーと書き換え

1.phpMyAdminでコピー元データベース(LA*****-01)をエクスポートする。
Webツール→データベース→操作する>phpMyAdmin>からエキスポート。
(LA*****-01.sql のファイル名で出力されます)

2.エキスポートしたコピー元データベースに書かれているURLをコピー先URLに変更する。

エディタを使ってsiteURLやhomeのhttp://wp01.test.com部分をhttp://wp02.test.comに変更します。
※siteURLやhome項目は120行目と150行目あたりにあります。ここは正確に変更のこと!
また、コンテンツ内に元サイトのドメイン(URL)でリンクや画像読み込みの記述が入ってしまっているフルパスの表示部分もすべて変更します。
※以上はエディタの置換処理で一括変換できますので、まとめて処理すれば一度で済んでしまいます。

3.修正したコピー元DBをコピー先データベース(LA*****-02)にインポートする。

3.コピー先サイトにログイン

1.コピー先サイトの管理画面(http://wp02.test.com/wp-admin)にアクセスしてログインする。
このプロセスは少しドキドキしますね。ユーザー名とパスワードを入力し、ログインできればほぼ完成。

2.管理画面にログインできたら、念のため新しいコピー先サイトは「設定」「表示設定」「検索エンジンでの表示」でグーグルのindexをNoにします。

3.コピー先サイトにアクセスし、プラグインの動作やリンク、アップロード画像を確認して終了。
慣れている人であれば、全工程15分ぐらいで終了します。
トラブルが発生すると1日がかりなんてこともありますけど・・・

4.もしログインできない場合は、wp-config.phpファイルやデータベースの変更内容を再確認してやり直してみてください。

※他のサーバーもほぼ同様ですが、外部FTPが必要の場合もあります。
※くれぐれもコピー元のファイルを壊さないよう注意して対応してください。