当前位置

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

James Qi 在 2018年11月2日 - 15:10 提交

  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调用的话,也不会导致多次下载、不会影响带宽,主要是会让客户端浏览器稍微耗费一点资源,影响很微小。

  无论如何,如果像我这样知道这个问题后,有去掉无用重复代码的洁癖的话,还是去改动一下吧😃

 

评论

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。