如何延迟加载 Adsense 广告?

How to Lazy Load Adsense Ads?

有没有延迟加载Adsense广告的工作方法?

我在stack overflow & Google中检查了几个答案,所有这些方法只是延迟加载,我只需要在视口中用户可见时加载广告;就像延迟加载图像一样。

是的,可以延迟加载 Adsense,您需要使用 LazyHTML 等开源库在不修改 Adcode 的情况下延迟加载 Adsense 广告。

在以下示例中,将 ca-pub-xxx 替换为您的 Google Adsense 客户端 ID,您还必须替换插槽 ID。根据您的需要进行更改。

将以下代码添加到Head

<script async src="https://cdn.jsdelivr.net/npm/lazyhtml@1.2.3/dist/lazyhtml.min.js" crossorigin="anonymous"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-xxx" crossorigin="anonymous"></script>

将广告代码包装在 lazyhtml 包装器中。

<div class="lazyhtml" data-lazyhtml onvisible>
  <script type="text/lazyhtml">
  <!--
  <ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-XXXXXX"
     data-ad-slot="YYYY"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
  -->
  </script>
</div>

步骤和注意事项:

  1. 将 LazyHTML & adsbygoogle.js Javascript 添加到 Head,它是异步加载的。
  2. 在 LazyHTML 包装器中包装所有 Adsense 代码。
  3. 如果您想延迟加载所有 Adsense 广告,您必须将所有 Adsense 标签包装在 LazyHTML wrapper
  4. 请注意包装内不允许 HTML、CSS 或 JS 注释。
  5. onvisble 属性在用户完全可见时加载 Adsense 广告单元。
  6. 尽量避免 Adsense Autoads。

帮助链接:

来源:Lazy Loading Adsense Ads

惰性 HTML 包装器:LazyHTML Converter