Поиск

Тот самый скрипт для скрытия Яндекс.Метрики и Google Analytics от ботов!

01 Апреля 2021

Скрипт для скрытия Яндекс.Метрики и 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])) {

Скачать скрипт «pts-lazyload»

Если наша разработка оказалась для вас полезной, вступите в группу ВКонтакте, чат Телеграм и канал Twitter, а также поддержите нас лайком, комментарием и репостом.

Узнайте, как увеличить SEO‑трафик сайта в 3+ раза?

Укажите домен вашего сайта, приоритетные регионы продвижения и получите самый
полный список точек взрывного роста трафика и заявок с вашего сайта

Выберите ваш сайт
 
укажите сайт, регион и близких вам конкурентов
Немного магии поисковой
оптимизации —
мы подготовим для вас не менее 25 персональных рекомендаций
Отслеживайте прогресс
 
и получайте регулярные советы, рост трафика и продаж

Задайте вопрос или оставьте комментарий

Инструменты доступны после быстрой регистрации

?
Прочитал и принимаю условия Оферты сервиса.