PHP识别Robot(Spider,机器人,搜索引擎)函数

最近有想做一些有趣的网站的想法,但由于时间不充足,只是光想,没有去做,但部分所需的函数还是利用课余时间想好了,也顺便分享出来,方便大家使用。

很多Web2.0网站采用了AJAX构造,这样对搜索引擎不是很友好,这里就提供一个识别各个搜索引擎的函数,在判断是搜索引擎后转入专门为搜索引擎提供的页面,方便搜索引擎收录。

  1. function is_bot(){
  2.     $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
  3.     $botchar = "/(bot|crawl|spider|slurp|yahoo|sohu-search|lycos|robozilla)/i";
  4.     if(preg_match($botchar, $ua)) {
  5.         return true;
  6.     }else{
  7.         return false;
  8.     }
  9. }

这是利用了搜索引擎的USER_AGENT进行判断,像Google的UA为GoogleBot,百度的为Baiduspider,基本上所有的搜索引擎都会增加这些字符以表明Robot的身份。

  1. if(is_bot()){
  2.     readfile('for-robot.html');
  3. }else{
  4.     include('index2.php');
  5. }

在使用时,判断是否机器人进行不同操作。

该文章发布在 Free Talk,标签:, , , , 。收藏该永久链接

有 5 条《PHP识别Robot(Spider,机器人,搜索引擎)函数》的回复

  1. wei 说到:

    交换友情链接
    追求幸福
    http://www.aiivs.com

  2. Yacca 说到:

    我有朋友禁止机器人来-.-