Обнаружение хорошо себя / известных ботов - PullRequest
1 голос
/ 07 июня 2009

Мне показался этот вопрос очень интересным: Programmatic Bot Detection У меня очень похожий вопрос, но меня не беспокоят «плохо ведущие себя боты».

Я отслеживаю (в дополнение к Google Analytics) следующее посещение:

  • URL для входа
  • Referer
  • UserAgent
  • Adwords (посредством строки запроса)
  • Сделал ли пользователь покупку
  • и т.д.

Проблема в том, что для расчета любого типа коэффициента конверсии я получаю множество посещений "ботов", которые сильно искажают мои результаты.

Я бы хотел игнорировать как можно больше посещений ботов, но мне нужно решение, которое мне не нужно контролировать слишком близко, и которое само по себе не будет падением производительности и, желательно, все еще будет работать, если у кого-то есть JavaScript отключен.

Есть ли хорошие опубликованные списки 100 лучших ботов или около того? Я нашел список на http://www.user -agents.org / , но, похоже, он содержит сотни, если не тысячи ботов. Я не хочу проверять каждого реферира на тысячи ссылок.

Вот текущий пользовательский агент googlebot. Как часто это меняется?

 Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Ответы [ 2 ]

1 голос
/ 07 июня 2009

Вы можете попробовать импортировать базу данных Robots из robotstxt.org и использовать ее для фильтрации запросов от этих User-Agent. Может не сильно отличаться от User-agents.org, но, по крайней мере, список robotstxt.org представлен владельцем (предположительно).

Этот сайт также ссылается на botsvsbrowsers.com , хотя я не сразу вижу загружаемую версию их данных.

Кроме того, вы сказали

Я не хочу проверять каждого реферера на наличие тысяч ссылок.

, что достаточно справедливо, но если производительность во время выполнения является проблемой, просто «регистрируйте» каждый запрос и отфильтруйте их как пост-процесс (пакет за одну ночь или как часть запросов отчетности).

Этот момент меня тоже немного смущает

желательно все еще работать, если у кого-то отключен JavaScript.

вы пишете свой журнал на стороне сервера как часть каждой страницы, которую вы обслуживаете? В этом случае javascript не должен иметь никакого значения (хотя очевидно, что те, у кого отключен javascript, не будут получать отчеты через Google Analytics).

p.s. упомянув robotstxt.org, стоит помнить, что роботы с хорошим поведением будут запрашивать /robots.txt от корня вашего сайта. Возможно, вы могли бы использовать эти знания в своих интересах - регистрируя / уведомляя вас о возможных роботах-агентах пользователя, которых вы, возможно, захотите исключить (хотя я бы не стал автоматически исключать этот UA в случае, если обычный веб-пользователь вводит данные /robots.txt в их браузер, который может заставить ваш код игнорировать реальных людей). Я не думаю, что это приведет к чрезмерным затратам на техническое обслуживание со временем ...

0 голосов
/ 07 июня 2009

Я понял, что, вероятно, на самом деле проще сделать то, что я пытался сделать в точности.

т.е.

select count(*) as count, useragent from sessionvisit 
where useragent not like '%firefox%' 
and useragent not like '%chrome%'
and useragent not like '%safari%'
and useragent not like '%msie%'
and useragent not like '%gecko%'
and useragent not like '%opera%'
group by useragent order by count desc

Что я на самом деле пытаюсь сделать, так это получить точный коэффициент конверсии, и, кажется, имеет смысл включать хорошие браузеры вместо , исключая ботов (хорошо или плохо) .

Кроме того, если я когда-либо найду «сеанс», когда «робот» совершил покупку, это, вероятно, означает, что есть новый браузер (например, chrome). В настоящее время ни один из моих роботов не совершил покупку!

...