Мой веб-сайт считает количество посетителей на определенных страницах. Я заметил, что Google и другие боты «щелкают» по моему сайту как сумасшедшие, и некоторые страницы получают нереалистичное количество просмотров (по сравнению с теми, что созданы людьми).
Я прошу лучшую практику, чтобы исключить этих ботов из моих просмотров. Очевидно, что простой «пользовательский агент», содержащий «бота», этого не сделает.
Я не думаю, что есть решение для проверки пули, и оно мне не нужно.
Примечание: я использую PHP + MySQL.
php
mysql
web-crawlers
best-practices
Eisberg
источник
источник
Ответы:
Я рад, что вы знаете, что не будет пуленепробиваемого способа сделать это. Это означает, что ваш взгляд по крайней мере реалистичен.
Поскольку JavaScript не вариант, я бы сказал, что у вас осталось:
Проверьте пользовательский агент на слово «бот» в нем. Это поймает большинство из них.
Составьте список известных ботов и отфильтруйте их по уникальному идентификатору, возможно, по их пользовательскому агенту.
Поместите в нижний колонтитул вашего сайта скрытую ссылку, которая ссылается на страницу, на которой собраны пользовательские агенты и / или IP-адреса. Пользователи этого не увидят, а боты увидят. Так что любой, кто посещает эту страницу, будет ботом. Запишите их, а затем заблокируйте их от вашей статистики.
источник
Есть три довольно простых способа:
ОБНОВЛЕНИЕ: Googlebot и некоторые крупные боты в настоящее время используют JavaScript. Таким образом, использование только варианта 2 больше не жизнеспособно. Однако это означает, что использование его в сочетании с # 3 должно быть достаточно надежным, поскольку вы можете легко исключить большинство ботов с помощью JS, а на стороне сервера исключить основных ботов, таких как Googlebot, которые запускают JS.
Также, как упоминалось в комментариях, вы можете попробовать использовать API Google Analytics для отображения просмотров для каждой страницы.
источник
Если вы используете Javascript для подсчета просмотров, большинство ботов не будут его запускать и не будут включены в ваши подсчеты. Этот ответ может быть близок к тому, что вы хотите /programming/1973448/how-can-i-count-a-page-views
источник
Мой подход включает в себя два прохода:
Mozilla|Opera|PSP|Bunjalloo|wii
. Благодаря подмене пользовательского агента эту проверку обнаружат практически все браузерыbot|crawl|slurp|spider
Поэтому, если первый шаг пройден, мы предполагаем, что это браузер, и за ним стоит настоящий посетитель. Однако, как я выяснил, некоторые боты притворяются
Mozilla
совместимыми и запускают с них строку своего пользовательского агента. Вот почему второй проход может пригодиться и устранить их.источник
Я использую только простое исключение парсинга агента пользователя. Это избавляет от 99% ботов, заходящих на мои страницы.
источник
Вы можете использовать изображение в качестве счетчика, в этом случае оно не будет считать ботов, а имя страницы передается как запрос с именем изображения.
Я использую это в img.php, который обновляет просмотр страницы в базе данных:
источник