2015-01-03 1 views
2

Я интегрирую keen.io с приложением Rails 3.2. Все работает отлично, за исключением, например, из 500 просмотренных страниц, 400 из Google используют другие движки, сканирующие сайт. Тем более, что мы будем платить за это мероприятие, я пытаюсь помешать Кину записывать эти не-пользовательские события. Есть ли простой способ проверить агент пользователя перед записью события?Использование Keen.io для создания панели аналитики - как предотвратить события, созданные Google, Bing bots

ответ

1

Звучит как разумное решение для меня.

Если вы хотите реализовать это поведение в глобальном масштабе, то в качестве промежуточного ПО Rack вы можете рассмотреть драгоценный камень, например fnando/browser. С первого взгляда он, как представляется, обладает возможностями обнаружения ботов, а также включенным промежуточным программным обеспечением.

+1

Спасибо, Джош. Я проверю драгоценный камень. Я несколько шокирован, что никто, похоже, не справился с этим. Мы используем Keen для создания панели мониторинга для наших клиентов, но если мы не можем эффективно исключать ботов, данные не так полезны. –

+1

Этот камень, кажется, работает отлично. Спасибо, Джош! –

+0

Замечательно слышать Дария! –

1

Я закончил тем, выполнив следующие действия в контроллере:

ботами = /GoogleBot | bingbot | CCBot | 008 | ABACHOBot | Accoona-AI-Agent | AddSugarSpiderBot | Arachmo | BlitzBOT | ... | ZyBorg/ , если request.env ["HTTP_USER_AGENT"]. Downcase.match (bots) , если user_signed_in? @user = current_user Keen.publish ...

Не уверен, что это лучший способ, но это, кажется, работает, чтобы показать события от реальных пользователей.