概要
先日、本サイトの WordPress テーマを変更しました。(Luxeritas → SANGO)
テーマ変更に際して、どれくらいの影響があり、どのような修正が必要かを検証するために、Local を使って本番サイトの複製を手元の PC で作成しました。
簡単にはできない部分もあったので、情報残しておきます。
Local について
Local については、以前記載したことがあるので、インストール方法などについては別ページをご参照ください。
インストールに関しては現在もほぼ同じです。
本稿更新時点で バージョン 9.2.0 (Windows 版 だと local-9.2.0-windows.exe) がダウンロードできました。
バックアップの zip を用いて Local に WordPress サイトを作成する方法
Local でサイトを新規作成する際に、zip ファイルから作成する方法が用意されています。
Local のサイトの情報を見ると、WP Migrate / WP Migrate Lite プラグインでバックアップを取得し、そのバックアップデータの zip を利用できると記載があります。
https://localwp.com/help-docs/getting-started/how-to-import-a-wordpress-site-into-local/#import-a-site
試しに、WP Migrate Lite でバックアップを取得し、zip を手元にダウンロード後、その zip を Local に読み込ませましたが、サイトの構築中にエラーとなるようでロールバックしてしまい、Local でサイトは作成できませんでした。
また、別のバックアッププラグイン BackWPup もインストールして同様にバックアップを取得し、Local でサイトの作成を試みましたが、うまくいきませんでした。
結局、Manually Import a Local site の方法に倣って実施することにしました。
手動でのインポート
本番サイトのバックアップ の zip のダウンロード (本番サイトの WordPress 管理画面から実行)
まずは、本番サイトのバックアップを取ります。
ここではプラグインを用いて行っています。
もともと BackWPup ですべてのファイルを選択した形でバックアップを取得してあったのでそれを使います。

WP Migrate Lite を利用する場合は、Migrate – Export から Database, Media Uploads, Themes, Plugins にチェックを入れて (それぞれの詳細はデフォルトのままで) Export をクリックして zip をダウンロードする形でOKです。(もちろん全部チェック入れても問題ないです。)





このあとは本番サイトは触りませんので、本番サイトの WordPress 管理画面は閉じておくとよいです。
Local で新規サイトの作成
次に、Local で新規サイトを作ります。
左下 + ボタン – Create a new site – Continue をクリックします。


What’s your site’s name の画面で Local に作成するサイト名を入力します。 (Advanced options はデフォルトのまま)


Choose your environment の画面では Custom を選択して、本番サイトに近い PHP version, Web Server, Database を選択します。
私の場合は、ConoHa WING を使っていますが、Local で作るサイトは以下にしました。


▼ 参考
https://support.conoha.jp/wing/faq/database-q
https://support.conoha.jp/w/configphp
https://www.conoha.jp/wing/function/
Set up WordPress の画面では、ユーザ名とパスワードを入力します。
この情報は、後ほどデータベースを入れ替えると利用されなくなるので、暫定的なものでよいと思います。
Advanced options もデフォルトのままでよいです。


Add site をクリックして、サイト作成の完了を待ちます。


Local で作成した 新規サイトのフォルダに バックアップの zip 内のデータを移行する
Local の画面で、[Site folder] をクリックして、作成したサイトのデータフォルダを開きます。

app/public/wp-content 配下に、plugins, themes, uploads フォルダがあるので、それぞれ plugins-old, themes-old, uploads-old に名前を変更します。


バックアップの zip を解凍して、バックアップ内にある plugins, themes, uploads フォルダを、上記の Local のフォルダに移動します。


新規サイトに、本番サイトのデータベースをインポートする
バックアップの zip の中に .sql ファイルがあるか確認します。
BackWPup の場合は、サーバ名.sql
WP Migrate Lite の場合は、database.sql
があると思います。

Local で作成した新規サイトの DATABASE – AdminerEvo をクリックします。
ブラウザでデータベースの管理UIが開きます。


左上 DB: を空欄にして、[データベースを作成] をクリックします。

データベース名に任意の名前を入力し、本番サイトと同じ順序照合を選択します。
順序照合がわからない場合は .sql ファイルをテキストエディタで開いて COLLATE で検索すると確認できます。
選択後、保存をクリックします。


DB: 欄で今作成したデータベースを選択し インポートをクリックします。

ファイルをアップロードをクリックし、.sql ファイルを選択後、実行をクリックします。


xxx クエリが実行されました と表示されたらブラウザを閉じます。

Local で作成したサイトのフォルダにある app/public/wp-config.php をテキストエディタで開きます。
DB_NAME の右に書いてある値を 先ほど作成したデータベース名に変更します。
画像は local → testdb を書き換えた例です。


データベース内の文字列を置換する
Local で作成したサイト用のデータベースには、本番サイトの情報がインポートされていますが、本番サイトのFQDN/URL がそのまま残っていてうまく機能しませんので、Local で作成したサイト用に置換します。
置換には Search Replace DB を利用します。
Search Replace DB は、以下から入手可能です。
https://github.com/interconnectit/Search-Replace-DB
右上の [< > Code] となっているドロップダウンメニューをクリックして [Download ZIP] をクリックしてダウンロードします。


ダウンロードした Search Replace DB の zip を解凍し、Search-Replace-DB-master フォルダ配下すべてを Local で作成したサイトの app/public に置きます。

Search Replace DB の WebUI を開きます。
※ https ではなく、http でのアクセスです。
http://Localで作成したサイト名/Search-Replace-DB-master

以下を入力します。
- Search Replace
- replace : 本番サイトのFQDN
- with : Localで作成したサイトの FQDN
- Database Details
- database name : 先ほど作成したデータベース名
- username : root
- pass : root
- host : localhost
- port : 10004

host と port は Local の画面から確認できます。

入力後 connect をクリックします。
Success. You are connected. が表示されたら、Let’s go のところにある [Search and Replace] をクリックします。


本当に置換してよいかのダイアログが表示されるので OK をクリックします。

完了するまでしばらく待ちます。[Search and Replace] が再度クリックできるようになれば完了しています。

完了後は、必要に応じて delete me ボタンから Search Replace DB のフォルダを削除します。
サイトを一度停止して、再度開始します。


Local のサイトにアクセスして確認する
念のため、開いていたブラウザはすべて閉じて、Local のサイトにアクセスしなおします。
Local の UI から [WP Admin] や [Open site] をクリックする形で OK です。

必要に応じて、WordPress の Settings からサイトの言語、日付形式、時刻形式、週の始まりを変更します。


Local と Windows の hosts
ちなみに、Local 9.2.0 で作成したサイトの FQDN は、Windows の hosts ファイルにエントリが追加されます。
hosts ファイル : C:\Windows\System32\drivers\etc\hosts
これによって、サイトにアクセスできるようになっています。
もし Local で作成したサイトのアクセスに不都合があったり、削除したサイトのエントリが残ってしまっている場合は、hosts ファイルの編集が必要です。
しかしながら、Windows 11 の場合は、hosts ファイルは簡単に変更できないようになっています。
(メモ帳で開いて中を見ることはできますが、通常の方法では上書き保存ができません。)
hosts ファイルを編集したい場合はいくつか方法がありますが、個人的には PowerToys の ホスト ファイル エディター を使っています。
PowerToys の設定 – ホスト ファイル エディタ – ホスト ファイル エディター の起動

警告を確認して承諾後、新規エントリの追加や既存エントリの削除ができます。


参考となれば幸いです。