Memuat skrip iklan secara statis
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Ringkasan
Audit ini memeriksa apakah skrip iklan dimasukkan ke halaman atau tidak.
Resource lain di halaman mungkin menunda pengambilan dan pemuatan yang dimasukkan
skrip, yang pada akhirnya akan menunda pemuatan iklan. Dalam beberapa situasi,
skrip tidak boleh diambil sama sekali, sehingga mencegah iklan dimuat
secara
bersamaan.
Rekomendasi
Muat skrip melalui tag skrip asinkron untuk meningkatkan kecepatan. Pemindai pramuat browser
dapat mengambil tag skrip lebih awal, meskipun sumber daya pemblokir render memblokir
dalam eksekusi skrip.
Salah |
<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>
|
Benar |
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
|
Mengidentifikasi sumber skrip iklan yang dimasukkan
Kadang-kadang tidak jelas bagaimana skrip iklan dimasukkan ke dalam halaman,
atau bahkan telah diinjeksikan sama sekali. Misalnya, saat memeriksa sumber
halaman setelah dimuat, tag skrip yang telah dimasukkan dapat muncul
tidak dapat dibedakan dari tag
yang dimuat secara statis.
Dalam kasus ini, gunakan tab Jaringan di Chrome DevTools untuk menentukan sumber
skrip iklan yang dimasukkan.
- Buka DevTools dengan menekan
Control+Shift+J
atau Command+Option+J
(Mac).
- Buka tab Jaringan.
- Jika belum terlihat, klik Filter
untuk membuka panel filter dan ketik
nama skrip yang ditandai oleh audit ini ke dalam kotak teks.
- Jika belum terlihat, klik kanan pada {i>header<i} tabel mana pun dan pilih
Inisiator untuk menyertakan kolom Inisiator dalam permintaan jaringan
tabel waterfall.
- Muat ulang halaman untuk merekam traffic jaringan.

Seperti yang terlihat pada screenshot di atas, kolom inisiator akan berisi informasi
tentang sumber naskah yang bersangkutan. Anda dapat mengklik
tautan sumber untuk
langsung membuka kode yang digunakan untuk mengajukan permintaan skrip iklan, atau
arahkan kursor ke link sumber untuk melihat semua panggilan yang mengarah ke permintaan.
Audit ini beroperasi terhadap daftar skrip iklan yang diizinkan yang telah diketahui aman
yang dimuat secara statis. Daftar saat ini adalah:
Koleksi |
Skrip |
AdSense |
pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
|
Layanan Penerbit Amazon |
amazon-adsystem.com/aax2/apstag.js
|
Bidder Langsung Criteo |
static.criteo.net/js/*/publishertag.js
|
Tag Google Publisher |
googletagservices.com/tag/js/gpt.js
securepubads.g.doubleclick.net/tag/js/gpt.js
|
Index Exchange |
js-sec.indexww.com/ht/p/*.js
|
Melakukan intervensi terhadap document.write()
"Skrip asinkron" yang dimasukkan skrip dianggap berbahaya
Mempercepat Cuplikan Asinkron
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-08-22 UTC.
[null,null,["Terakhir diperbarui pada 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"]]