代码之家  ›  专栏  ›  技术社区  ›  faressoft

我怎么知道googlespider或其他spider是否访问了我的页面?

  •  2
  • faressoft  · 技术社区  · 15 年前

    我怎么知道googlespider或其他spider是否访问了我的页面?

    <?php
    
    if ("this is a spider") {
    header('Location: index.php');
    exit;
    }
    
    ?>
    
    4 回复  |  直到 12 年前
        1
  •  1
  •   tanjir    10 年前

    您可以查找全局变量的值:$_SERVER['HTTP_USER_AGENT']。对于google spider来说,这个值看起来像“Googlebot*”

    PHP的 get_browser 函数也很有用(检查返回的浏览器类型是否已知-如果不知道,则很可能是蜘蛛或爬虫程序)。

        2
  •  5
  •   Community Mohan Dere    9 年前

    你可以使用 USER_AGENT 用于识别大多数搜索引擎爬虫的标题,如中所述 this question .

    不过,要注意的是,你似乎要做的是一种技术——向爬虫呈现不同于人类访客的内容 also known as "cloaking" 搜索引擎也不怎么欢迎。

    据我所知,在谷歌,这可能会导致重罚,直至你的网站从索引中完全消失。

    我会让这是,并采用合法的搜索引擎优化代替。

        3
  •  1
  •   Vincent Savard Midhun    15 年前

    你必须检查用户代理。您可以查看这些页面以了解更多信息: http://fr.wikipedia.org/wiki/User-Agent#Robots
    http://www.user-agents.org/

    然后,您只需解析变量$_SERVER['HTTP_USER_AGENT']。

        4
  •  0
  •   GWW    15 年前

    虽然用户代理是googlebot的一个很好的标志,但更好的方法是使用 here (在检查用户代理之后)因为很容易伪造用户代理。功能 gethostbyaddr gethostbyname 会有好处的。