Cocoonのテーマ設定でGoogle AdSenseのコードを入れたのに、記事を開いても広告枠が空白のまま——。設定した直後だけでなく、しばらく表示されていたのに急に消えることもあり、原因が1つに絞れず困っている人は多いはずです。
広告が表示されない原因は、大きく分けると「AdSenseアカウント側」「ads.txtファイル」「Cocoonの設定」「表示環境(広告ブロッカー等)」の4パターンに分類できます。このブログもConoHa WINGとCocoonで運用しており、ads.txtやWAFまわりでの詰まりを実際に経験しました。この記事では、公式ヘルプの情報をもとに、順番に切り分けていくチェックリストをまとめます。
結論
広告が表示されないときは①AdSenseの審査・アカウント状態→②ads.txtファイルの設置→③Cocoonの広告設定にコードが入っているか→④広告ブロッカーやキャッシュ、の順に確認する。特にads.txtは「設置しても反映まで数日〜最大1か月かかる」ことがあるため、設置直後に表示されなくても異常とは限らない。
原因の切り分け方:まず4つのどこで止まっているか確認する
やみくもに設定をいじる前に、下の表で自分の状況がどのパターンに近いかを確認してください。
| 状況 | 疑うべき原因 |
|---|---|
| AdSenseに申し込んだばかり、または「サイトの審査中」と表示される | 審査未完了(原因1) |
| 審査は通過済みなのに、サイト全体で広告が出ない | ads.txtファイルの未設置・エラー(原因2) |
| 他の記事では出るのに特定の記事・特定の位置だけ出ない | Cocoonの広告設定・除外設定(原因3) |
| 自分のPCでは出ないが、スマホやシークレットウィンドウでは出る | 広告ブロッカー・拡張機能(原因4) |
原因1:AdSense審査・アカウント側の問題
Google AdSenseの公式ヘルプでは、サイトで広告表示の準備が整っていない主な理由として、広告コードが未設置・不完全サイトにアクセスできない独自性のあるコンテンツやユーザー体験が不足しているポリシー違反を挙げています。申し込み直後は「サイトの準備ができていません」といった表示のまま数日かかることもあるため、AdSenseの管理画面(サイト一覧)でステータスが「準備完了」になっているかをまず確認しましょう。
すでに審査通過済みのアカウントでも、ポリシー違反の指摘や広告の制限(一部の広告のみ非表示になっている状態)が入っていることがあります。この場合はAdSense管理画面の「ポリシーセンター」に警告が出るので、合わせて確認してください。
原因2:ads.txtファイルが未設置・反映待ちになっている
ads.txtは「このサイトの広告枠を販売してよい広告システムはこれです」とGoogleに伝えるための、サイトのルートディレクトリ直下(例:https://例.com/ads.txt)に置くテキストファイルです。AdSense管理画面の指示に従い、パブリッシャーIDを含む1行(google.com, pub-xxxxxxxxxxxxxxxx, DIRECT, f08c47fec0942fa0)を書き込みます。
Cocoonにはテーマ設定の「広告」タブにads.txtの内容を直接編集できる項目があるので、レンタルサーバーのファイルマネージャーを使わなくても設置できます。設置後は、ブラウザで実際に /ads.txt のURLを開いて内容が表示されるかをまず確認してください。
注意:ads.txtの反映には時間がかかる
Google公式ヘルプによると、ads.txtの変更がAdSenseに反映されるまで数日、広告リクエストが少ないサイトでは最長1か月ほどかかる場合があるとされています。設置した直後に「ads.txtファイルの問題」という警告が消えなくても、慌てて何度も書き換える必要はありません。AdSenseの「サイト」ページにある「アップデートを確認」ボタンでステータスを更新できます。
ConoHa WINGを使っている場合は、もう一つ落とし穴があります。WAF(SiteGuard Lite)がCocoon管理画面でのads.txt保存や、外部ツールからのファイル書き込みを誤検知でブロックすることがあり、症状としては「保存しても変わらない」「403エラーが出る」という形で現れます。この場合の対処法は下の記事にまとめています。
原因3:Cocoonの広告設定にコードが入っていない・除外されている
Cocoonは「外観 → カスタマイズ → 広告」(またはCocoon設定 → 広告タブ)に、本文上・本文下・記事下など各表示位置ごとの広告コード入力欄を持っています。ここが空欄のままだと、AdSense自体は正しく審査を通過していても、その位置には何も表示されません。まずは各欄にAdSenseの広告ユニットコード(レスポンシブ推奨)が貼られているかを確認してください。
本文中広告については、Cocoonの設定で「H2見出しの前に広告を表示する数」を指定する仕組みがあり、記事内の見出しが少ないと本文中の広告そのものが出ない場合があります。また、投稿・固定ページには個別に広告を除外する設定項目があるため、特定の記事だけ表示されない場合はその記事の編集画面で除外設定がオンになっていないかを見てください。
- テーマ設定の「広告」タブで、該当位置のコード欄が空になっていないか
- 投稿の個別設定で「広告を非表示にする」がオンになっていないか
- 本文中広告は、記事にH2見出しが十分な数あるか(見出しが少ないと表示位置がない)
- 自動広告(Site Kit等)とCocoonの手動広告コードを併用していて、範囲が重複・干渉していないか
原因4:広告ブロッカー・キャッシュなど表示環境の問題
自分のパソコンやスマホだけで広告が出ない場合、ブラウザの広告ブロッカー拡張機能(uBlock Origin等)やセキュリティソフトの広告ブロック機能が原因のことがよくあります。拡張機能を一時的に無効化するか、シークレットウィンドウ(拡張機能が原則無効)で開き直して表示されるか確認してください。
また、WordPressのキャッシュ系プラグインやConoHa WING側のキャッシュ機能が、広告コードを反映する前のページをキャッシュしたまま配信していることもあります。設定変更後は、プラグインのキャッシュクリアとブラウザのスーパーリロード(Windowsは Ctrl+Shift+R、Macは Cmd+Shift+R)を試してください。
ひと通り確認しても直らないときのチェックポイント
- Googleの自動判断で「この記事・この位置には表示しない」場合がある — 自動広告は、Googleがコンテンツ量や適切性を判断したうえで表示位置を決めるため、コード自体は正しくても特定のページに出ないことがある。これは設定の不具合ではない
- 1ページあたりの広告数が上限に近い — 手動広告と自動広告を両方入れていると、Google側の判断で一部が非表示になることがある。自動広告のページ内フォーマットをOFFにして手動広告だけに絞ると安定しやすい
- 審査中・制限中のアカウントで新しい広告ユニットを作っていないか — アカウント状態に問題があると新しい広告ユニットが機能しないことがある。AdSense管理画面の通知欄を確認する
- サイト全体で1つも表示されない — headに設置するAdSenseの自動広告コード(クライアントID)自体が抜けている可能性。Cocoon設定の「ヘッド用コード」またはSite Kit等の連携設定を再確認する
設定変更後、WordPressの管理画面に戻れなくなった・保存できないといったログイン絡みのトラブルが起きた場合は、下の記事も参考にしてください。
よくある質問
Q. ads.txtを設置したのに「ads.txtファイルの問題」の警告が消えません
A. Google公式ヘルプでは、ads.txtの検証(クロール)には数日、広告リクエストが少ないサイトでは最長1か月かかる場合があるとされています。まずはブラウザで あなたのドメイン/ads.txt を直接開き、正しい内容が表示されているかを確認したうえで、AdSense管理画面の「サイト」ページで「アップデートを確認」を押して様子を見てください。
Q. 自動広告をONにしているのに記事内に広告が出ません
A. 自動広告はGoogle側のアルゴリズムが「表示に適した位置」を判断して配置するため、コンテンツ量が少ない記事や、広告密度の設定・ページ内フォーマットの対象外と判断された記事には表示されないことがあります。設定ミスとは限らないので、複数の記事で同じ現象が起きるか、他のブラウザ・別回線でも確認してみてください。
Q. 表示されないのはAdSense側の不具合の可能性もありますか
A. 可能性はゼロではありませんが、多くのケースは①審査未完了②ads.txt未反映③Cocoonの設定漏れ④広告ブロッカーのいずれかです。この記事のチェックリストを一通り試しても解決しない場合は、AdSenseのポリシーセンターに警告が出ていないかを確認したうえで、Google AdSenseコミュニティやヘルプセンターに問い合わせるのが確実です。
まとめ
・広告が表示されないときは「①AdSense審査・アカウント状態→②ads.txt→③Cocoonの広告設定→④広告ブロッカー・キャッシュ」の順に切り分ける
・ads.txtは設置しても反映まで数日〜最大1か月かかることがある。慌てて何度も書き換えない
・Cocoonの広告タブでコード欄が空になっていないか、個別記事で除外設定がオンになっていないかを確認する
・自分の環境だけ出ない場合は、広告ブロッカーやシークレットウィンドウでの表示確認を先に行う


