アドセンスを特定のページだけ非表示にする方法

2023年8月22日

今回は、手動でアドセンスなどの広告を貼っている場合に、特定のページだけ非表示にする方法を試してみたので紹介したいと思います。

参考にしたページ
https://zakkinks.com/adsense_preview_404_hide/

使用中のテーマはyStandard 4.46.0、子テーマ 4.0.0です。

表示させない方がいいページ

手動でサイドバーなどにアドセンスのコードを貼っていても、コンテンツではないページやコンテンツが広告よりも少ないページにはアドセンスの広告を表示させない方が良いです。例えば404ページや検索結果のページですね。

また、内容的にアドセンスのポリシー違反になりそうなページや、著作権の関係で広告を避けたいページなども非表示にした方が良いでしょう。

このような特定のページで広告を表示させないことで、アドセンスのポリシー違反を避ける一助になると思います。

ショートコードで解決

//広告非表示ショートコード
function shortcode_ad_exclude( $atts, $content = null ) {
  if( !is_404() && !is_search() && !is_single( array( '記事ID1', '記事ID2' ) ) ) {
    return $content;
  }
}
add_shortcode('ad_exclude', 'shortcode_ad_exclude');

こちらはサンプルコードです。

例えば404ページでは広告を非表示にしたいという場合のコード。

非表示にさせたいページを追加するには&&で繋げます。404ページに加えて検索結果のページも非表示にするコード。

個別の投稿記事で広告を非表示にするコード。’3′, ‘185’, ‘621’のように記事IDを列挙することで個別の投稿記事を非表示設定にします。

WordPressの投稿一覧のページで記事タイトルにカーソルを合わせると、ウィンドウ左下にステータス情報が表示されると思います。post=数字の部分が記事IDになります。

このように記述したコードを子テーマのfunctions.phpに追加します。

//サイドバーでショートコードを使う
add_filter('widget_text', 'do_shortcode');

サイドバーでショートコードを使う場合は上記のコードをfunctions.phpに追加します。

[ad_exclude]ここにアドセンスのコード[/ad_exclude]

記事内やウィジェット内でアドセンスのコードを[ad_exclude] [/ad_exclude]で囲って使います。