メディア・出版 2026年4月28日

月100万PVのオウンドメディアが編集ミスを5分以内に検知する監視運用

編集部運用のオウンドメディアが、CMSの誤投稿・noindex事故・画像CDN障害をMiterlで早期検知する具体的なフロー。DOM Integrity・キーワード監視・編集者向け通知の使い分けを解説します。

オウンドメディア 編集部 DOM監視 noindex事故 CDN

想定するチームと前提条件

月間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で

無料プランから始められます。クレジットカード不要。

料金を見る