スポンサーリンク
スマホではAdSenseは1画面に1つだけという約束
スマホの小さな画面を、AdSense広告を2つ並べて占拠してしまうのは、Adsenseポリシー違反となります。
なので、Principleはパソコンでは記事下に広告を二つ並べて表示してるのですが、スマホ(タブレット)では、一つしか表示されないようにしています。
スポンサーリンク
wp_is_mobile()を使う
cssで、
display: none;
を使えば、見た目上簡単に広告を消すことはできるのですが、これだとHTML上にはAdSenseコードが残ったままになります。
(よく知りませんが)もし違反を検知するクローラーとかがあるんだったら、HTMLだけ読まれてアウトってことになるかも知れません。
なので、Principleでは、WordPressの関数である『wp_is_mobile()』を使って、スマホではHTML自体吐かないようにしています。
wp_is_mobile()の使い方
wp_is_mobile()この関数は、アクセスしてきているのがスマホかタブレットの場合はtrueを返して、それ以外(パソコン)ならfalseを返します。なのでif文で分岐させれば簡単にパソコンの場合とスマホの場合に分けてHTMLを変えることができます。
<?php if(wp_is_mobile()){ ?> //スマホ・タブレット時 <?php }else{ ?> //パソコン時 <?php } ?>
adsense.phpで使ってます
Principleのテンプレートファイルの一つadsense.phpの中でこの関数を使っています。adsense.phpはsingle.phpとpage.php内で、広告を表示したい場所で、
<?php get_template_part('adsense'); ?>
って感じで呼んでます。
adsense.phpの中身は、パソコンでのみ二つ目のAdSense広告が表示されるように、こうなっています。↓
<div class="ad-left"> <div class="ad300"> <?php get_template_part('ad-300'); ?> </div><!-- ad300 --> </div><!-- .ad-left --> <?php if(!wp_is_mobile()){ ?> <div class="ad-right"> <div class="ad300"> <?php get_template_part('ad-300'); ?> </div><!-- ad300 --> </div><!-- .ad-right --> <?php } ?>
これなら、AdSenseポリシーに引っかかることはないので安心です。
[参考]
スマートフォン表示でGoogle AdSense広告が2つ表示されそうなら、wp_is_mobile関数で表示制御できます – cocowa
何か分からないことや問題があれば、Twitterかここのコメント欄にでも書き込んでください。
はじめまして。最新Principleテーマ使用しています。本日インストールしました。
PCではダブルレクタングル(レクタングル大の横並び)で表示されますあが、このたびスマホで確認したら、記事下にほぼ縦並びで表示されてしまいます。
ぴったりと縦並びではなく、コメント欄を挟んででです。
ただし、コメント欄の分だけ隙間が空きますが、1画面上に二つの広告が端が切れてでも表示されてしまいます。
これはポリシー違反になってしまうのですよね。
何か対策はありませんか?
by okaerinasai 2014/09/16 15:07
使っていただいてありがとうございます。
okaerinasaiさんとこは、トップページに固定ページを使ってるんですね。
その場合、確かにコメント欄を挟んで縦に並んでしまいますね。
ダブルレクタングルが並んでいるわけではなく、サイドバー最上部の広告がコメント欄の直下に来るからなんですが。
しかも、コメント欄がコンパクトになってる(プラグインか何か?)なのでほぼ並んでしまいますね。
とりあえず出来る対策としては、sidebar.phpの
<?php if(wp_is_mobile()){ ?>
<div class=”ad300″>
<?php get_template_part(‘ad-300’); ?>
</div><!– .ad300 –>
<?php }else{ ?>
を、
<?php if(wp_is_mobile()){ ?>
<?php if(!is_front_page()){ ?>
<div class=”ad300″>
<?php get_template_part(‘ad-300’); ?>
</div><!– .ad300 –>
<?php } ?>
<?php }else{ ?>
に変えれば、スマホで見た場合のトップページにはサイドバー上部の広告が表示されないので大丈夫かと思います。
(もしうまく行かなかったらまた言って下さい。)
追記:字下げできてないので見にくくてすみません。。
by Nobuo@管理人 2014/09/16 15:46
早速のコメントありがとうございます。
やはり字下げの所でしょうか うまくいきません エラーが吐き出されました!!
by okaerinasai 2014/09/16 18:32
コメント欄を狭くしているプラグインは思い当たるものがなく、とりあえずHOMEに固定ページを設定しているのをやめました!
これにより問題は解消されていますので、Principle使いますね!!
またカスタマイズが楽しみです!!
えーっと、もしいつか時間のある時でいいので、Principleテーマにて記事本文とサイドバーをそっくり左右入れ替える方法を初心者でもわかるような記事を書いていただけたら私は喜びます(笑)
このたびはありがとうございました。
by okaerinasai 2014/09/16 20:49
管理人様、また質問をさせてください。
スマホ用にオーバーレイ表示をさせようと思ったのですが、
アドセンス広告と重なってしまうのでgoogle様のポリシー違反に当たるかと
思うのですが。
そこで、スマホ(タブレット)表示の時だけアドセス広告を表示しない
ようにしたいのですが、どのテンプレートを触って良いモノやら・・・。
勉強不足で申し訳ありませんが、ご教授願えると幸いです。
よろしくお願いいたします。
by ま~くん 2015/04/07 23:59
すみません、オーバーレイを表示するとは、具体的にどういう状態でしょうか??
by Nobuo@管理人 2015/04/08 21:16
アフィリエイト広告でスマホの画面をスクロールしても画面の上や下に
常に表示しているタイプのものをオーバーレイ広告と言うそうですが、
それを設置してしまうとアドセンス広告に重なってしまうので、ポリシー違反に
なってしまい、逆にアドセンスを非表示にできないかなと思い質問を
させて頂きました。
言葉足らずですみませんでした。
by ま~くん 2015/04/08 23:27
アドセンスを貼ってるテンプレート(ad-300.phpなど)の中身を全部if(!wp_is_mobile()){}で囲えば大丈夫です。
けど、なんか勿体なくないですか?というかそもそもオーバーレイ広告とアドセンス両方あるサイトって普通にありません??ポリシー違反になるのかな?
by Nobuo@管理人 2015/04/09 00:14
管理人様、ありがとうございます。
確かに両方あるサイトは結構ありますね。検索してるとポリシー違反という
書き込みもあったりしたので、安全側にしておこうかなと思ったわけです。
一度、google様に聞いてみようかと思います。
by ま~くん 2015/04/09 09:29