去年我第二次从谷歌收到了赞助费,在博客上挂广告的收益不多,但是抵消博客的运营成本还是可以的。所以,看到有关优化谷歌广告的方法我都会转载,此文来自刘童鞋说。
1.广告单元避免使用谷歌字体
尽管目前谷歌字体服务在国内能够被正常解析,但国内的网络环境复杂多变,较为稳妥的方式是主动更改广告单元中的字体使用 Arial 作为广告字体。
2.减少代码中的js请求
先让我们看看谷歌官方给的广告代码
<script async src=“https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”>
</script>
<ins class=“adsbygoogle”
style=“display:block”
data–ad–client=“ca-pub-id”
data–ad–slot=“id”
data–ad–format=“auto”
data–full–width–responsive=“true”></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
代码是通过 async 异步请求加载 adsbygoogle.js 核心文件,待加载完成后再 push 到 ins 内,显示广告内容。而谷歌广告联盟(Google AdSense)在国内的节点少之又少,时常抽风。当网站加载广告出现加载慢的情况时,网站就会一直处于加载状态,从而拖慢网站加载速度。
Q:如果我的网站要放几个广告单元时,我是不是要为每个广告单元都添加一段呢?
A:不,不需要!网站只需要加载一次adsbygoogle.js
如果网站有多个广告单元,那就可以把该段引入 JS 的代码放在 head 内,既可以达到只需一次载入 JS 即可让所有广告单元显示广告。
3.js监听加载
用懒加载的方式加载 adsbygoogle.js 核心文件,建议将下列代码部署至 </body> 之前即可。
<script>
window.onload = function() {
setTimeout(function() {
let script = document.createElement(“script”);
script.setAttribute(“async”, “”);
script.src = “//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”;
document.body.appendChild(script);
}, 2e3);
}
</script>
代码是让广告在网站载入完成后才开始加载,让谷歌广告联盟(Google AdSense)加载慢的问题无法影响网站加载速度。