WordPress

【WordPress】本番環境とステージング環境をコマンド1つで簡単に同期する

WordPressでブログを運営していると、サイトのデザイン変更や、wp-config.phpfunctions.phpなどのPHPファイルの編集、WordPress本体・プラグインのアップデートなど、様々な作業が発生しますよね。

PHPファイルの編集やアップデートは慎重に行う必要がありますが、ときにはミスをして画面が真っ白になってしまうことも...(私は何度もやらかしました)

そのため動作確認用のステージング環境を用意している方も多いと思いますが、こんな悩みはありませんか?

  • ステージングで加えた変更を手動で反映するのが面倒
  • 手動で同期すると反映漏れが発生する

そんな問題を解決するために、コマンド1つで本番↔ステージング環境を同期できるwp-syncというツールを自作しました!

wp-syncとは

wp-syncは、WordPressの本番環境とステージング環境間で、DB・ファイルの同期をコマンド1つで行えるシェルスクリプトです。

GitHubで公開しています:https://github.com/hiroya232/wp-sync

あくまで自分で使うために作成したツールのため、ご使用は自己責任でお願いいたします。

wp-syncでできること

wp-syncには以下の機能があります。

機能説明
DB同期mysqldumpで直前のDBをバックアップ&同期
ファイル同期rsyncで追加/更新/削除のあったファイルのみを同期
ドメイン置換WP-CLIのsearch-replaceでDB内のドメインを自動置換
wp-config.php切り替え環境に応じた設定ファイルを自動適用
Basic認証ステージング環境へのBasic認証を自動設定/解除
プラグイン管理環境に応じたプラグインの自動有効化/無効化
キャッシュ削除Redis, Autoptimize, WP-Optimizeのキャッシュを自動削除(同期時の不具合を軽減)
自動ロールバックエラー発生時は自動で元の状態を復元

これらをすべて自動でやってくれます。

使用イメージ

実際の使い方はシンプルです。

本番 → ステージング同期

wp-sync prd-to-stg
Bash

ステージング → 本番同期

wp-sync stg-to-prd
Bash

たったこれだけで、DBとファイル(public_html)同期が完了します。

実行例

$ wp-sync prd-to-stg
[2025-12-27 16:58:00] [INFO] 本番 → ステージング同期を開始します...
[2025-12-27 16:58:00] [INFO] ログファイル: .wp-sync/logs/2025-12-27_165800_prd-to-stg.log

------------------------------ステージング環境バックアップ 開始------------------------------
[2025-12-27 16:58:00] [INFO] 【DBをバックアップ】
[2025-12-27 16:58:00] [SUCCESS] 【完了】
[2025-12-27 16:58:00] [INFO] 【public_htmlをバックアップ】
[2025-12-27 16:58:00] [SUCCESS] 【完了】

 ・
 ・
 ・

------------------------------後処理 完了------------------------------
[2025-12-27 16:58:56] [SUCCESS] 本番 → ステージング同期が完了しました
Bash

更新されたファイルの数にもよりますが、数十秒〜1分程度で同期が完了します。

前提条件

必要なツール

ツール備考
macOS / LinuxWindowsは未検証
Bashシェルスクリプト実行用
rsyncファイル同期用
SSHサーバ接続用
WP-CLIサーバ側にインストールが必要

WordPress配置

ステージング環境が本番環境のサブディレクトリに配置されている必要があります。

public_html/            ← 本番環境
├── wp-admin/
├── wp-content/
└── stg.example.com/    ← ステージング環境(サブディレクトリ)
    ├── wp-admin/
    └── wp-content/

導入方法

導入は以下の流れで行います。

  • リポジトリをクローン
  • PATHを設定
  • 作業ディレクトリを作成
  • 設定ファイルをコピー・編集

詳細な手順はGitHubのREADME.mdに記載しています。

初期設定は少し手間がかかりますが、一度設定してしまえばコマンド1つで同期できるようになります。

注意事項

あくまで自分で使うために作成したツールのため、不具合により予期しない動作をする可能性があります。

  • ブログを始めたばかりでWordPressの知識があまりない方のご使用は非推奨です
  • ご使用の際は事前に必ずバックアップ作成&リストア手順の確認をしてから実行してください
  • 本ツールが原因で本番環境が壊れるなどした場合においても一切の責任は負いかねます

まとめ

本記事では、WordPressのステージング環境と本番環境をコマンド1つで同期できるツール「wp-sync」を紹介しました。

初期設定は少し手間がかかりますが、一度設定してしまえばコマンド1つで、DBやファイルなど必要なデータの同期が完了します。

手動での作業ミスを防ぎ、効率的にWordPressサイトを運用したい方はぜひ試してみてください。

wp-sync - GitHub

-WordPress