Тот самый скрипт для скрытия Яндекс.Метрики и Google Analytics от ботов!
Представляем скрипт для отложенной загрузки кодов Яндекс.Метрики и Google Analytics, который мы пообещали на вебинаре «Что делать с нагуливанием профилей (cookie)? Мнения 7+ SEO-экспертов». Прежде чем выкладывать, он был протестирован на реальных проектах, в том числе на сайте Пиксель Тулс, где показал высокую эффективность чистки статистики от ботов.
Как работает данный скрипт?
Всем посетителям сайта без НУЖНОЙ cookie показывается всплывающее окно, которое можно обыграть как подтверждение об использовании на сайте cookie, выбор региона пользователя, подтверждение возраста, предложение акции или любой другой повод первичного обращения.
Важно! Не используйте окно для рекламы и перехода на другой сайт.
Если происходит нажатие на кнопку «Принять» или «Закрыть», выполняется отложенная загрузка кодов Яндекс.Метрики и Google Analytics. Если же никакого взаимодействия с окном не происходит, в этом случае коды систем аналитики не подгружаются.
Кейс «Пиксель Тулс»
Мы установили разработанный скрипт и всплывающее окно на проекте «Пиксель Тулс». Несколько данных из статистики по итогам наблюдений.
Фильтрация трафика с атрибуцией «Последний значимый переход»:
-
Прямые заходы: -49,2%.
-
Соц. сети: -22,1%.
Количество регистраций новых пользователей:
-
Без изменений.
Это, в первую очередь, говорит о том, что живые пользователи «легко справляются с задачей закрытия окна», а ботам это просто не требуется, так как код сайта отдаётся полностью и без проблем (кроме счётчиков).
Почему он лучше блокировки по IP?
-
Нулевой риск блокировки человека или поискового робота.
-
Отсутствие необходимости в постоянном контроле и изменении правил.
-
Не создаёт дополнительной нагрузки на сервер.
Как установить скрипт на сайт?
1. Подключите библиотеки JQuery v2+, JQuery cookie и FancyBox v2+ внутри секции head.
Пример:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.7/css/jquery.fancybox.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.7/js/jquery.fancybox.min.js"></script>
2. Подключите скрипт pts-lazyload, вставьте код всплывающего окна и его вызова перед закрывающимся тегом body.
Пример:
<div class="before-footer-scripts-place"></div>
<div class="site-row">
<div class="site-popup-inner welcome-pt-message" style="display: none;">
<form method="post" enctype="multipart/form-data" action="">
<div class="site-form-title">Добро пожаловать</div>
<div class="site-row">
<p class="site-form-text">Благодарим за посещение нашего ресурса.</p>
</div>
<div class="site-form-buttons site-form--center">
<div class="site-form-button">
<a href="javascript:void(0);" class="site-btn--submit green welcome-pt-message-btn" onclick="$.fancybox.close();">Продолжить</a>
</div>
</div>
</form>
</div>
</div>
<script src="/libs/pts.lazyload.js"></script>
<script>
var $ = jQuery.noConflict();
$(function() {
let dataLazyLoadingJS = {
data: {
ya_counter: {
status: false,
html: 'Код Яндекс.Метрики',
area: '.before-footer-scripts-place'
},
ga_counter: {
status: false,
html: 'Код Google Analytics',
area: '.before-footer-scripts-place'
}
}
};
let dataSettings = {
cookie_name: 'PST_VERIFIED_COOKIE',
fancybox: {
content: $('.welcome-pt-message'),
wrapCSS: 'site-scrollable-fancybox'
}
};
let LazyLoad = new ptsLazyLoad(dataLazyLoadingJS, dataSettings);
LazyLoad.simpleCheck(1)
});
</script>
* Не забудьте изменить путь к скрипту, содержимое всплывающего окна, а также коды Яндекс.Метрики и Google Analytics.
3. Если хотите, чтобы работал вебвизор, внесите в скрипт ряд изменений.
3.1 После 46 строки вставьте:
let referrerList = [
'http://webvisor.com/'
];
3.2 Замените строку:
let sBrowser = false, sUsrAg = navigator.userAgent;
на:
let sBrowser = false, sUsrAg = navigator.userAgent, referer = document.referrer;
3.3 Замените строку:
if (sUsrAg.indexOf(uaList[i]) > -1) {
на:
if (sUsrAg.indexOf(uaList[i]) > -1 || referer.indexOf(referrerList[i])) {
Если наша разработка оказалась для вас полезной, вступите в группу ВКонтакте, чат Телеграм и канал Twitter, а также поддержите нас лайком, комментарием и репостом.
Рейтинг статьи:
По оценкам 44 пользователей