ワードプレスの追記の後にGoogleアドセンスの広告を表示させるには、Master Post Advertというプラグインが便利です。
ただ、このプラグインだとPCもスマホも同じ広告が表示されてしまいます。
今回、スマホ(モバイル)版のファーストビューで表示されるGoogleアドセンスの広告サイズがプログラムポリシーに違反するということで「警告」が届きました。
そこで、追記の後のアドセンス広告のサイズをPCとスマホで表示を切り替えることにしました。
追記の後のアドセンス広告のサイズをPCとスマホで切り替える必要がある理由
必ず、「切り替え」が必要かというとそうではありません。
問題になるのは2つのケース。
①ファーストビューでアドセンス広告(300×250)が大きすぎてクリックしないと、コンテンツが見れない。
②ファーストビューでアドセンス広告は下部にあるが、サイズが300×250以上である。
私が今回、警告を受けたのは②のケース。
「前書き」があって、其(追記)の後にアドセンス広告があるのですが、「前書き」の文字数が少なくて、ファーストビューの画面下にアドセンス広告(「スポンサードリンク」の文字)が少し見えています。
もっとも、これは私のスマホからの確認なので、スマホによってはもっと広告が見えているかもしれません。
いずれにしても、これが問題になるとは思ってもいませんでした。
追記の後のアドセンス広告のサイズの問題を回避する方法
これを回避するには、「前書き」の文字数を増やしてアドセンス広告をファーストビューから押し出す(下に下げる)事です。
しかしサイトの記事数が200近くあるので、全部の記事をチェックするには時間もかかり、労力もかかります。
そこで、ワードプレスの追記の後のアドセンス広告をPCとスマホで切り替えることにしました。
こういう事態にならない為には、前書きの文字数を150~200文字にすると良いかもしれません。
※スマホでチェック
追記の後のアドセンス広告のサイズをPCとスマホで表示を切り替える方法
さて、追記の後のアドセンス広告のサイズをPCとスマホで表示を切り替えです。
これに関しては下記のサイトを参考にさせて頂きました。
記事上部のmoreタグにアドセンスを挿入する方法【PC・スマホ切り替え】https://ad-note.jp/280.html
やり方はシンプルです。
以下のコードを「functions.php」に記述するだけです。
function is_mobile(){
$useragents = array(
'iPhone', // iPhone
'iPod', // iPod touch
'Android', // 1.5+ Android
'dream', // Pre 1.5 Android
'CUPCAKE', // 1.5+ Android
'blackberry9500', // Storm
'blackberry9530', // Storm
'blackberry9520', // Storm v2
'blackberry9550', // Storm v2
'blackberry9800', // Torch
'webOS', // Palm Pre Experimental
'incognito', // Other iPhone browser
'webmate' // Other iPhone browser
);
$pattern = '/'.implode('|', $useragents).'/i';
return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
add_filter(‘the_content’, ‘adMoreReplace’);
function adMoreReplace($contentData) {
if (is_mobile()) {
$adTags =
<<<EOF
/* ここにスマホ用のアドセンスコードを挿入(この行に上書き)*/
EOF;
} else {
$adTags =
<<< EOF
/* ここにPC用のアドセンスコードを挿入(この行に上書き)*/
EOF;
}
$contentData = preg_replace(‘/<\/span>/’, $adTags, $contentData);
$contentData = str_replace(‘
‘, ”, $contentData);
$contentData = str_replace(‘
‘, ‘
‘, $contentData);
return $contentData;
}
元々、Master Post Advertというプラグインで「追記」の後にアドセンス広告を表示させていましたが、上記の編集を行うと、Master Post Advertで設定した広告は表示されません。
しかし、念の為、設定した広告を削除しました。