اسکریپت های تبلیغاتی را به صورت ایستا بارگیری کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
نمای کلی
این ممیزی بررسی می کند که آیا اسکریپت های تبلیغاتی به صفحه تزریق می شوند یا خیر. سایر منابع موجود در صفحه ممکن است واکشی و بارگذاری اسکریپت های تزریق شده را به تاخیر بیندازند که به نوبه خود بارگذاری تبلیغات را به تاخیر می اندازد. در برخی شرایط ممکن است این اسکریپت ها اصلاً واکشی نشوند و از بارگیری تبلیغات با هم جلوگیری می کنند.
توصیه ها
برای بهبود سرعت، اسکریپت ها را از طریق برچسب های اسکریپت غیر همگام بارگیری کنید. اسکنر پیش بارگذاری مرورگر میتواند تگهای اسکریپت را زودتر واکشی کند، حتی اگر منابع مسدودکننده رندر اجرای اسکریپت را مسدود کنند.
نادرست است | <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> |
منبع اسکریپت های تبلیغاتی تزریقی را شناسایی کنید
گاهی اوقات ممکن است واضح نباشد که چگونه یک اسکریپت تبلیغاتی به یک صفحه تزریق می شود، یا حتی اینکه اصلاً تزریق می شود. به عنوان مثال، هنگام بررسی منبع یک صفحه پس از بارگیری، یک برچسب اسکریپتی که تزریق شده است ممکن است غیرقابل تشخیص از برچسبی باشد که به صورت ایستا بارگذاری شده است.
در این موارد، از تب Network در Chrome DevTools برای تعیین منبع اسکریپت های تبلیغاتی تزریق شده استفاده کنید.
- DevTools را با فشار دادن
Control+Shift+J
یا Command+Option+J
(Mac) باز کنید. - به تب Network بروید.
- اگر از قبل قابل مشاهده نیستید، روی فیلتر کلیک کنید
برای باز کردن نوار فیلتر و تایپ نام اسکریپت پرچمگذاری شده توسط این ممیزی در کادر متنی. - اگر از قبل قابل مشاهده نیستید، بر روی سرصفحه جدول کلیک راست کرده و Initiator را انتخاب کنید تا ستون Initiator در جدول waterfall درخواست شبکه قرار گیرد.
- صفحه را دوباره بارگیری کنید تا ترافیک شبکه را جذب کنید.

همانطور که در تصویر بالا مشاهده می شود، ستون آغازگر حاوی اطلاعاتی در مورد منبع اسکریپت مورد نظر است. میتوانید روی پیوند منبع کلیک کنید تا مستقیماً به کدی که مسئول صدور درخواست اسکریپت آگهی است بروید، یا ماوس را روی پیوند منبع نگه دارید تا همه تماسهای منتهی به درخواست را ببینید.
این ممیزی بر اساس لیستی از مجوزهای اسکریپت های تبلیغاتی عمل می کند که برای بارگذاری ایستا ایمن شناخته شده اند. لیست فعلی این است:
کتابخانه | اسکریپت(های) |
---|
AdSense | pagead2.googlesyndication.com/pagead/js/adsbygoogle.js |
خدمات ناشر آمازون | amazon-adsystem.com/aax2/apstag.js |
مناقصه مستقیم Criteo | static.criteo.net/js/*/publishertag.js |
برچسب Google Publisher | googletagservices.com/tag/js/gpt.js securepubads.g.doubleclick.net/tag/js/gpt.js |
بورس شاخص | js-sec.indexww.com/ht/p/*.js |
مداخله در برابر document.write()
«اسکریپتهای ناهمگام» تزریقشده با اسکریپت مضر در نظر گرفته میشوند
سرعت بخشیدن به قطعات Async
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-11-12 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2024-11-12 بهوقت ساعت هماهنگ جهانی."],[[["\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"]]