Bạn có thể đi theo một trong hai địa chỉ IP hoặc chuỗi 'User-Agent' mà bot hoặc trình duyệt web gửi cho bạn.
Khi Googlebot (hoặc hầu hết các robot hoạt động tốt khác) truy cập trang web của bạn, họ sẽ gửi cho bạn biến số $ _SERVER ['HTTP_USER_AGENT'] xác định chúng là gì. Một số ví dụ là:
Googlebot/2,1 (+ http://www.google.com/bot.html)
NutchCVS/0.8-dev (Nutch; http://lucene.apache.org/nutch/bot.html
Baiduspider + (+ http://www.baidu.com/search/spider_jp.html)
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/531.4 (KHTML, như Gecko)
Bạn có thể tìm thấy nhiều ví dụ khác tại các trang web này: link text link text
Sau đó, bạn có thể sử dụng PHP để kiểm tra các chuỗi tác nhân người dùng đó và xác định xem người dùng đó có phải là công cụ tìm kiếm hay không. Tôi sử dụng một cái gì đó như thường này:
$searchengines = array(
'Googlebot',
'Slurp',
'search.msn.com',
'nutch',
'simpy',
'bot',
'ASPSeek',
'crawler',
'msnbot',
'Libwww-perl',
'FAST',
'Baidu',
);
$is_se = false;
foreach ($searchengines as $searchengine){
if (!empty($_SERVER['HTTP_USER_AGENT']) and
false !== strpos(strtolower($_SERVER['HTTP_USER_AGENT']), strtolower($searchengine)))
{
$is_se = true;
break;
}
}
if ($is_se) { print('Its a search engine!'); }
Hãy nhớ rằng không có phương pháp phát hiện (Google Analytics hoặc thống kê một gói hay cách khác) sẽ là chính xác 100%. Một số trình duyệt web cho phép bạn đặt chuỗi tác nhân người dùng tùy chỉnh và một số trình thu thập dữ liệu web không đúng có thể không gửi chuỗi tác nhân người dùng. Tuy nhiên, phương pháp này có thể có hiệu quả đối với 95% + trình thu thập dữ liệu/khách truy cập.
Tôi nghĩ rằng điều này đang tìm kiếm .... – coderex