Loading
0

谷歌广告加速Google AdSense广告导致网站加载慢?代码优化及网站加速教程!

公众号搜索菜鸟站长之家

现在大部分站长都申请了谷歌Google AdSense广告,然后挂上去,希望能有所收获。但是过的一段时间发现一个比较严重的问题,就是网站的加载速度受影响。虾皮路就遇到了这种情况,比如本来网站打开很快的,结果放上谷歌Google AdSense广告后,每次打开都要转圈圈,等谷歌Google AdSense广告全部显示出来后才算全部加载完成。这样给访客始终不太好的浏览体验。

菜鸟站长之家也遇到过这样的情况,现在就分享一下加速谷歌广告导致网站加载慢的代码优化及网站加速教程。

优化谷歌AdSense广告代码
大家申请谷歌Google AdSense广告的时候,会发现最终的广告代码一般都是下面这个样子:

<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>

然后如果一个页面放多个广告的话,那么一个页面里面有很多个这样的代码。然后就会发现,其中每次都要调用一个https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js代码。其实是只要调用一次就行了的。谷歌官方也说到了:

问:如果我的网页上有多个广告单元,我是否要为每个广告单元添加 <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> ?
答:不,不需要,adsbygoogle.js 可以一次性加载。

那么既然官方都这样说了,那实际上可以将代码:

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

放到你主题 head 里,相当于每页都会加载。然后剩下的广告代码就精简为如下这样:

<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>

其实就是把那个JS移除了。

节省了多次调用adsbygoogle.js的时间。

但是光这样还不够,能不能让网页显示完成,然后再到谷歌Google AdSense广告显示呢?当然是可以的。

二、延迟显示谷歌AdSense广告
实际上就是JS监听加载。将每次网页加载完成后,才开始加载谷歌Google AdSense广告的JS,就是https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js。

那么,只要我们将下面的代码放到 head 里,保证每一页都有加载。(这个看你个人喜好影响不是很大,但是如果主题兼容性不好,可能回加载不出来。)

<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>

然后在每个广告位上继续放上相应的广告代码即可。和上面 head 里广告代码一样。

刷新缓存后,你会发现,网页会先展示,然后才到谷歌Google AdSense广告,网站优化加速完成了。

文章声明:
1、本站文章来源于互联网,仅供学习交流使用,严禁用于商业用途,因此造成的一切法律后果自行承担。
2、本站不对文章内容的完整性和安全性负责,请自行辨别,如发现有问题,请及时联系我们进行处理。
3、若文章中有侵权或不适当内容,请留言告知我们,本站会第一时间进行处理。
4、转载请保留原文地址,违者后果自负,本站保留一切法律追责权力。