Как использовать несколько блоков adsense на одной странице?
как у вас есть несколько блоков AdSense на одном сайте? Единственный код Google дает на единицу.
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="123456"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
что если я хочу использовать несколько блоков AdSense на одном сайте? Я использую только <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
и (adsbygoogle = window.adsbygoogle || []).push({});
один раз, а затем поместить <ins ...></ins>
код, где я хочу быть.
проблема в том, что анализируется и отображается только первый блок adsense. Что вам нужно сделать, чтобы иметь возможность отображать более одного блока adsense?
вот как я его использую (только первый есть):
<!doctype html>
<html>
<body>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="first"></ins>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="second"></ins>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="third"></ins>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
</body>
</html>
4 ответов
чтобы иметь более одного блока adsense на одной странице, вы должны добавить больше строк (adsbygoogle = window.adsbygoogle || []).push({});
.
Итак, если у вас есть 3 рекламных блока, вы хотите использовать его 3 раза.
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
Если вы хотите сделать это динамически, используйте этот:
[].forEach.call(document.querySelectorAll('.adsbygoogle'), function(){
(adsbygoogle = window.adsbygoogle || []).push({});
});
использование jQuery...
$(".adsbygoogle").each(function () { (adsbygoogle = window.adsbygoogle || []).push({}); });
вызов <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
только один раз, в самом низу страницы (перед </body>
).
далее разместите фрагменты объявлений отдельно следующим образом:
<!-- Top Banner Ad -->
<ins class="adsbygoogle"
style="display:inline-block;width:320px;height:100px"
data-ad-client="ca-pub-1234567890"
data-ad-slot="4693644638"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- Responsive Ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1234567890"
data-ad-slot="3097818646"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Если вы хотите использовать несколько блоков AdSense на одной странице, вам нужно создать и вставить несколько фрагментов AdSense:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="first"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="second"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="third"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
в AdSense разрешено только ограниченное количество модификаций кода. https://support.google.com/adsense/answer/1354736?hl=en
Я мог бы ответить, почему "только первый блок AdSense, анализируется и отображается" и я мог бы попытаться показать вам, как изменить ваш пример, чтобы показать все три объявления, но на мой взгляд это не имеет значения (в данном случае), потому что это не разрешено в AdSense. (И, вероятно, совершенно излишне. Вы можете просто вставить три фрагмента рекламного кода или один и тот же фрагмент три раза.)