広告スクリプトを静的に読み込む
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
概要
この監査では、広告スクリプトがページに挿入されているかどうかを確認します。
ページ上の他のリソースにより、挿入されたファイルの取得と読み込みが遅延する可能性がある
変更すると広告の読み込みが遅れます。場合によっては
スクリプトがまったく取得されず、広告をすべて読み込めない
説明します。
推奨事項
非同期スクリプトタグを使用してスクリプトを読み込むと、処理速度が向上します。ブラウザのプリロード スキャナ
レンダリング ブロック リソースがブロックされていても、スクリプトタグを早期に取得できる
自動的にスケールします。
誤 |
<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 の [Network] タブを使用してソースを確認します。
挿入された広告スクリプトが含まれます
Control+Shift+J
または Command+Option+J
(Mac)を押して DevTools を開きます。
- [ネットワーク] タブに移動します。
- まだ表示されていない場合は、[フィルタ] をクリックします。
: フィルタバーを開き、
この監査でフラグが付けられたスクリプトの名前をテキスト ボックスに入力します。
- まだ表示されていない場合は、テーブル ヘッダーを右クリックして [
イニシエータ: ネットワーク リクエストにイニシエータ列を含めます。
ウォーターフォールテーブル
- ページを再読み込みして、ネットワーク トラフィックを取得します。
![Chrome DevTools の [Network] タブのスクリーンショット](https://developers.google.cn/publisher-ads-audits/reference/audits/images/script-injected-tags-devtools.png?hl=ja)
上のスクリーンショットに示すように、[Initiator(開始者)] 列には
該当するスクリプトのソースに関する情報を入力します。ソースリンクをクリックすると
広告リクエストを発行するコードに直接移動できます。
ソースリンクにカーソルを合わせると、リクエストに至るまでのすべての呼び出しが表示されます。
この監査は、安全性が確認されている広告スクリプトの許可リストに基づいて行われます。
静的に読み込みます現在のリストは次のとおりです。
ライブラリ |
スクリプト |
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() に対する介入
スクリプト挿入の「非同期スクリプト」有害とみなした
非同期スニペットの高速化
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-08-22 UTC。
[null,null,["最終更新日 2024-08-22 UTC。"],[[["\u003cp\u003eThis audit identifies ad scripts injected into the page that may delay or prevent ad loading.\u003c/p\u003e\n"],["\u003cp\u003eUse async script tags to improve loading speed, enabling the browser to fetch scripts earlier.\u003c/p\u003e\n"],["\u003cp\u003eIf the source of an injected ad script is unclear, Chrome DevTools' Network tab can be used to identify it.\u003c/p\u003e\n"],["\u003cp\u003eA list of safe-to-load ad scripts is provided, including those from AdSense, Amazon, Criteo, Google Publisher Tag, and Index Exchange.\u003c/p\u003e\n"]]],["Ad scripts injected into a page can delay or prevent ad loading. To improve speed, load scripts using `async` script tags, allowing the browser to fetch them earlier. To identify injected scripts, use Chrome DevTools' Network tab: filter by the script name and enable the \"Initiator\" column to find the source. The document provides examples of correct and incorrect code for loading scripts and includes a list of ad scripts from AdSense, Amazon, Criteo, Google Publisher Tag, and Index Exchange.\n"],null,["# Load ad scripts statically\n\nOverview\n--------\n\nThis audits checks whether or not ad scripts are being injected into the page.\nOther resources on the page may delay the fetching and loading of injected\nscripts, which will in turn delay the loading of ads. In some situations these\nscripts may not be fetched at all, preventing ads from being loaded all\ntogether.\n\nRecommendations\n---------------\n\nLoad scripts via async script tags to improve speed. The browser preload scanner\ncan fetch script tags earlier, even if render blocking resources are blocking\nthe script execution.\n\n|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Incorrect** | ```html \u003cscript\u003e 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); \u003c/script\u003e ``` |\n| **Correct** | ```html \u003cscript async src=\"https://securepubads.g.doubleclick.net/tag/js/gpt.js\"\u003e\u003c/script\u003e ``` |\n\n### Identify the source of injected ad scripts\n\nSometimes it may not be obvious how an ad script is being injected into a page,\nor even that it's being injected at all. For example, when examining the source\nof a page after it's loaded, a script tag that has been injected may appear\nindistinguishable from a tag that was loaded statically.\n\nIn these cases, use the Network tab in Chrome DevTools to determine the source\nof injected ad scripts.\n\n1. Open DevTools by pressing `Control+Shift+J` or `Command+Option+J` (Mac).\n2. Navigate to the **Network** tab.\n3. If not already visible, click **Filter** to open the filter bar and type the name of the script flagged by this audit into the text box.\n4. If not already visible, right-click on any table header and select **Initiator** to include the Initiator column in the network request waterfall table.\n5. Reload the page to capture network traffic.\n\nAs seen in the above screenshot, the initiator column will contain information\nabout the source of the script in question. You can click on the source link to\njump directly to the code responsible for issuing the ad script request, or\nhover over the source link to see all of the calls leading up to the request.\n\nMore information\n----------------\n\nThis audit operates against a allowlist of ad scripts which are known to be safe\nto load statically. The current list is:\n\n| Library | Script(s) |\n|---------------------------|--------------------------------------------------------------------------------------|\n| AdSense | `pagead2.googlesyndication.com/pagead/js/adsbygoogle.js` |\n| Amazon Publisher Services | `amazon-adsystem.com/aax2/apstag.js` |\n| Criteo Direct Bidder | `static.criteo.net/js/*/publishertag.js` |\n| Google Publisher Tag | `googletagservices.com/tag/js/gpt.js` `securepubads.g.doubleclick.net/tag/js/gpt.js` |\n| Index Exchange | `js-sec.indexww.com/ht/p/*.js` |\n\n[Intervening against document.write()](https://developers.google.com/web/updates/2016/08/removing-document-write) \n\n[Script-injected \"async scripts\" considered harmful](https://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/) \n\n[Speeding Up Async Snippets](https://csswizardry.com/2022/10/speeding-up-async-snippets/) \n[View audit source](https://github.com/googleads/publisher-ads-lighthouse-plugin/tree/HEAD/lighthouse-plugin-publisher-ads/audits/script-injected-tags.js) [Improve this article](https://github.com/googleads/publisher-ads-lighthouse-plugin/tree/HEAD/docs/audits/script-injected-tags.md) [Report an issue](https://github.com/googleads/publisher-ads-lighthouse-plugin/issues/new?labels=documentation&template=documentation-feedback.md&title=Documentation+feedback%3A+script-injected-tags.md)\n\n\u003cbr /\u003e"]]