INT 21h

Hi, I am Vladimir Smagin, sysadmin. Telegram Email

Обнаружение и противодействие блокираторам рекламы

№ 2850 В разделе "Программирование" от May 18th, 2011,

Обнаружение и блокировка AdBlock головная боль многих издателей. Но если вы все-таки решились увеличить доход от рекламы, то приготовьтесь к обилию вони от любителей халявы. Скажу по опыту, что рекламу на моем сайте начали жать в 2 раза чаще, за что я очень благодарен посетителям.

Итак, есть всего 3 эффективных метода борьбы на данный момент: простой, сложный и просто маргинальный. Простой заключается в проверке загрузилась ли картинка с баннером. Концепция второго – внедрение рекламы прямо в код страницы, а если это графика, то использовать base64 прямо в теге img (что кстати не проканает с флешем. а может и проканает, но я просто не знаю как сделать). От такого может спасти только порево с кучей плагинов перезаписывающих DOM дерево страницы. Обычный юзер такие даже ставить не будет, не то что разбираться. Третий способ намного сложнее и заключается в генерации случайного имени файла и директории в которой он лежит и хранение рекламы прямо у себя на сервере (или нгинксом делать вид, что она на сервере). Я пока еще придумываю его реализацию (ждите в ближайшее время продолжение статьи). ВКонтакте применил сместь второго и третьего способа и теперь у него все хорошо.

Сразу скажу, что называть скрипты и стили именами явно рекламными бесполезно (чтобы при заходе с AdBlock пользователь видел кривую как саблю полурабочу страницу, заставляя его отключить блокиратор). Конечно, на первое время прокатит и такое, но урлы то можно добавлять в исключения, а списки исключений коммитить на сервер AdBlock. Это уже не очень хорошо. Первый способ строится как раз на том, что юзер ленивый и не сразу закоммитит исключение на сервер. Со временем придется менять урл загружаемого баннера или пустышки, изображающей баннер.

Итак, начнем с первого способа, работающего прямо сейчас с моим блогом.

Известно, что AdBlock рекламу не просто блокирует, а вырезает ее из страницы. Допустим, на странице есть баннер с именем banner.gif. Понятно дело, что у Adblock это первый кандидат для блокировки по имени. У меня нет баннеров с таким именем и я вообще не храню рекламу на сервере, поэтому я применяю болванку размером 1×1 пиксел.

<img src="/wp-content/themes/wp-theme-rubashka/banner.gif"
 height="1" width="1" id="test" class="test">

Тег img имеет класс test, который естественно исчезнет из DOM страницы, когда AdBlock её обработает. Делаем простой скрипт проверки наличия этого класса и вуаля!

<script type="text/javascript">
var test=document.getElementById("test");
if (test.className != "test") {
    document.getElementById("cont").innerHTML="Вы используете
 блокировщик AdBlock. Отключите его пожалуйста
 или добавьте сайт в исключения.";
}
</script>

Сам контент находится в элементе с ID “cont”. Как вы видите в коде, его содержание (собственно контент страницы) перезаписывается вашим текстом. Можно конечно этого не делать, а просто выводить сообщение, что юзер очень редиска.

Ждите продолжения со вторым и третьим способом. Также мы обсудим блокировку изображений по их размерам.

9 комментариев »

9 responses to “Обнаружение и противодействие блокираторам рекламы”

  1. Boten says:

    очень интересно. ждемс 🙂

  2. odekolon says:

    самый верный способ встраивать червя через какую-нить дыру в браузере)
    Вобще вроде за такие извраты гугол может и зобанить (у себя) у них есть какита правила которые которые запрещают шаги в стороны не говоря уже о прыжках

  3. 21h says:

    ну гугол то врятли забанит за то, что обеспечиваю показ объяв 🙂 другое дело если я прямо заставляю тыкать на них

  4. Никита says:

    А на другие блокировщики действует к примеру на Adguard

  5. 21h says:

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

  6. solid says:

    уже не работает 🙁
    chromium + adblock
    проверил, ничего он не вырезает, количество строк в html-страничке – одинаковое что с вкл, что с выкл adblock’ом 🙂

  7. 21h says:

    за прошедшие 1.5 года мой блог изменился. вот и не вырезает. а количество строк не должно меняться. просто высота и ширина блоков делается 0.

  8. Zyi says:

    отключаем js читаем страничку

  9. 21h says:

    И сразу половина сайта не рабочая. Супер решение.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Комментарии

  • 21h: нене ) без меня )
  • Серегй: Не совсем грабить)) если грабить можно и без рации, есть...
  • 21h: магазин грабить собрались? ) не, тут я не помощник ;)
  • Серегй: А что бы мне поймать чужую волну, что мне для этого нужно...
  • 21h: слушать никто не запрещает. нет закона, который запрещает...
  • Серегй: Я хотел узнать могу ли я просто прийти с данной рацией baofeng...
  • 21h: У меня есть только эти 2. По другим ничего не знаю. В интернете...

© Vladimir Smagin, 2005-2017. Копирование материалов без разрешения запрещено.
Яндекс.Метрика