Подтвердить что ты не робот

Как вы используете несколько единиц 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?

Вот как я его использую (показан только первый ins):

<!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>
4b9b3361

Ответ 1

Чтобы иметь более одной единицы 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({});
});

Ответ 2

Использование jQuery...

$(".adsbygoogle").each(function () { (adsbygoogle = window.adsbygoogle || []).push({}); });

Ответ 3

Если вы хотите использовать несколько единиц 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. (И, вероятно, совершенно ненужно. Вы можете просто вставить три фрагмента рекламного кода или один и тот же фрагмент три раза.)