ワードプレスの追記の後に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で設定した広告は表示されません。

しかし、念の為、設定した広告を削除しました。