Заглушка РСЯ для Украины

12 3
Sevbanchik
На сайте с 06.09.2011
Offline
105
2402

Была на форуме тема, где писали, как реализовать показ Adsense, если в РСЯ не подобрана реклама по указанным в кабинете ставкам.

Вот так вот прекрасно работает для посетителей из РФ и прочего мира.

<div id="yandex_rtb_R-A-XXXXXX-25_30"></div>

<script>
(function(w, d, n, s, t) {
if(window.innerWidth >= 768) { var rtbBlockID = "R-A-XXXXXX-25"; }
else { var rtbBlockID = "R-A-XXXXXX-30"; }
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: rtbBlockID,
renderTo: "yandex_rtb_R-A-XXXXXX-25_30",
async: true,
}, function() {
var g = document.createElement("ins");
g.className = "adsbygoogle";
g.style.display = "block";
g.setAttribute("data-ad-client", "ca-pub-ZZZZZZZZZZZZZ");
g.setAttribute("data-ad-slot", "YYYYYYYYYYYY");
g.setAttribute("data-ad-format", "auto");
g.setAttribute("data-full-width-responsive", "true");
document.getElementById("yandex_rtb_R-A-XXXXXX-25_30").appendChild(g);
(adsbygoogle = window.adsbygoogle || []).push({});
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");
</script>

Посетители же из Украины не видят ничего.

Может можно как-то код модифицировать, чтобы работал показ Adsense и для Украины, если РСЯ не загружается?

Заранее спасибо!

Как кому, а мне нравится думать
Sevbanchik
На сайте с 06.09.2011
Offline
105
#1

Как будто ни у кого нет украинского трафика и никто не хочет максимум выжать из него :)

Вот пробую делать проверку, есть ли <yatag> на странице, и если его нет, то в блок, где он должен был бы быть, если бы загрузились скрипты от РСЯ, подгружаю рекламу гугла.


window.onload = (function() {
yatag = $('yatag').length;
if (yatag <= 0) {
$('<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-XXXXXXXXXXXXX" data-ad-slot="YYYYYYY" data-ad-format="auto" data-full-width-responsive="true"></ins><scr'+'ipt>(adsbygoogle = window.adsbygoogle || []).push({});</scr'+'ipt>').appendTo('#yandex_rtb_R-A-137615-25_30');
}
});

Какие подводные могут быть? И не увеличится ли от этого скорость загрузки страницы?

Спасибо.

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#2

Средствами php и geo ip определять страну и выводить сразу нужный код.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
ME
На сайте с 03.07.2017
Offline
66
#3
foxi:
Средствами php и geo ip определять страну и выводить сразу нужный код.

Если у вас подключен cloudflare то можно и без geo ip

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#4

MkrtElion, да так будет еще проще.

Sevbanchik
На сайте с 06.09.2011
Offline
105
#5

CloudFlare нет.

Я пользуюсь определением по IP страны и показ определённого кода, но т.к. на сайте включено кеширование, то код тоже кешируется. Поэтому и ищу варианты, при которых можно как-то менять на лету данные.

ME
На сайте с 03.07.2017
Offline
66
#6
Sevbanchik:
CloudFlare нет.
Я пользуюсь определением по IP страны и показ определённого кода, но т.к. на сайте включено кеширование, то код тоже кешируется. Поэтому и ищу варианты, при которых можно как-то менять на лету данные.

Кешируйте части вокруг блока а не всю страницу целиком

Sevbanchik
На сайте с 06.09.2011
Offline
105
#7

Сайт на Джумле, а блоки размещаются посреди текста, именно с этим и связаны сложности, т.к. блоки по бокам не кешируются и отдают именно то, что нужно, а непосредственно в тексте блоки кешируются.

NewAction
На сайте с 18.04.2014
Offline
96
#8

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

По событию "load" проверяется высота блока РСЯ, и если она меньше некоторого небольшого значения (то есть если рекламы в блоке нет), то блок заменяется Адсенсом. Ну или чем угодно еще — это по желанию.

Штука универсальная, не требует никаких проверок IP, и сработает всегда, когда блок РСЯ пустой — а это бывает не только тогда, когда юзер с Украины.

Найти и перепрятать
D.iK.iJ
На сайте с 26.05.2013
Offline
224
#9

У меня тоже на онлоад чекает высоту блока рекламы. Если нет - вставляю фрейм со своей. И там тоже пара проверок внутри.

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
adouz
На сайте с 28.03.2018
Offline
101
#10
Sevbanchik:
Может можно как-то код модифицировать, чтобы работал показ Adsense и для Украины, если РСЯ не загружается?

В настройках блока РСЯ заходите в раздел "география" и ставите порог CPM для Украины 9999, а в заглушку адсенс.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий