Miterl Connect|WordPress 更新の誤検知・wp-cron・放置を一括で自動化
WordPress 更新で監視が泣く 3 つの瞬間
WordPress サイトを外形監視で守りはじめても、運用を続けるうちに毎回のように同じ場所で詰まります。詰まる場所は 3 箇所あり、いずれも外形監視だけでは埋められない、外側からは見えない領域です。
- 更新時の DOWN 誤検知 — コア・プラグイン・テーマの更新が始まると数秒〜数分だけ応答が返らず、外形監視は「ダウン」と判定します。深夜の自動更新で起きて翌朝たまる通知の山
- wp-cron の静かなる停止 — WordPress の疑似 cron は訪問者が来た瞬間だけ発火します。アクセスが少ないサイトは予約投稿・バックアップ・自動更新が知らないうちに止まり、応答時間には現れない不具合を作ります
- 更新の長期放置 — コア・プラグイン・テーマのアップデートを溜め込むほど脆弱性リスクが積み上がります。監査ログにも「最新です」と記録される日は、運用が止まっている日でもある
3 つのうち 2 つはサーバー側の死活監視では観測できず、WordPress の内部からしか届かない情報が原因です。制作会社の保守ではこの 3 つが必ずといっていいほど運用を摩耗させます。詳細の背景は WordPress 保守サービスに死活監視を組み込む方法 で整理しています。
Miterl Connect が WordPress の 3 領域を補う
Miterl Connect は、WordPress サイト向けの Miterl 公式プラグインです。3 つの機能を 1 つのプラグインにまとめ、外形監視では届かない 3 つの領域を補います。外形監視を置き換えるものではなく、両方を並列で動かす前提のプラグインです。
1. コア・プラグイン・テーマの更新中だけ自動でメンテ運用
WordPress 本体・プラグイン・テーマの更新が始まった瞬間、Miterl 側に通知して自動で 1 時間だけメンテナンスウィンドウを開きます。更新が終われば自動で閉じるため、デプロイスクリプトから webhook を呼ぶ必要はありません。WordPress の自動更新を有効化している環境や、夜間にコアのセキュリティパッチが走る環境でも、誤検知の山が積み上がる前に消えます。
2. wp-cron の停止を 5 分間隔の Heartbeat で早期検知
プラグインが WordPress の中から 5 分おきに Miterl 側へ「wp-cron が動いている」信号を送ります。15 分途絶えた時点で通知を飛ばすので、wp-cron が静かに止まったことを早期に拾えます。DISABLE_WP_CRON でシステム cron に寄せている環境でも、wp-cron の中身(イベントの実行)が動いていれば Heartbeat は届きます。つまり「WordPress のスケジュールが本当に回っているか」を外から見る指標になります。
3. 更新放置を日次で一覧化(メール通知は Standard 以上)
WordPress の本体・プラグイン・テーマの更新待ち本数を Miterl のモニター詳細画面に毎日反映します。更新待ちの一覧表示は Free プランから使えます。7 日以上放置された場合にメールで知らせる通知だけが Standard プラン以上です。外形監視では見えなかった「溜まっている状態」が、モニター詳細を開けば分かるようになります。
3 つの詳細は Miterl ドキュメント にまとめてあります。配布 zip は Miterl Connect プラグインのダウンロード から落とせます(wordpress.org には未申請で、いまは自社配布です)。
実機検証 ── Akismet 5.7.1 → 5.7.2 の更新で何が起こったか
2026-09-13 のリリース直後に、社内の検証用 WordPress サイト(WordPress 7.1 / PHP 8.4。URL は割愛)で実機検証をしました。
準備: Akismet のプラグインを意図的に古いバージョン(5.7.1)に戻してから、wp plugin update akismet で 5.7.2 に更新しました。プラグインの更新は数秒で終わります。
観測された挙動:
- メンテ連動: 16:34 に Miterl の監査ログへ メンテ開始(1 時間のウィンドウ) が記録され、同じ 16:34 に メンテ終了 が記録されました。更新が数秒で終わったため、窓もすぐ閉じた形です
- 更新通知: Miterl 側のモニター詳細画面「更新待ち」が 更新直後は "1 (Akismet 5.7.1 → 5.7.2)" を表示し、インベントリの再送が完了した時点で "0 / すべて最新です" に切り替わりました
- Heartbeat: wp-cron が動いているあいだは 5 分間隔で Miterl の Heartbeat モニター
〜 (wp-cron)に信号が届き続け、検証中の 30 分間は UP を維持しました
重要な気づき: 無トラフィックの WordPress サイトは wp-cron が原理的に動きません。Miterl の外形 HTTP 監視が 5 分間隔でサイトを叩くこと自体が wp-cron のトリガになり、外形監視とプラグインが補い合う関係になりました。サーバcron に切り替えている環境はそのままで問題ありません。
セットアップ手順 ── 接続キー 1 本で連携
導入は 2 ステップで完了します。接続キーは モニター(=サイト)ごとに 1 本で、複数サイトを扱う制作会社はサイトの数だけ発行します。
1. Miterl 側で接続キーを発行する
- Miterl にログインし、連携したいモニターの 運用ツール タブを開く
- WordPress 連携 カードで「接続キーを発行」を選び、
mc_から始まるキーをコピーする
2. プラグインを導入する
WordPress プラグインの zip をダウンロードし、WordPress の管理画面 → プラグイン → 新規追加 → アップロードから ZIP を選択、有効化します。wp-cli を使うなら次の 1 行で済みます。
wp plugin install https://miterl.com/dl/miterl-connect.zip --activate
有効化すると 設定 → Miterl Connect に接続キー入力欄が出るので、ステップ 1 でコピーした mc_… キーを貼って「保存」を押します。接続が成功すると、モニター詳細画面のカードが 「接続済み」 になり、Heartbeat と更新インベントリの送信が始まります。なお発行と同時に wp-cron 用の Heartbeat モニターが自動で 1 本増えるので、WordPress サイト 1 つでモニターを 2 本(HTTP + Heartbeat)使います(Free は 5 本まで、Standard は 100 本まで)。
3. システム cron に寄せている環境でのヒント
wp-config.php で DISABLE_WP_CRON を true にしている環境では、WordPress サーバの crontab に次の行を追加して 5 分ごとに wp-cron を直接叩いてください。
*/5 * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron=1 > /dev/null 2>&1
Miterl Connect の Heartbeat は、この cron が wp-cron を回している限り届きます。Heartbeat の通知が不要なら、Miterl 側で自動作成された Heartbeat モニターを一時停止すれば、プラグインは他の 2 機能だけを続けます。
外形監視との役割分担 ── 「プラグインで対応できる範囲」と「できない範囲」
制作会社のユースケース で繰り返し語られるのは、Miterl Connect は外形監視を補完する位置づけのプラグインである という点です。
| 観測したい現象 | 観測できるレイヤー |
|---|---|
| サーバ・ネットワークの停止 | 外形 HTTP 監視 |
| WordPress の更新中(数秒〜数分) | Miterl Connect のメンテ連動 |
| wp-cron の停止 | Miterl Connect の Heartbeat |
| コア・プラグイン・テーマの放置 | Miterl Connect の日次リスト(メール通知は Standard 以上) |
| SSL 証明書の期限切れ | 外形 SSL 監視 |
| ページ改ざん・タイトル書換 | DOM 改ざん検知(Pro) |
プラグイン単独でサーバー全体を把握できる、とは言えません。サーバーごと落ちればプラグインも止まり、結果としてプラグインはシグナルを送れなくなります。外形監視と内部プラグインの両方を並列で動かす設計が、Miterl の監視体制として推奨される構成です。Miterl の外形 HTTP 監視が 5 分間隔でサイトを叩くこと自体が、結果として wp-cron のトリガになるという補完関係は、実機検証で確認できました。
制作会社の運用フローへの組み込み
保守クライアントの WordPress を数十社抱えている場合、次の 3 点を運用に組み込むと回しやすくなります。
- 初期構築時に全サイトへ一括導入 — サーバーに SSH できるなら
wp plugin install … --activateをサイトのぶんだけ回す。できないサイトは管理画面からの zip アップロード - キーは再発行で即座に旧キーを無効化できる — 担当者の入れ替わりやキー漏えいの疑いがあれば Miterl 側で再発行し、WordPress 側のプラグイン設定に新しいキーを貼り直す(旧キーはその瞬間から使えない)
- 月次報告に「更新放置 0 件」を載せる — 更新待ちの一覧はモニター詳細で確認でき、更新を溜めていないこと自体を保守の成果として見せられる
Miterl Connect 自体に追加料金はありません(プランのモニター数の中で使います)。クライアントへの保守サブスクに乗せるなら、月次報告の価値を上げるレイヤーとして位置づけるのが自然です。組み込み方は Web制作会社のユースケース で詳しく紹介しています。
まとめと次のステップ
Miterl Connect は、WordPress の運用で外形監視では埋められなかった 3 つの領域 ── 更新時の誤検知・wp-cron の停止・更新の放置 ── を WordPress の内側から補うプラグインです。外形監視を置き換えるものではなく、外からは見えない 3 つを補う関係として設計されています。
実機検証でも、Akismet の 5.7.1 → 5.7.2 への更新で「メンテ開始・終了が同じ分に記録される」「更新通知が即時に切り替わる」「Heartbeat が UP を維持する」の 3 点が確認できました。Free プランから接続キーと Heartbeat は使えて、更新放置のメール通知は Standard プラン以上が対象です。
- いますぐ試す: Miterl に登録(Free プランから接続キー発行可能)
- セットアップ手順を確認: Miterl ドキュメント/WordPress 連携
- ダウンロード: miterl-connect.zip
- ユースケースを見る: Web制作会社の 30 社保守サブスク事例
外形監視をすでに動かしているなら、接続キー 1 本足すだけで WordPress の運用負担が消える構造を試せます。