Charger des scripts d'annonces de manière statique
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Présentation
Cet audit permet de vérifier si des scripts d'annonces sont injectés ou non dans la page.
D'autres ressources sur la page peuvent retarder la récupération et le chargement des
ce qui retarde le chargement des annonces. Dans certains cas, ces
les scripts risquent de ne pas être récupérés, ce qui empêche le chargement des annonces
ensemble.
Recommandations
Chargez les scripts à l'aide de balises de script asynchrones pour améliorer la vitesse. Outil d'analyse de la précharge du navigateur
peut récupérer les tags de script plus tôt, même si les ressources bloquantes de l'affichage bloquent
l'exécution du script.
Réponse incorrecte |
<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>
|
Bonne réponse |
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
|
Identifier la source des scripts d'annonces insérés
Parfois, la façon dont un script d'annonce
est injecté dans une page n'est pas évidente,
ou même qu’elles soient injectées. Par exemple, lorsque vous examinez la source
d'une page après son chargement, un tag de script injecté peut apparaître
impossible à distinguer d'un tag chargé de manière statique.
Dans ce cas, utilisez l'onglet "Réseau" dans les outils pour les développeurs Chrome afin de déterminer la source
de scripts d'annonces injectés.
- Ouvrez les outils de développement en appuyant sur
Control+Shift+J
ou Command+Option+J
(Mac).
- Accédez à l'onglet Network (Réseau).
- Si ce n'est pas déjà fait, cliquez sur Filtrer.
pour ouvrir la barre de filtre et saisir
le nom du script signalé par cet audit dans la zone de texte.
- S'il n'est pas déjà visible, effectuez un clic droit sur un en-tête de tableau et sélectionnez
Initiateur pour inclure la colonne "Initiateur" dans la requête réseau
en cascade.
- Actualisez la page pour capturer le trafic réseau.

Comme le montre la capture d'écran ci-dessus, la colonne de l'initiateur contient des informations
sur la source du script en question. Vous pouvez cliquer sur
le lien de la source pour
accéder directement au code responsable de l'émission de la demande de script d'annonce ; ou
Pointez sur le lien de la source pour afficher tous les appels menant à la requête.
Cet audit repose sur une liste d'autorisation de scripts d'annonce connus pour être sûrs.
de manière statique. Voici la liste actuelle:
Bibliothèque |
Script(s) |
AdSense |
pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
|
Amazon Publisher Services |
amazon-adsystem.com/aax2/apstag.js
|
Enchérisseur direct Criteo |
static.criteo.net/js/*/publishertag.js
|
Google Publisher Tag |
googletagservices.com/tag/js/gpt.js
securepubads.g.doubleclick.net/tag/js/gpt.js
|
Index Exchange |
js-sec.indexww.com/ht/p/*.js
|
Intervention contre document.write()
Scripts asynchrones injectés à l'aide d'un script considéré comme dangereux
Accélérer l'utilisation des extraits asynchrones
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/08/22 (UTC).
[null,null,["Dernière mise à jour le 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"]]