Как можно добавить несколько экземпляров РСЯ на одну страницу?

Как настроить скрипт для отображения нескольких рекламных блоков Яндекса на странице, вставляя его перед каждым заголовком H2, вместо того чтобы отображался только последний блок рекламы?
  • 10 января 2024 г. 21:09
Ответы на вопрос 1
Чтобы разместить на странице несколько рекламных блоков РСЯ (Рекламной сети Яндекса), вам нужно учитывать политику и ограничения Яндекса относительно количества рекламных блоков. Яндекс обычно позволяет размещать не более трех рекламных блоков на одной странице.

При добавлении нескольких рекламных блоков Яндекса, вам потребуется следующий алгоритм действий:

1. Зарегистрировать каждый рекламный блок в интерфейсе Яндекса для веб-мастеров и получить уникальные идентификаторы для каждого блока (data-ad-client и data-ad-slot).

2. Вставить коды каждого рекламного блока в нужные места страницы.

Допустим, вы хотите вставлять рекламные блоки перед каждым заголовком H2. Для этого на вашей странице будет использоваться следующий шаблонный скрипт Яндекса (замените `AD_CLIENT_ID` и `AD_SLOT_ID` на полученные значения):

```html
<script async="async" src="//an.yandex.ru/system/context.js"></script>
<ins class="adsbyyandex"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="AD_CLIENT_ID"
     data-ad-slot="AD_SLOT_ID"></ins>
<script>
    (Ya.Context.AdvManager.render({
        blockId: "R-A-AD_SLOT_ID", 
        renderTo: "ad_div_ID",
        async: true
    }));
</script>
```

Этот код нужно будет вставить перед каждым H2 с уникальным blockId и ad_div_ID для каждого рекламного блока.

3. Для автоматической вставки скриптов на страницу, вы можете использовать JavaScript или серверный скрипт, который обрабатывает HTML-контент перед его отправкой клиенту.

Например, представим, что у вас есть простой JavaScript код, который вставляет рекламные блоки перед каждым элементом H2:

```html
<script>
    document.addEventListener("DOMContentLoaded", function() {
        var h2s = document.getElementsByTagName('h2');
        for (var i = 0; i < h2s.length; i++) {
            var ad = document.createElement('ins');
            ad.className = 'adsbyyandex';
            ad.style = 'display:inline-block;width:300px;height:250px';
            ad.setAttribute('data-ad-client', 'AD_CLIENT_ID');
            ad.setAttribute('data-ad-slot', 'AD_SLOT_ID');
            
            var adScript = document.createElement('script');
            adScript.text = "Ya.Context.AdvManager.render({" +
                            "blockId: 'R-A-AD_SLOT_ID'," +
                            "renderTo: 'ad_div_ID'," +
                            "async: true" +
                            "});";
            
            var parentDiv = h2s[i].parentNode;
            parentDiv.insertBefore(ad, h2s[i]);
            parentDiv.insertBefore(adScript, ad.nextSibling);
        }
    });
</script>
```

Убедитесь, что каждый рекламный блок имеет уникальный `data-ad-slot` и соответствующие параметры `blockId` и `renderTo`.

Обратите внимание, что автоматическая вставка рекламных блоков на страницу должна соответствовать правилам и рекомендациям Яндекса. Не нарушайте политику, которая может привести к блокировке вашей учетной записи РСЯ.

Перед тем, как реализовать рекламные блоки на вашей странице, убедитесь, что вы прочитали и поняли правила площадки, где вы планируете размещать реклам
Похожие вопросы