Как скрыть код метрики для посетителей без referrer (прямой заход)?
Ребя сразу прошу прощения, я не знаю кода..... И я честно пытался найти способы в пс
Вот у меня код метрики установленный на сайте:
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
код счетчика Яндекс Метрики
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/111111111" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Прошу подскажите, как его обернуть, чтобы он не показывался посетителям без рефера (с прямого захода)
Ответы (1 шт):
Решение для PHP:
<?php if (isset($_SERVER['HTTP_REFERER'])): ?>
<!-- Код метрики -->
<?php endif; ?>
Решение для JS:
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
if (document.referrer) {
// код счетчика Яндекс Метрики
}
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/111111111" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Решение для PHP будет более надежнее, чем для JS. Если у пользователя отключен JavaScript, то отсутствие рефера не повлияет на метрику - в этом случае будет срабатывать noscript. Вряд ли это хоть сколько то значимо, но упомянуть стоило.
Подозреваю, вы таким образом пытаетесь избавиться от ботов. Не смотря на предоставленные решения, лично я не рекомендую этого делать. Эти боты никуда не денутся, вы их просто не будете видеть и замечать, при этом они будут делать то, что задумали. Более того, отсутствие или наличие рефера никак не говорит о том, бот это или человек.