Google AdSenseの表示が遅いとき
少しでも高速化させる2つの方法
ウェブサイトの最初の収益化と言えば、やっぱりGoogle AdSense。
Google AdSenseで広告を掲載していると、どうも広告の表示速度が遅いと感じることがあります。
サイト全体の表示はぱっと出るけど、広告だけが遅れて表示されたりしませんか?
サイト自体の高速表示はレンタルサーバーの性能による部分が大きいですが、Google AdSenseの表示だけが遅い場合は、サーバー性能の問題ではなさそうです。
広告の表示速度が遅いと収益にも影響があるので、少しでも改善しようと2つの高速化を試してみました。
「DNSプリフェッチ」と「読み込みコードの一元化」です。
順番に見ていきましょう。
DNSプリフェッチ
Google AdSense広告の表示を少しでも高速化させるために、最初に試したのが「DNSプリフェッチ」です。
DNSプリフェッチは、言わば「コードの先読み」機能で、Google AdSenseのコードを先読みさせる事で、少しでも速く表示させよう、というのが今回の「DNSプリフェッチ」です。
このコードはコピペでOK。「head」タグ内に下記を追加します。
<meta http-equiv="x-dns-prefetch-control" content="on">
<link rel="dns-prefetch" href="//pagead2.googlesyndication.com">
<link rel="dns-prefetch" href="//googleads.g.doubleclick.net">
<link rel="dns-prefetch" href="//tpc.googlesyndication.com">
<link rel="dns-prefetch" href="//www.gstatic.com">
DNSプリフェッチは、なるべく「ソースコードの上部」に記述することがポイントなので、文字コードのすぐ下あたりに置きましょう。
ただ、CSSなどの基本ファイルより先に読み込ませるぶん、サイト全体の表示がわずかに遅れる可能性もあります。
ちなみに、「DNSプリフェッチ」は通常「https:」サイトでは使えないらしいのですが、1行目の記述(「<meta http-equiv="x-dns-prefetch-control" content="on">」)を入れる事で、「https:」サイトでも使えるようになるそうです。
サイトをSLL化している場合は、必須ですね。
この先読み効果はいかほどか? というと、約200secほど時間短縮になるとの事。つまり0.2秒ほど表示が早くなるみたいです。
0.2秒とはいえ少しでも高速化できるならと実装して計測してみました。
サイトパフォーマンスの計測はGoogleさんの提供している「PageSpeed Insights」ツールもメジャーですが……
この時はモバイルで見た時の表示速度が気になっていたので、「Tink with Google」というモバイルサイトの表示速度解析ツールで比較。
この時の結果は「DSNプリフェッチ」追加前も追加後も、表示速度は2秒とのことでした(変わりなし)。
うん、まあ期待値0.2秒だからね……。
読み込みコードの一元化
続いて、もう1つのGoogle AdSense表示の高速化の小技はこちら。
「読み込みコードの一元化」です。
自動広告だけを使っている場合は一元化の必要はないので、広告ユニットを作成して使っている場合の小技となります。
通常、AdSense広告を表示するために貼るコード(スニペット)の設置場所は、
自動広告:<head>内または<body>の冒頭
手動広告:<body>内の任意の場所
となっています。
自動広告コードは「読み込みコード」のみですが、手動広告のユニットコードは「読み込みコード」と「ユニット表示」の2つが同時に生成されます。
手動広告ユニットを複数箇所にそのまま設置すると、広告ユニットの数だけ「読み込み」が発生して、そのぶん表示速度が落ちてしまいます。
「読み込みコード」部分は、実は1ページにつき1つあればOK。
自動広告と同じく「<head>内または<body>冒頭に1回だけ」書いておき、各ユニットの「読み込みコード」部分は削除して設置する。
すると、そのぶん高速化できる、というのが「読み込みコードの一元化」です。
広告ユニットコードの以下にあたる部分が「読み込みコード」になります(000~の部分はユーザーID)。
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-00000000000000000"
crossorigin="anonymous"></script>
Google AdSenseコードの改造等は規約で禁止されていますが、こちらのコードの最小化はGoogle AdSenseで公式に認められている省略方法なので、安心です。
Google AdSenseの高速化やってみた
実際に自分のサイトで試したので、再び「Tink with Google」で計測、比較してみました。
DNSプリフェッチ設置では、75点。
平均数値ですが「インタラクティブ」は7秒と遅めでした。
読み込みコードの一元化では、75点。
「入力の推定待ち時間」がさきほどより遅くなりました。
そこで、DNSプリフェッチ&コード一元化を合わせて使ったところ、96点という結果でした!
速度評価も全てクリーンになり「インタラクティブ」も3.3秒と短縮。「入力待ち時間」も10msなど改善されました。
合わせ技が大事なんですね~!
Google AdSenseの表示を少しでも高速化したい場合は、「DNSプリフェッチ」と「読み込みコードの一元化」は有効そうです。
また、そもそもページ全体の表示速度が遅い場合は、サーバー性能が不足している可能性もあります。
ページの表示が遅いと、読まれる前にユーザーにページを閉じられてしまったり、それだけでサイト評価も落ちてしまったりと収益化にも影響します。
特にWordPressなどのCMSを長く使っていると表示速度は遅くなりがちなので、レンタルサーバーの性能を上げることを検討してみましょう。