9月底、10月初我根據同事的說法查找到Google官方文檔中的說明,驗證了一個頁面中包含多個AdSense廣告時,隻需要包含一次JavaScript調用,然後對網站進行了全面的修改。
正好前幾天有人在微信群裡問到同樣的問題,記錄轉發到這裡:
————— 2018-10-27 —————
gg 15:37:一個頁面中有兩個GG廣告是不是隻放一個JS鍊接就行了
gg 16:14:老大些,一個頁面中有兩個GG廣告是不是隻放一個JS鍊接就行了
Shakeko 17:53:@gg 可以 https://support.google.com/adsense/answer/3221666?vid=0-3026580866-1530653320208&hl=zh-Hans
月月鳥 23:12:同一個頁面上多個Adsense廣告,隻需加載一次adsbygoogle.js。
————— 2018-10-28 —————
James Qi 08:02:@月月鳥 @gg 同一個頁面上多個Adsense廣告,隻需加載一次adsbygoogle.js。這個是對的,AdSense幫助中心有此說明,官方文檔不會錯
James Qi 08:04:https://support.google.com/adsense/answer/3221666?hl=zh-Hans
James Qi 08:05:
James Qi 08:06:以上是官方幫助中心的鍊接和截圖☝
James Qi 08:09:我其實以前也一直在頁面中投放多個廣告單元,放置了多段adsbygoogle.js,直到我們一位同事說隻需要放置一次,他說這是調用js的常識,我此前也不知道
James Qi 08:12:因為我們網站上都投放了自動廣告,在head裡面就放置了一次這段js調用,我後來就把body裡面的廣告位中所有調用同樣js的代碼全部删除了
James Qi 08:13:@天空海闊 我每改一個頁面模闆都是實測過,确保廣告顯示沒有問題✌
James Qi 08:16:我們同事用chrome浏覽器打開調試控制台,說去掉重複js調用後可以減少幾次,每次原來都至少需要幾十ms
James Qi 08:18:頁面打開速度非常重要,特别對于流量還不錯的網站,确實需要不斷優化,争分奪秒✊
其實在百度聯盟後台獲取異步代碼的時候就看到js隻需要一次的說明:
<script type="text/javascript">
(function() {
var s = "_" + Math.random().toString(36).slice(2);
document.write('<div style="" id="' + s + '"></div>');
(window.slotbydup = window.slotbydup || []).push({
id: "u355xxxx",
container: s
});
})();
</script>
<!-- 多條廣告如下腳本隻需引入一次 -->
<script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/c.js" async="async" defer="defer" ></script>
現在我就隻在head中保留了一次adsbygoogle.js:
<!-- adsense page level ads start -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-909487182760xxxx",
enable_page_level_ads: true
});
</script>
<!-- adsense page level ads end -->
</head>
body裡面都去掉了這句,留下AdSense廣告代碼如下:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- AdSense 2016 Link Responsive 1 -->
<ins class="adsbygoogle adsense_link_responsive_1"
style="display:block"
data-ad-client="ca-pub-909487182760xxxx"
data-ad-slot="417714xxxx"
data-ad-format="link"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
寫這篇文章時又詢問了一位同事,他說如果頁面中重複多次這種JavaScript調用的話,也不會導緻多次下載、不會影響帶寬,主要是會讓客戶端浏覽器稍微耗費一點資源,影響很微小。
無論如何,如果像我這樣知道這個問題後,有去掉無用重複代碼的潔癖的話,還是去改動一下吧😃
评论4
很是清爽的博客,而且用的drupal,的确與衆不同
很是清爽的博客,而且用的drupal,的确與衆不同。mark謝謝,國内用Drupal做博客的不太多,以後多交流🤝
謝謝,國内用Drupal做博客的不太多,以後多交流🤝
好像我也犯了這個錯誤,添加一個廣告單元就添加一次JS
好像我也犯了這個錯誤,添加一個廣告單元就添加一次JS,等會我就去删除多餘的,謝謝告知。這是個常見的小問題,我的網站廣告代碼多年都存在這個問題
這是個常見的小問題,我的網站廣告代碼多年都存在這個問題,近期才更改,以前的影響也不算大。