広告スクリプトを静的に読み込む

概要

この監査では、広告スクリプトがページに挿入されているかどうかを確認します。 ページ上の他のリソースによって、挿入されたスクリプトの取得と読み込みが遅延され、広告の読み込みが遅れる場合があります。場合によっては、これらのスクリプトがまったく取得されず、広告がすべて一緒に読み込まれないことがあります。

おすすめ

速度を向上させるために、非同期スクリプトタグを使用してスクリプトを読み込みます。ブラウザのプリロード スキャナでは、レンダリング ブロック リソースがスクリプトの実行をブロックしている場合でも、事前にスクリプトタグを取得できます。

<script>
  var el = document.createElement('script');
  el.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
  var node = document.getElementsByTagName('script')[0];
  node.parentNode.insertBefore(el, node);
</script>
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>

挿入された広告スクリプトのソースを特定する

場合によっては、広告スクリプトがどのようにページに挿入されているか、そしてまったく挿入されていないかが不明確です。たとえば、読み込まれたページのソースを調べると、挿入されたスクリプトタグが静的に読み込まれたタグと区別がつかないことがあります。

そのような場合は、Chrome DevTools の [ネットワーク] タブを使用して、挿入された広告スクリプトのソースを確認します。

  1. Control+Shift+J または Command+Option+J(Mac)を押して DevTools を開きます。
  2. [Network] タブに移動します。
  3. まだ表示されていない場合は、フィルタ アイコン フィルタ アイコン をクリックしてフィルタバーを開き、この監査で報告されたスクリプトの名前をテキスト ボックスに入力します。
  4. まだ表示されていない場合は、任意のテーブル ヘッダーを右クリックして [Initiator] を選択し、ネットワーク リクエストのウォーターフォール テーブルにイニシエータ列を含めます。
  5. ネットワーク トラフィックをキャプチャするには、ページを再読み込みしてください。

Chrome DevTools の [Network] タブのスクリーンショット

上のスクリーンショットからわかるように、イニシエータ列には、該当するスクリプトのソースに関する情報が含まれます。ソースリンクをクリックすると、広告スクリプトのリクエストを発行するコードに直接移動できます。また、ソースリンクにカーソルを合わせると、リクエストにつながるすべての呼び出しを確認できます。

詳細

この監査は、静的に安全に実行できることがわかっている広告スクリプトの許可リストに対して機能します。現在のリスト:

ライブラリ スクリプト
AdSense pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
Amazon パブリッシャー サービス amazon-adsystem.com/aax2/apstag.js
Criteo 直接ビッダー static.criteo.net/js/*/publishertag.js
Google パブリッシャー タグ

googletagservices.com/tag/js/gpt.js

securepubads.g.doubleclick.net/tag/js/gpt.js

Index Exchange js-sec.indexww.com/ht/p/*.js

document.write() に対する介入
スクリプト挿入された非同期スクリプトが有害と見なされる
非同期スニペットの高速化