php 搜索引擎优化(方法:php判断搜索引擎蜘蛛爬虫还是人为访问代码,)

优采云 发布时间: 2021-12-03 09:13

  php 搜索引擎优化(方法:php判断搜索引擎蜘蛛爬虫还是人为访问代码,)

  1、推荐方法:PHP判断是搜索引擎蜘蛛爬虫还是人工访问码,摘自Discuz x3.2

  

$useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);

if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;

if(dstrpos($useragent, $kw_spiders)) return true;

return false;

}

function dstrpos($string, $arr, $returnvalue = false) {

if(empty($string)) return false;

foreach((array)$arr as $v) {

if(strpos($string, $v) !== false) {

$return = $returnvalue ? $v : true;

return $return;

}

}

return false;

}

if(checkrobot()){

echo '机器人爬虫';

}else{

echo '人';

}

?>

  实际应用中可以这样判断,不是搜索引擎直接执行操作

  2、第二种方法:

  使用PHP实现蜘蛛访问日志统计

  $useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));

if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';}

elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';}

elseif (strpos($useragent,'baiduspider') !== false){$bot = 'Baidu';}

elseif (strpos($useragent,'sogou spider') !== false){$bot = 'Sogou';}

elseif (strpos($useragent,'sogou web') !== false){$bot = 'Sogou web';}

elseif (strpos($useragent,'sosospider') !== false){$bot = 'SOSO';}

elseif (strpos($useragent,'360spider') !== false){$bot = '360Spider';}

elseif (strpos($useragent,'yahoo') !== false){$bot = 'Yahoo';}

elseif (strpos($useragent,'msn') !== false){$bot = 'MSN';}

elseif (strpos($useragent,'msnbot') !== false){$bot = 'msnbot';}

elseif (strpos($useragent,'sohu') !== false){$bot = 'Sohu';}

elseif (strpos($useragent,'yodaoBot') !== false){$bot = 'Yodao';}

elseif (strpos($useragent,'twiceler') !== false){$bot = 'Twiceler';}

elseif (strpos($useragent,'ia_archiver') !== false){$bot = 'Alexa_';}

elseif (strpos($useragent,'iaarchiver') !== false){$bot = 'Alexa';}

elseif (strpos($useragent,'slurp') !== false){$bot = '雅虎';}

elseif (strpos($useragent,'bot') !== false){$bot = '其它蜘蛛';}

if(isset($bot)){

$fp = @fopen('bot.txt','a');

fwrite($fp,date('Y-m-d H:i:s')."\t".$_SERVER["REMOTE_ADDR"]."\t".$bot."\t".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."\r\n");

fclose($fp);

}

  第三种方法:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线