WordPress Drift 運用 Runbook¶
この文書の役割¶
この runbook は、WordPress 側で db drift が疑われるときに、MariaDB の生 DDL 差分ではなく、コードベースが期待する CMS 状態との差分を監査するための手順です。
この文書で扱う drift:
- 必須 plugin の inactive
- 必須 post type / taxonomy / menu location の欠落
acf-json/正本と live ACF 定義の不一致home/siteurl/ritsubi_ec_storefront_urlなど同期対象 option のズレ- fixed route page / local seed fixture の欠落
自動 repair はこの文書の対象外です。まずは read-only audit で差分を特定してください。
正規コマンド¶
| 目的 | コマンド | 備考 |
|---|---|---|
| local 監査 | just wp-drift-audit |
profile=local が既定 |
| bootstrap 直後の成立確認 | just wp-bootstrap-verify |
内部で drift audit の bootstrap-local profile を使う |
| staging / production 監査 | just wp-drift-audit-vps staging / production |
profile=remote が既定 |
| 定期 remote 監査 | wordpress-drift-monitor.yml |
WORDPRESS_ENDPOINT と CMS_API_TOKEN を AWS Secrets Manager から読み、認証付き HTTP endpoint を叩く |
Profile の違い¶
bootstrap-local- local bootstrap が投入する seed post / attachment / banner option まで hard fail します。
local- local 開発・CI 用です。
bootstrap-localと同じく local seed を厳密に監査します。 remote- staging / production 用です。fixed route page と必須構造は監査しますが、local 専用 seed fixture の一致は要求しません。
最短診断フロー¶
- local なら
just wp-drift-audit - staging / production なら
just wp-drift-audit-vps <env> - JSON の
failures[]とchecks[]を見て、どの構造差分かを特定する - 差分の種類に応じて、ACF JSON 更新、bootstrap 再実行、または VPS の設定/コンテンツ修正へ進む
典型例¶
ACF JSON 更新後に local が不安定¶
just wp-drift-auditacf-field-groups/acf-post-type-keys/acf-taxonomy-keysの missing を確認- 必要なら
just wp-acf-sync - その後に
just wp-bootstrap-verify
staging / production の WordPress は開くが構造が崩れている¶
just wp-drift-audit-vps stagingrequired-pluginsやrequired-pagesが fail していないか確認- ACF JSON 側の差分なら plugin 配備状態と deploy ref を確認
- option 差分なら
/opt/wordpress/.envと bootstrap 同期対象 option を確認
注意¶
- WordPress drift audit は read-only です。DB を直接修復しません。
remoteprofile は local seed fixture を監査しないため、運用環境の drift と local fixture 不一致を混同しません。bootstrap-verifyの判定ロジックはwp-drift-audit.phpに集約されています。bootstrap だけ通っても、必要に応じてjust wp-drift-auditを追加で実行してください。- GitHub Actions の
wordpress-drift-audit.ymlは local bootstrap 後の契約確認、wordpress-drift-monitor.ymlは live VPS の read-only 監査を担当します。 - live 監査は
/wp-json/ritsubi/v1/drift-auditをX-Ritsubi-Api-Token: $CMS_API_TOKENで呼びます。SSH 鍵は不要です。