Недавно у меня на одном из сайтов произошел большой наплыв ботов. Захотел посмотреть их ip адреса, чтобы определить подход для блокирования. Можно, конечно, узнать айпи из логов сайта. Но, оказывается, есть возможность добавить ip-адрес в отчеты Яндекс Метрики и смотреть информацию в более удобном формате.
Решение, предложенное здесь, работает для сайтов на PHP, хотя его несложно сделать универсальным, переписав получение IP
на js
.
Для реализации задачи нам нужно:
- дополнить код метрики;
- дополнить отчет.
Дополнения в код на сайте
Прежде всего нам нужно дополнить код метрики, чтобы она дополнительно передавала адреса посетителей сайта. Для этого перед основным кодом метрики на сайте вставляем следующий код:
1 2 3 4 |
<!-- записываем ip --> <script type="text/javascript"> var yaParams = {ipaddress: "<? echo $_SERVER['REMOTE_ADDR']; ?>"}; </script> |
Как видно, мы формируем параметр из пары значений: его названия — ipaddress
, и собственно значения через двоеточие.
Далее нужно вставить эту переменную в основной код метрики. Находим в нем следующий фрагмент:
1 2 3 4 5 6 |
ym(39897415, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); |
При этом число 39897415 (номер счетчика) у вас будет свой. И добавляем новый параметр. В данном примере он последний в списке.
1 2 3 4 5 6 7 |
ym(39897415, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true<span style="color: #ff0000;">,</span> <span style="color: #ff0000;">params:window.yaParams</span> }); |
Настройки в отчете
Далее идем в сервис (https://metrika.yandex.ru/), в раздел Вебвизор, и нажимаем там кнопку «Настроить столбцы». В появившемся интерфейсе отмечаем «Параметры визитов».
После этого заданные нами параметры (а именно ip-адреса) начнут отображаться в отчете вебвизора.
Чет не взлетело у меня на https://murmeo.com/
Код: https://i.imgur.com/S7u8mZa.jpg
В Вебвизоре: https://i.imgur.com/9k01tac.jpg
Не работает, вот что показывает вместо ip
ipaddress.