月100万PVのオウンドメディアが編集ミスを5分以内に検知する監視運用
編集部運用のオウンドメディアが、CMSの誤投稿・noindex事故・画像CDN障害をMiterlで早期検知する具体的なフロー。DOM Integrity・キーワード監視・編集者向け通知の使い分けを解説します。
想定するチームと前提条件
月間100万PVを抱えるBtoB系のオウンドメディア「B社メディア」を想定したシナリオです。記事は月50本ペースで公開され、編集部7名 + 開発者1名(兼任)で運用しています。CMSは自社製、画像はCloudflare R2、サーチコンソール経由のSEO流入が全体の60%を占める収益構造。
このメディアにとって最も怖いのは「サイトがダウンしている時間 = 機会損失」だけでなく、「編集ミスでGoogleから消える事故」「画像が表示されないまま何時間も気付かない事故」です。Miterlを導入してから、この種の「気付きにくい事故」を5分以内に検知できる体制を作りました。
編集部運用で起きがちな3つの事故
1. noindexタグの誤投入
ステージング環境用の <meta name="robots" content="noindex"> が、テンプレート修正のついでに本番にも入ってしまった事故。気付かないまま1週間放置され、検索順位が大きく下落。回復に1ヶ月以上かかった。
2. 画像CDNのトークン期限切れ
画像配信に使っている署名付きURLの期限切れで、特定カテゴリの記事の画像が一斉に表示されなくなった。ユーザーからの問い合わせで気付いた頃には、SNSで「サイト壊れてる」と話題になっていた。
3. 記事公開後の404
記事のURL設計を変更した際、リダイレクト設定漏れで旧URLが404になった。Googleからの流入が一気に途絶えるが、サイトのトップページは生きているため通常のping監視では検知できない。
Miterl で組んだ「3層監視」
層1: DOM Integrity 監視(noindex検知)
トップページ・カテゴリトップ・主要記事5本に対して、DOM Integrity モニターで以下のチェックをかけます。
noindexタグが存在しないこと- canonical タグが正しいドメインを指していること
- og:image が空でないこと
- title要素にサイト名(
| B社メディア)が含まれること
editing部の誰かがミスしてnoindexを入れた瞬間、5分以内にSlackの #editorial-alerts に通知が飛びます。
層2: キーワード監視(重要記事のページ生存確認)
PVのトップ20記事をキーワード監視で個別に登録。記事タイトル中の特徴的なキーワード(例:「2026年のSaaS市場予測」)が常にHTMLに含まれているかを確認します。記事が誤って下書きに戻された、URL変更で404になった、こうした事故を本文単位で捕捉できます。
層3: 画像CDN死活監視
画像配信用のURLパターン(例:https://cdn.b-media.com/sample.webp)に対するHTTP監視を1分間隔で常駐。画像CDNの障害・署名トークン期限切れ・配信制限超過の3パターンを即座に検知します。
編集者向けに通知を分ける
開発者向けの通知(インシデントの詳細・スタックトレース)と、編集部向けの通知(「いま記事Xが問題ありです」)は分けて運用しています。
| 通知先 | 受信内容 | チャンネル |
|---|---|---|
#editorial-alerts |
DOM Integrity / キーワード監視のDOWN | 編集部全員 |
#dev-oncall |
HTTP/CDN/インフラ系のDOWN | 開発・SRE |
| メール(編集長) | 平日09-18時の重要DOWNのみ | 編集長 |
Miterl の Alert Contact 機能で、監視対象ごとに通知先を分けられるため、編集部に深夜のCDN障害アラートが飛んでくる事故もありません。
月次の振り返りミーティング
毎月第1月曜の編集会議で、Miterl の月次レポート(PDF)を共有しています。
- 先月の総ダウンタイムと SLA 達成率
- DOM Integrity 違反の件数と原因
- 平均レスポンスタイムの推移
「先月のnoindex事故は、Stagingテンプレートのコピペが原因だった」というレベルで原因をたどれるため、編集部の運用ルール改善(プルリク必須化、テンプレ分離)に直結しています。
CMSデプロイ時の自動メンテナンス
CMSの大きなアップデート時は、デプロイスクリプトでメンテナンスWebhookを呼んでアラートを抑制します。
# デプロイ前
curl -X POST https://miterl.com/api/v1/webhooks/maintenance/$TOKEN/start \
-H "Content-Type: application/json" \
-d '{"duration_hours": 2, "name": "CMS upgrade v3.4.0"}'
# デプロイ・本番動作確認
./deploy_cms.sh
./run_smoke_tests.sh
# メンテナンス解除
curl -X POST https://miterl.com/api/v1/webhooks/maintenance/$TOKEN/end
DOM Integrity の検知ルールは特に厳しいため、デプロイ中の一時的なテンプレート差し替えで誤検知が出やすく、Webhookによる抑制は必須です。
関連リンク
- Miterl ドキュメント — 監視タイプ別の設定方法
- DOM Integrity 監視の使い方 — noindex事故対策の詳細
- 料金プラン — Plus / Pro プランの比較
- 導入ユースケース一覧 — 他業種の運用シナリオ