在我的文章<针对搜索引擎的统计程序>中,boyuan提出以下问题”
能否具体解释一下,如何实现通过蜘蛛名字判断哪些搜索引擎访问了网站呢。
比如说有一个搜索引擎爬虫的ip数据库,通过ip地址可以判断是哪个爬虫来访。
通过这个方法,还可以做到为搜索引擎爬虫呈现特制的页面,使爬虫能够访问到普通用户访问不到的内容。但这种方法也属于黑帽的一种,需要承担被发现惩罚的风险。
不过据我所知,NewYork Times(纽约时报)的官网用的就是这种方法来使搜索引擎可以抓取到所有新闻内容,而普通用户访问时,却需要登录。但google有一个白名单,多年来没有对他惩罚。现在看来,google的原则是只要这种技巧的目的不是恶意的,可以容忍,所以,类似这种需要登录访问的内容,也不妨一试。不知百度的政策是什么样的,具体说说啊。
”
第一个问题其实就是如何用程序来实现这个功能.如果你有耐心不怕麻烦完全可以阅读服务器的系统日志,上面详细记载了来访时,蜘蛛名字,蜘蛛地址,蜘蛛IP,访问页面等数据.但是用程序实现的话只需要蜘蛛名字和访问时间还有来访页面这些条件基本能实现所需要的功能.在php中$_SERVER['HTTP_USER_AGENT']函数可以获取到蜘蛛的名字,比如百度的蜘蛛是Baiduspider,谷歌的蜘蛛是Googlebot,MSN的蜘蛛是MSNbot.蜘蛛的地址有多个,每个分工是不同的,比如百度Baiduspider的地址http://www.baidu.com/search/spider.htm 负责搜索页面而Baiduspider-cpro是检查联盟广告.
第二种情况在谷歌网站中文管理员博客确实有提到过,但我真不知道百度如何处理这种情况.如果你的内容只提供给注册会员浏览,而搜索引擎又可以全部搜索,那么会员才可以浏览的内容是否在搜索结果中显示呢?类似<纽约时报>的媒体文章适合这种方法,因为在搜索结果中显示的是文章的部分摘要,但对纯靠文章内容收费的网站则希望搜索结果不要显示任何内容.通常的做法是对访问者和蜘蛛一视同仁,只将标题提供给蜘蛛索引.
Tags: 搜索引擎优化