Google Logo Background : https://www.cleanpng.com
スマートフォンの時にのみ、アドセンスを遅延読み込みさせる
PCの時はPageSpeed Insightsのスコアは悪くなかったので、スマートフォンの時にのみ遅延読み込みをさせました。
具体的には、以前設置した遅延読み込みの(スクロールさせると読み込みが始まる)JavaScriptを条件分岐させました。
後述するサイトを参考に、素人が書いたものです。正確性などは担保しておりませんので留意してください。
また、未知の不具合、Googleからの指摘、アドセンスの収益の減少などがあるかもしれないので、設置の際は自己判断でお願いします。
HTMLを編集します。必ずバックアップを取ってから作業してください。
設置手順
まず、既存の<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
はすべて削除。
次に下記コードを</body>
の直上に貼り付け。
<script type='text/javascript'>
//<![CDATA[
// iPhone iPad iPod Android の判別
if (
navigator.userAgent.indexOf('iPhone') > 0 ||
navigator.userAgent.indexOf('iPad') > 0 ||
navigator.userAgent.indexOf('iPod') > 0 ||
navigator.userAgent.indexOf('Android') > 0) {
var lazyadsense = false;
window.addEventListener("scroll", function() {
if ((document.documentElement.scrollTop != 0 && lazyadsense === false) || (document.body.scrollTop != 0 && lazyadsense === false)) {
(function() {
var ad = document.createElement('script');
ad.type = 'text/javascript';
ad.async = true;
ad.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
var sc = document.getElementsByTagName('script')[0];
sc.parentNode.insertBefore(ad, sc);
})();
lazyadsense = true;
}
}, true)
} else {
// scriptタグ生成
const createAdsbygooglejs = document.createElement('script');
// src属性をtrue,src属性に読み込みたいファイルを指定
createAdsbygooglejs.async = true;
createAdsbygooglejs.src = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
// BODY要素の最後に追加
document.body.appendChild(createAdsbygooglejs);
}
//]]>
</script>
PCの時は <script async src="......adsbygoogle.js"></script>
が挿入されました。
以前の遅延読み込みコードと、今回参考にさせていただいたサイトのコードをつなぎ合わせたものですが、希望通りの動きをしました。
表記のゆれは、おいおい直していきたいです。
参考にさせていただいたサイト
【JavaScript】スマホとPCを判断する条件分岐|iPhone・Android
【JavaScript】スマホとPCを判断する条件分岐|iPhone・Android|JavaScriptを使用していると、スマートフォン・タブレット・PCによって処理を変えたい場合があるかもしれません。今回は、そのような場合に使用できるJavaScriptの例となり、サイトアクセス時のブラウザのユーザーエージェントの値を使い、スマホ・タブレット・PCの条件分岐を行い......
JavaScript スマートフォンとPCを判別して表示する要素を振り分ける方法 - by Takumi Hirashima
JavaScript でスマートフォンとPCを判別して表示する要素を振り分ける方法を紹介します。ユーザーエージェントの判別には navigator.userAgent を利用します。
【コピペでOK】スマホとPCのデバイスごと条件分岐するスクリプトまとめ
デバイスごとにPC用、スマホ用へ条件分岐するスクリプトのまとめです。コピペでご利用ください。
簡単なモバイル用判定処理を書きました。基本的にPCとそれ以外というかなりアバウトな分け方になりますがアンドロイド、iOSなどの判定が出来ます。
JavaScript内から外部JavaScriptを読み込む方法 - SMART 開発者のためのウェブマガジン
JavaScriptのコード内からほかのJavaScriptを読み込む方法を紹介します。 特定の条件によりJavaScriptを読み込みたいときなどに有用です。
コメントなし: