本文主要讲解如何使用异步方式加载google adsense广告代码,由于谷歌的网站都在国外,国内加载谷歌广告都太慢,容易拖慢网站加载速度,从而影响用户体验和SEO优化,我们来看下如何异步加载谷歌广告代码来解决该问题。

我们先看下谷歌广告的原来的代码,类似如下:

1
2
3
4
5
6
7
8
9
10
11
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-xxxxxxxxxxxx" crossorigin="anonymous"></script>
<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-xxxxxxxxxxxx"
data-ad-slot="xxxxxxxxxxxx"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

其实我们只需要针对引入的adsbygoogle.js进行异步延时加载即可,基于jquery实现如下:

1
2
3
4
5
setTimeout(function (){ 
$script = $('<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-xxxxxxxxxxxx" crossorigin="anonymous"></script>');
// 添加到head中 $('head').append($script);
},2e3);

其中2e3代表延时2秒,剩余部分代码该放哪还是放哪,这样adsbygoogle.js就会延时2s再加载进来渲染广告部分了,而这两秒钟足够你整个页面加载完了。