SiteOps
トップメディアダッシュボード更新履歴
記事一覧

CSP強化でAdSenseが出なくなったとき、最初の30分でやること

CSP強化で広告が出なくなったときに、どのdirectiveで何がブロックされたかを30分で特定して復旧する。

著者: 川原更新: 2026-05-17収益改善RSS
Xで共有FacebookLinkedIn
料金相談

CSP(Content-Security-Policy)を強化した直後にAdSenseが出なくなったとき、最初の30分でやることは「ConsoleのCSP違反で止まっているか」を確認し、どのディレクティブで / どのドメインが ブロックされているかを最短で特定することです。

最初に結論

  • CSP変更直後に広告が消えたなら、まず疑うべきは script-src / frame-src / connect-src / img-src のいずれかでAdSense関連がブロック されています。
  • “なんとなく許可ドメインを足す”のは事故りやすいので、実際にブロックされたURLを起点 に最小差分で直します。
  • 迷ったらいきなり強制せず、まずは Content-Security-Policy-Report-Only で観測→差分を固めてから本番適用が安全です。

最初の30分でやること

1) 「CSP違反で止まっている」を確定する(Console)

  • DevTools Consoleで Refused to load ... because it violates the following Content Security Policy directive が出ていないか
  • どの directive か(例: script-src / frame-src / connect-src / img-src)をメモ
  • ブロックされたURL(ホスト名)をメモ

ここが確定できると、以降は“足すべき許可”が絞れます。

2) CSPヘッダの「実際の値」を取り出す(Network)

  • 対象ページのHTMLレスポンス(document)のResponse Headersで content-security-policy を確認
  • content-security-policy-report-only になっていないか/両方出ていないか
  • Cloudflareなどで付与している場合は、複数の場所で二重に付与 していないか(意図せず厳しくなる)

3) ブロックされた directive ごとに最小で許可を足す

AdSenseはページ内のスクリプト実行だけでなく、iframeや追加取得も絡むため、主に以下で詰まります。

  • script-src が原因: pagead2.googlesyndication.com などの読み込みが拒否されている
  • frame-src が原因: googleads.g.doubleclick.net などのiframeが拒否されている
  • connect-src が原因: 計測/広告配信に必要な通信が拒否されている
  • img-src が原因: 1x1やクリエイティブの取得が拒否されている

まずはConsoleで拒否された ホスト名をそのdirectiveに追加 し、再読み込みで改善するか確認します。

4) nonce/unsafe-inlineの扱いで踏むポイントを潰す(実装依存)

  • script-src に nonce-... を導入している場合、AdSenseスクリプトがnonce付きで挿入できているか(自前のscript注入と相性)
  • unsafe-inline を消した直後に壊れたなら、inline scriptが残っていないか(自サイト側の初期化コード)
  • Next.js/SPA遷移で広告初期化(adsbygoogle.push({}))が例外で止まると、CSP以外でも「枠はあるが出ない」になります(Consoleを必ず見る)

5) Report-Onlyで“安全に”収束させる(再発防止)

  • まず Content-Security-Policy-Report-Only にして、実ユーザー導線で発生する違反を集める
  • 違反が収束したら Content-Security-Policy に移行
  • 直近デプロイとセットで、CSP変更は“監視対象”にする(誤爆すると収益直撃)

SiteOpsで最短にする

SiteOpsは「いつ・どのデプロイから」「どのページ/地域/端末で」収益が落ちたかを並べ、CSPのような“設定変更が直接刺さる”事故を早く特定できます。必要なら、CSPの差分とAdSenseの症状をセットで一緒に見て最短で復旧まで持っていきます。

次に読む

  • /media/adsense-no-impressions-debug-first-30-minutes
  • /media/nextjs-adsense-ads-not-showing-first-30-minutes

相談する(最短ルート)

  • 料金と導入の流れ: /#pricing
  • お問い合わせ: /contact

この記事を書いた人

川原

SiteOps編集チームの公開窓口として、検索、アクセス、収益データをもとにした運営判断の知見をまとめています。

著者情報

関連記事

AdSenseのCPC(単価)が急落したとき、最初の30分でやること収益改善更新: 2026-05-17Stripeの支払いが突然0件になったとき、最初の30分でやること収益改善更新: 2026-05-17AdSenseのdata-ad-slot未設定で広告が出ないとき、最初の30分でやること収益改善更新: 2026-05-16
前の記事AdSenseのdata-ad-slot未設定で広告が出ないとき、最初の30分でやること次の記事AdSenseでインプレ0のとき、最初の30分でやること

次にやること

複数サイトの検索、アクセス、収益データをまとめて見直すなら、SiteOpsのダッシュボードでサイト別に確認できます。

料金を見る相談したい / お問い合わせ