Поиск

Скрипт для защиты сайта от ботов версия 2.0

03 Ноября 2021

Обновлённый скрипт для защиты сайта от ботов. Как и раньше, его главная задача — скрыть счётчики Яндекс.Метрики и Google Analytics от бототрафика, только теперь он это делает на чистом JS, поэтому не требует подключения тяжёлых библиотек. Скрипт уже стоит на множестве сайтов пользователей, ежедневно чистит им статистику.

Как работает скрипт?

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

Если произойдёт какое-либо взаимодействие с окном (клик по кнопке «Принять» или «Закрыть»), то выполнится отложенная загрузка счётчиков Яндекс.Метрики и Google Analytics. А если никакого взаимодействия с окном не будет, значит с большой долей вероятности это робот и коды систем аналитики от него будут скрыты.

Важно! Не используйте всплывающее окно для показа рекламы, перенаправления на другую страницу или на другой сайт.

Как установить скрипт для защиты от ботов на сайт?

1. Загрузите в корневую папку сайта файл стилей welcome-pt.css, подключите его в конце секции head:

<link rel="stylesheet" href="/welcome-pt.css">

2. Загрузите в корневую папку сайта файл скрипта pts.lazyload.js, подключите его в конце тега body:

<div class="before-footer-scripts-place"></div>

<div class="welcome-pt-modal">
    <div class="welcome-pt-overlay">
        <div class="site-popup-inner welcome-pt-message">
            <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">
                    <div class="site-form-button">
                        <a href="#" class="welcome-pt-close">Продолжить</a>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>

<script src="/pts.lazyload.js"></script>
<script>
    document.addEventListener('DOMContentLoaded', 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',
        };
        let LazyLoad = new ptsLazyLoad(dataLazyLoadingJS, dataSettings);
        LazyLoad.simpleCheck(1);
});
</script>

3. Получите коды счётчиков Яндекс.Метрики и Google Analytics, вставьте их в скрипт:

ya_counter: {
    status: false,
    html: '<script type="text/javascript">(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window,document,"script","https://mc.yandex.ru/metrika/tag.js","ym");ym(123456789,"init",{clickmap:true,trackLinks:true,accurateTrackBounce:true, webvisor:true }); <\/script><noscript><div><img src="https://mc.yandex.ru/watch/123456789" style="position:absolute; left:-9999px;" alt="" \/><\/div><\/noscript>',
    area: '.before-footer-scripts-place'
},
ga_counter: {
    status: false,
    html: `<script async src="https://www.googletagmanager.com/gtag/js?id=123456789"><\/script><script>function getCid(){var match=document.cookie.match('(?:^|;)\\\\s*_ga=([^;]*)');var raw=(match)?decodeURIComponent(match[1]):null;if(raw)match=raw.match(/(\\d+\\.\\d+)$/);var gacid=(match)?match[1]:null;return gacid?gacid:false;}<\/script>`,
    area: '.before-footer-scripts-place'
}

Важно! Перед вставкой выполните экранирование слэша, т.е. замените в кодах счётчиков «</script>» на «<\/script>», «alt="" />» на «alt="" \/>», «</div>» на «<\/div>», «</noscript>» на «<\/noscript>» и другие «\» на «\\».

Как проверить скрипт?

1. Откройте консоль в браузере (клавиша F12).

2. Зайдите на сайт, вы должны увидеть всплывающее окно, а в консоли на вкладке «Network — JS» загрузку скрипта «pts.lazyload.js» со статусом 200.

3. Кликните на кнопку «Продолжить», окно должно исчезнуть, а в консоли на вкладке «Network — JS» вы должны увидеть загрузку счётчиков Яндекс.Метрики (файл «tag.js») и Google Analytics (файл «js») со статусами 200.

Важно! Статус счётчика в Яндекс.Метрике может быть «Не найден», пугаться не стоит, если скрипт установлен правильно, то данные будут поступать в полном объёме.

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

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

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

Рейтинг статьи:

По оценкам 51 пользователей

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

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

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

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

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

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