Carregar scripts de anúncio estaticamente
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Visão geral
Essa auditoria verifica se os scripts de anúncios estão ou não sendo injetados na página.
Outros recursos da página podem atrasar a busca e o carregamento de
scripts, o que, por sua vez, atrasa o carregamento de anúncios. Em algumas situações,
os scripts não serão buscados, impedindo que os anúncios sejam carregados
juntas.
Recomendações
Carregue scripts usando tags assíncronas para melhorar a velocidade. Verificação de pré-carregamento do navegador
possa buscar tags de script com antecedência, mesmo se os recursos de bloqueio de renderização estiverem bloqueando
a execução do script.
Incorreta |
<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>
|
Correta |
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
|
Identificar a origem dos scripts de anúncios injetados
Às vezes, não é óbvio como um script de anúncio
está sendo injetado em uma página,
ou até mesmo injetado. Por exemplo, ao examinar a origem
de uma página depois que ela é carregada, uma tag de script injetada pode aparecer
que é indistinguível de uma tag carregada estaticamente.
Nesses casos, use a guia "Rede" no Chrome DevTools para determinar a origem
de scripts de anúncios injetados.
- Abra o DevTools pressionando
Control+Shift+J
ou Command+Option+J
(Mac).
- Acesse a guia Rede.
- Se ainda não estiver visível, clique em Filtrar
para abrir a barra de filtro e digitar
nome do script sinalizado por essa auditoria na caixa de texto.
- Se ainda não estiver visível, clique com o botão direito do mouse no cabeçalho da tabela e selecione
Iniciador para incluir a coluna "Iniciador" na solicitação de rede
tabela de cascata.
- Atualize a página para capturar o tráfego de rede.

Como visto na captura de tela acima, a coluna iniciador conterá informações
sobre a fonte do script em questão. Clique no link da fonte para
acessar diretamente o código responsável por emitir a solicitação de script de anúncio ou
passe o cursor sobre o link de origem para ver todas as chamadas que levaram à solicitação.
Essa auditoria opera em uma lista de permissões de scripts de anúncios conhecidos como seguros
para carregar estaticamente. A lista atual é:
Biblioteca |
Roteiros |
Google AdSense |
pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
|
Amazon Publisher Services |
amazon-adsystem.com/aax2/apstag.js
|
Bidder direto da Criteo |
static.criteo.net/js/*/publishertag.js
|
Tag do editor do Google |
googletagservices.com/tag/js/gpt.js
securepubads.g.doubleclick.net/tag/js/gpt.js
|
Index Exchange |
js-sec.indexww.com/ht/p/*.js
|
Como intervir em document.write()
Scripts assíncronos injetados por script considerado nocivo
Aceleração de snippets assíncronos
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-08-22 UTC.
[null,null,["Última atualização 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"]]