以前、友人のお店のサイト(耕人-桜井市の美容室・ヘアサロン)を制作しました。その際、別ドメインで色々試行錯誤するためのコピーサイトを作ったのですが、データベースの取り扱いに苦労しました。今後同様なことがないように備忘録的メモを書きます。
テスト環境は本来必須
ワードプレスでサイトを運営していると、サイトのデザインや構成をいじりたくなることは多々あります。
しかし、色々いじくっている最中に表示がおかしくなることは日常茶飯事。
閲覧者のことを考えれば、いろいろ試行錯誤するのはテスト環境で行いたいものです。
また、他人のサイトのリニューアルなどを請け負っているときには、試行錯誤するためのテスト環境を用意するのは必須です。
ワードプレスサイトのコピーは大変です。
そこでテスト環境を作ったわけですがこれが大変でした。
HTMLファイルのみで出来ているような静的サイトのテスト環境を作る場合、元サイトのファイルをコピーして、テスト環境用のドメインやサブディレクトリに移し変えれば終わりです。
ところが、ワードプレスの場合、データベースも移さなければなりません。
しかも、データの中にサイトのURLが結構出てくるので、これを適切に変更しないといけません。
また、データベースのテーブル接頭辞にも気をつけないといけません。
作業手順
まず、前提として、元サイトとテスト環境のドメインとデータベース接頭辞が以下のようなものであったとします。
- 元のサイトアドレス:webshufu.com
- テスト環境のサイトアドレス:example.com
- 元のWordPress アドレス:webshufu.com/blog
- テスト環境のWordPress アドレス:example.com/blog
- 元サイトのデータベース接頭辞:webshufu_
- テスト環境サイトのデータベース接頭辞:example_
1.まずは、ファイルのコピー・アップロード
当然のことながら、webshufu.comにおいている全てのファイルを、ディレクトリ構成を変えずにexample.comに移します。FTPソフトを使えば楽勝です。
ですが、この時、.htaccessとwp-config.phpはexample.comに移さないでください。
2.元サイトからデータベースをエクスポート
ワードプレスのバックアップをするときと同様の方法で、元サイトwebshufu.comのデータベースを.sqlファイルとしてデスクトップにエクスポートします。
3.エクスポートしたSQLファイルを修正
元サイトwebshufu.comからエクスポートした.sqlファイルを、そのままexample.comのデータベースにインポートしても、ワードプレスはうまく表示されません。
データベースには、webshufu.com/blogにワードプレスを設置して、webshufu.comにサイトトップを表示することを表す情報があるからです。
これらの情報を、example.com/blogにワードプレスを設置して、example.comにサイトトップを表示するようなデータに変えないといけません。
また、テーブルの接頭辞もwebshufu_からexample_に変えなければなりません。
ここで活躍するのがテキストエディタの置換機能です。以下の置換を行います。
- https://webshufu.com/blog⇒http://example.com/blog
- https://webshufu.com⇒http://example.com
- webshufu_⇒example_
4.修正後の.sqlをテスト環境のデータベースにインポート
出来上がった.sqlファイルをテスト環境のデータベースにアップロードして終了です。
データベースのテーブル接頭辞をwp_にするな
ところで、このようなデータベースの移転作業を行う場合、テーブルの接頭辞をwp_にしていると作業が大変です。
セキュリティー上も良くないです。接頭辞はwp_以外にしましょう。