同页面包含多个AdSense广告,去掉重复的JS调用

2018年11月8日11:33:28 发表评论 13 views

自10月份对网站中Google广告进行调整后,发现首页加载速度变慢,用浏览器调试控制台查看发现谷歌广告JS调用就有5次,每次都是几百ms,果断查找解决方法。根据网上说法查找到Google官方文档说明,验证了一个页面中包含多个AdSense广告时,只需要包含一次JavaScript调用,然后对网站中谷歌广告进行了修改。

同页面包含多个AdSense广告,去掉重复的JS调用

同一个页面上多个Adsense广告,只需加载一次adsbygoogle.js,AdSense帮助中心有此说明:

https://support.google.com/adsense/answer/3221666?hl=zh-Hans

同页面包含多个AdSense广告,去掉重复的JS调用

之前一直在页面中投放多个谷歌广告单元,放置了多段adsbygoogle.js,直到发现网站加载速度变慢,网上查找资料才知道谷歌JS只需要放置一次,这是调用js的常识。

因为网站上投放了自动广告,在head里面就放置了一次谷歌js调用,我后来就把body里面的广告位中所有调用同样谷歌js的代码全部删除了,每改一个页面模板都是实测过,确保广告显示没有问题。

网友用chrome浏览器打开调试控制台,去掉重复js后可以减少几次调用。网站页面打开速度非常重要,特别对于流量还不错的网站,确实需要不断优化,争分夺秒。

其实在百度联盟后台获取异步代码的时候就有只调用一次js的说明:

  1. <script type="text/javascript">
  2.     (function() {
  3.         var s = "_" + Math.random().toString(36).slice(2);
  4.         document.write('<div style="" id="' + s + '"></div>');
  5.         (window.slotbydup = window.slotbydup || []).push({
  6.             id: "u355xxxx",
  7.             container:  s
  8.         });
  9.     })();
  10. </script>
  11. <!-- 多条广告如下脚本只需引入一次 -->  
  12. <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/c.js" async="async" defer="defer" ></script>  

现在只在head中保留了一次adsbygoogle.js:

  1. <!-- adsense page level ads start -->
  2. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  3. <script>
  4.   (adsbygoogle = window.adsbygoogle || []).push({
  5.   google_ad_client: "ca-pub-909487182760xxxx",
  6.   enable_page_level_ads: true
  7.   });
  8. </script>
  9. <!-- adsense page level ads end -->
  10. </head>

广告单、广告位、body里面都去掉了这句,留下AdSense广告代码如下:

  1. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>  
  2. <!-- AdSense 2016 Link Responsive 1 -->
  3. <ins class="adsbygoogle adsense_link_responsive_1"
  4.   style="display:block"
  5.   data-ad-client="ca-pub-909487182760xxxx"
  6.   data-ad-slot="417714xxxx"
  7.   data-ad-format="link"></ins>
  8. <script>
  9.   (adsbygoogle = window.adsbygoogle || []).push({});
  10. </script>

有网友说如果页面中重复多次调用这种JavaScript的话,也不会导致多次下载、不会影响带宽,主要是会让客户端浏览器稍微耗费一点资源,影响很微小。不过既然知道了这个问题,习惯性的清理掉重复的代码,不仅可以保证页面干净还能提高用户体验,改动一下也不错。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: