2011-02-03 64 views
1

我有一個簡單的PHP頁面瀏覽量計數器,並想知道如何能夠阻止蜘蛛和機器人被視爲具體視圖谷歌機器人?PHP的頁面瀏覽量計數器和谷歌機器人的問題

+0

不要阻止你編寫自己的腳本,但如果你正在尋找一個櫃檯,Google Analytics是一個非常強大的工具。如果您想自己創建一個,請忽略此操作。 – user183037 2011-02-03 06:14:52

+0

可能的重複[告訴機器人與人類訪問者分開?](http://stackoverflow.com/questions/1717049/tell-bots-apart-from-human-visitors-for-stats) – Quentin 2011-02-03 07:06:11

回答

0

一個簡單的方法是實施pagecounter作爲圖像腳本:

<img src="counter.php" width="1" height="1" alt="Oh I'm just counting"> 

和標記網址爲無法訪問到蜘蛛/爬蟲通過robots.txt,在那裏你既可以使用*所有,或只是Googlebot排除它:

User-agent: * 
Disallow: /counter.php 

另一種方法是在腳本只是檢查stristr($_SERVER["HTTP_USER_AGENT", "Googlebot"),根本達不到櫃檯即可。

# Spiders list from http://linksku.com 
$spiders = array('aspseek','abachobot','accoona','acoirobot','adsbot','alexa','alta vista','altavista','ask jeeves','baidu','crawler','croccrawler','dumbot','estyle','exabot','fast-enterprise','fast-webcrawler','francis','geonabot','gigabot','google','heise','heritrix','ibm','iccrawler','idbot','ichiro','lycos','msn','msrbot','majestic-12','metager','ng-search','nutch','omniexplorer','psbot','rambler','seosearch','scooter','scrubby','seekport','sensis','seoma','snappy','steeler','synoo','telekom','turnitinbot','voyager','wisenut','yacy','yahoo'); 
foreach($spiders as $spider) if(stripos($_SERVER['HTTP_USER_AGENT'], $spider) !== false) { 
    $_SERVER['HTTP_CRAWLER'] = true; 
    break; 
} 
if(!isset($_SERVER['HTTP_CRAWLER'])) $_SERVER['HTTP_CRAWLER'] = false; 

然後,你可以檢查$_SERVER['HTTP_CRAWLER']值和計數命中阻止腳本:

1

我的網站上添加了此腳本。