本番の WordPress 環境を Local に複製・再現させる (2025年2月)

本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

概要

先日、本サイトの 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 ですべてのファイルを選択した形でバックアップを取得してあったのでそれを使います。

BackupWPup ですべてを選択してバックアップ

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] をクリックして、作成したサイトのデータフォルダを開きます。

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
があると思います。

バックアップの zip 内に .sql ファイルがあるか確認

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

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

AdminerEvo - DB: でブランクを選択して、データベースを作成

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

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

AdminerEvo - 作成したデータベースを選択してインポート

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

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

AdminerEvo - インポートのクエリ完了

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 に置きます。

Local で作成したサイトの public のフォルダに Search-Replace-DB のフォルダを丸ごと置く

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

Search-Replace-DB にアクセス

以下を入力します。

  • Search Replace
    • replace : 本番サイトのFQDN
    • with : Localで作成したサイトの FQDN
  • Database Details
    • database name : 先ほど作成したデータベース名
    • username : root
    • pass : root
    • host : localhost
    • port : 10004
Search-Replace-DB で 置換する項目とデータベース接続情報を入力して、Test connection を実行

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

データベース接続用の情報の確認

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



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

Search-Replace-DB で Search and Replace を実行する際の警告

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

Search-Replace-DB で Search and Replace を実行後


完了後は、必要に応じて delete me ボタンから Search Replace DB のフォルダを削除します。

サイトを一度停止して、再度開始します。

Local のサイトにアクセスして確認する

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

サイトを再起動後に、WP Admin や Open site でアクセスしてみる
[WP Admin] で WordPress の管理画面にアクセスできますが、入力するユーザ名とパスワードは、バックアップのタイミングの本番サイトのユーザとパスワードと同じものです。

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

Settings で適宜設定しなおす
[Open site] で、Local で作成したサイトURLにアクセスし、バックアップを取得した時点の本番サイトと同様な画面が表示できることを確認します。

Localで作成したサイトに本番サイトを複製

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 の設定 – ホスト ファイル エディタ – ホスト ファイル エディター の起動

PowerToysからホストファイルエディターの起動

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

参考となれば幸いです。