去年就曾经申请过 Google Adsense 的广告,但是貌似审核没通过,一直留有遗憾(没有尝试过好奇)。今年突然起了兴致重新申请,审核持续了将近一周,意外地竟然通过了。

在申请之前,需要在页面上加上一段代码。最好加到 head 里面,因为 Google Adsense 的代码片段加了 async 属性会后台异步加载,不会影响页面渲染。代码例如:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
  (adsbygoogle = window.adsbygoogle || []).push({
    google_ad_client: "ca-pub-xxxxxxxx",
    enable_page_level_ads: true
  });
</script>

其中 "ca-pub-xxxxxxxx" 是你的 publisher id(Adsense 账户里面看到的是没有 ca- 前缀的,搞不懂区别是什么)。

审核通过之后就是可以再 Adsense 网站创建广告单元,然后复制代码到你自己的网站上,不出意外很快就可以显示广告了。广告代码大概是这样子的:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 侧栏自适应2 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-xxxxx"
     data-ad-slot="yyyyy"
     data-ad-format="horizontal"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>


大功告成。不过还有一个比较尴尬的是,每次广告单元都重复执行了这段代码,有没有可能精简下呢?我自己试了下,这里是可以优化下,第一个 script 可以不用加载(前面已经做过了),第三个调用 push 的代码猜测是把广告内容填充到这个位置,可不可以放到一起呢?比如在网站上加一段 js:

$(".adsbygoogle").each(function () { (adsbygoogle = window.adsbygoogle || []).push({}); });

我自己验证确实是可行的。尝鲜之后我也把这个功能添加到 dangopress 主题了,不过目前还不支持在主题配置里面增加广告代码,这个还要研究下。

转载请注明转自: 团子的小窝 , 本文固定链接: 优雅部署 Google Adsense 广告代码