|
搜索引擎是把互联网上的网页内容存到自己的服务器上,当用户搜索某个词的时候,搜索引擎就会在自己的服务器上找相关的内容,这样就是说,只有保存在搜索引擎服务器上的网页才会被搜索到。哪些网页才能被保存到搜索引擎的服务器上呢?只有搜索引擎的网页抓取程序抓到的网页才会保存到搜索引擎的服务器上,这个网页抓取程序就是搜索引擎的蜘蛛 每个主流的搜索引擎都有自己的蜘蛛爬虫,例如: Googlebot(Google蜘蛛)、baiduspider(百度蜘蛛)、Yahoo Slurp(Yahoo蜘蛛)、Msnbot(MSN蜘蛛)、Scooter(Altavista蜘蛛)、Lycos_Spider_(T-Rex) 、FAST-WebCrawler(Alltheweb蜘蛛)、ia_archiver(alexa蜘蛛)Slurp(INKTOMI蜘蛛)等,如何避免网站被搜索引擎蜘蛛访问呢?可通过以下方法实现:
1、robots.txt 只需在你的网站根目录下建一个robots.txt文件,文件中输入:Disallow: 字符串即可,例如:Disallow:newsunday.html 意思是要求蜘蛛爬虫不要下载该文件,不收录,不索引。Disallow:/newsunday/ 意思是对newsunday文件夹中的所有文件不收录,不索引,不下载。如果你想看一个具体的例子,可以看一下Google robots.txt是什么样的。
2、rel=nofollow 这种不识别链接的搜索标签,可以告诉搜索引擎蜘蛛直接跳过而不索引。具体的介绍请见“如何做付费链接而不被Google惩罚”,对Google 、Yahoo 、MSN(Live search)有效,对百度无效。
3、利用代码来实现 这是本文重点介绍的,但首先声明不要将此种用法用于对搜索引擎作弊方面,不能将其用于违返搜索引擎相关规则、欺骗搜索引擎的用途上。代码实现的效果是,用户在浏览经过代码定义过的内容,正常显示,而搜索引擎蜘蛛抓取时会不显示用户浏览的内容,本文以百度蜘蛛为例: ASP$userAgent = Server.GetVariables("HTTP_USER_AGENT"); If Not InStr(LCASE($userAgent), "baiduspider") Then ‘用户正常浏览时所能见到的内容代码 Else ‘搜索引擎蜘蛛能看到的代码及链接 End If
PHP $userAgent = $_SERVER['HTTP_USER_AGENT']; if(stristr(strtolower($userAgent), 'baiduspider') === FALSE) { //用户正常浏览时所能见到的内容 //<!– 你的展示代码–> } else { //搜索引擎蜘蛛能看到的代码及链接}
JSP <%String userAgent = request.getHeader( "User-Agent" ); if(userAgent.toLowerCase().indexOf("baiduspider") != -1) { //用户正常浏览时所能见到的内容代码} else { //搜索引擎蜘蛛能看到的代码及链接}%>
JAVASCRIPT if(navigator.userAgent.toLowerCase().indexOf("baiduspider") <= -1) { //用户正常浏览时所能见到的内容} else { //搜索引擎蜘蛛能看到的代码及链接}
|