Как бороться с блокировщиками рекламы?

AdBlock, AdBlock Plus, Adguard и др. блокировщики рекламы уже давно стали головной болью для многих владельцев Интернет ресурсов. Даже крупным компаниям, вроде Google, приходится договариваться с разработчиками на предмет добавления своих сайтов в белые списки. Тем не менее, у пользователей всегда есть выбор и нам придётся думать, как бороться с этой напастью.

Блокировщики рекламы

В начале коротко о главном. Для многих Интернет ресурсов, реклама является основным видом заработка. Нет рекламы – нет заработка, нет заработка – нет сайта, всё просто.

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

блокировка рекламы

Конечно, ничто не стоит на месте. Многие владельцы сайтов стали более адекватны, но блокировщики рекламы остались.

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

Всё просто, если этот круг состоит из сомнительных сайтов, то блокировщик рекламы это необходимость. Если же речь идёт о качественных ресурсах, то реклама становится их полезным дополнением.

Как бороться?

На самом деле, основной способ борьбы с AdBlock, AdBlock Plus, Adguard и иже заключается в адекватности владельца сайта. Создавайте сайты для людей и зарабатывайте разумно. Помните, потерять доверие пользователей легко, а восстановить его будет трудно… легче начать с нуля.

Тем не менее, давайте попробуем найти компромисс. Если включить блокировщик на сайтах «Цукербер позвонит» или «tjournal», вы не увидите рекламу. Вместо этого появятся вот такие сообщения.

как бороться с блокировщиками рекламы

Несколько навязчиво, но вполне адекватно. Главное здесь распознать то, что ваш сайт просматривается с включенным блокировщиком рекламы.

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

Шаг 1: создание обёртки. Для облегчения задачи, в качестве обвёртки рекламных блоков, я использую DIV тег с соответствующим идентификатором, например:

<div class="testAdBlock">
  <!-- здесь располагается код рекламного блока -->
</div>

Таким образом, мы можем обратиться к нужному элементу через JavaScript и проверить его свойства.

Шаг 2: JavaScript проверка. Для облегчения задачи, я использую JavaScript библиотеку jQuery, потому не забудьте её подключить. Дальше нам нужно дождаться загрузки документа и проверить высоту обёртки, например:

<script type='text/javascript'>
$(window).load(function(){
  if ( $('.testAdBlock').height() < 50 ) {
    $('.testAdBlock')
      .css({'background': '#c51515','padding': '10px','text-align': 'center', 'color': '#fff'})
      .html('Поддержи любимый блог – отключи AdBlock.');
  }
});
</script>

Всё просто, если высота обёртки низкая, значит блокировщик удалил рекламный блок, и наоборот. В целом, здесь можно проверять и на равенство нулю, но я предпочитаю учитывать тот же padding и/или особенности интерпретации пустого DIV тега браузерами. Поэтому указываю значение немного меньшее размера рекламного блока.

В том случае если реклама блокирована, обвёртке добавляются CSS-свойства и прописываю текст: Поддержи любимый блог – отключи AdBlock. При желании, Вы можете поэкспериментировать с оформлением, а в качестве примера, предложенного, будет вполне достаточно.

На этом у меня всё. Спасибо за внимание. Удачи!

Короткая ссылка: http://goo.gl/RfZ06T