CSP強化でAdSenseが出なくなったとき、最初の30分でやること
CSP強化で広告が出なくなったときに、どのdirectiveで何がブロックされたかを30分で特定して復旧する。
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
相談する(最短ルート)
この記事を書いた人
川原
SiteOps編集チームの公開窓口として、検索、アクセス、収益データをもとにした運営判断の知見をまとめています。
関連記事
次にやること
複数サイトの検索、アクセス、収益データをまとめて見直すなら、SiteOpsのダッシュボードでサイト別に確認できます。
料金を見る相談したい / お問い合わせ