【Tips】⚔️KUSANAGIのmu-pluginsがWordmove pushで消えた!?原因と対策を詳しく解説!

  • URLをコピーしました!

はじめに

WordPressのローカル開発環境をWordmoveで管理していると、「ローカルの状態をそのまま本番に反映できる」という安心感がありますよね。でも、KUSANAGIで構築した本番環境では注意が必要です。

私自身、Wordmoveで push --all をした際に、mu-pluginsディレクトリ内の(kusanagiディレクト)が本番から消えてしまうというトラブルを経験しました。

「なんで勝手に消えるの!?😱」と焦りましたが、調べてみるとこれにはちゃんとした理由がありました。

この記事では、同じような構成で運用している方に向けて、

  • なぜmu-pluginsが消えるのか?
  • どうすれば防げるのか?
  • Movefileはどう書けばいいのか?

といった実践的な内容を紹介します。

目次

なぜmu-pluginsが消えたのか?

Wordmoveは、ローカルと本番環境を rsync で同期しています。
そのため、ローカルに存在しないファイルは、本番側でも「不要なもの」として削除されてしまう仕様です。

つまり、

  • 本番には wp-content/mu-plugins/kusanagi/ がある
  • でもローカルにはそのディレクトリがない
  • その状態で wordmove push --all を実行すると…

👉 本番側のmu-pluginsが消える!

というわけです。

解決策は「除外」+「禁止」のWガード!

この問題を防ぐには、Movefileの設定を2点変更するだけです。

mu-plugins ディレクトリを除外する

mu-plugins を同期対象から外すことで、ローカルとの差分チェックがスキップされ、削除されなくなります。

movefile.yml(抜粋)

exclude:
  - "wp-content/mu-plugins/**"

これは production: セクション内の exclude: に追記すればOKです。

mu-plugins の push 自体を禁止する

うっかり --all などを使っても、Wordmove側でブロックしてくれる設定も追加しておくと安心です。

movefile.yml(抜粋)

forbid:
  push:
    mu-plugins: true

この2つを入れておけば、KUSANAGIのmu-pluginが消えることはありません。

実際のMovefile設定例(抜粋)

以下は、私が設定している Movefile の production セクションの抜粋です。

movefile.yml

production:
  vhost: "<%= ENV['PRODUCTION_VHOST'] %>"
  wordpress_path: /html

  database:
    name: "<%= ENV['PRODUCTION_DB_NAME'] %>"
    user: "<%= ENV['PRODUCTION_DB_USER'] %>"
    password: "<%= ENV['PRODUCTION_DB_PASSWORD'] %>"
    host: "<%= ENV['PRODUCTION_DB_HOST'] %>"

  exclude:
    - "wp-content/mu-plugins/**"

  ssh:
    host: "<%= ENV['PRODUCTION_SSH_HOST'] %>"
    user: "<%= ENV['PRODUCTION_SSH_USER'] %>"
    rsync_options: "--archive --compress --verbose"

forbid:
  push:
    mu-plugins: true

まとめ

今回はこの3点に気をつけることで対応可能でした。

項目方法
mu-plugins の除外excludewp-content/mu-plugins/** を追加
mu-plugins の push を禁止forbid.push.mu-plugins: true を追加

おわりに

Wordmoveはとても便利なツールですが、本番環境に特有の設定やファイルがある場合は注意が必要です。KUSANAGIのように、本番で自動生成されるmu-pluginは、除外&禁止設定で守るのが鉄則!

同じような環境で構築している方の参考になれば嬉しいです🙌

この記事が気に入ったら
いいねしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次