如何禁止网站被搜索引擎收录?
1、什么是robots.txt文件?
搜索引擎spider蜘蛛程序抓取网站页面的时候,首先抓取检查该网站根目录下的robots.txt文件,该文件指定了搜索蜘蛛可以抓取网站哪些目录页面,建议任意一个网站都创建一个robots.txt文件,在该文件中指定搜索蜘蛛可以抓取哪些页面及不可以抓取哪些页面。
注意,建立robots.txt文件是希望网站有些页面不被搜索引擎抓取,如果网站所有页面都可以被搜索引擎蜘蛛抓取,则不需要建立robots.txt文件。
2、robots.txt文件放在哪里?
robots.txt文件必须放在网站根目录下,例如,当搜索引擎spider蜘蛛程序访问某个网站时,首先检查的是网站根目录下的robots.txt文件,如果找到了robots.txt文件,则按照这个文件规则抓取网站页面,如果网站根目录下不存在robots.txt文件,则搜索引擎spider蜘蛛认为全站页面都可以抓取。
网站 URL | 相应的 robots.txt的 URL |
http://www。w3。org/ | http://www。w3。org/robots.txt |
http://www。w3。org:80/ | http://www。w3。org:80/robots.txt |
http://www。w3。org:1234/ | http://www。w3。org:1234/robots.txt |
http://w3。org/ | http://w3。org/robots.txt |
3、robots.txt文件中设置了禁止百度搜索抓取的网站页面,为什么还是被百度搜索蜘蛛抓取了,还出现在了搜索结果中?
robots.txt文件中设置了禁止百度搜索蜘蛛抓取的页面,虽然仍然有可能被抓取并显示在搜索结果中,但是该网页内容不会被抓取、索引和显示,百度搜索展示的搜索结果仅是该网站页面的描述内容。
4、禁止搜索蜘蛛跟踪此链接,只对其建立索引
如果想禁止搜索引擎跟踪此网页上的链接,而且不传递链接权重,可以将下面这个标签加入网页代码中:
<meta name=”robots” content=”nofollow”>
如果想禁止百度搜索跟踪某条特定链接,可以将以下这个标记加入到URL超链接代码中:
<a href=”123.php” rel=”nofollow”>sign in</a>
想要其它搜索引擎跟踪此网页链接,但需要禁止百度搜索跟踪此链接,可将以下这个标记加入到网页代码中:
<meta name=”Baiduspider” content=”nofollow”>
5、想要禁止搜索引擎在搜索结果中显示网页快照,只对其进行索引,可进行如下操作
想要禁止所有搜索引擎显示网页快照内容,可将以下这个标记加入网页头部代码中:
<meta name=”robots” content=”noarchive”>
允许所有搜索引擎显示网页快照内容,但仅禁止百度搜索显示网页快照内容,可使用以下标记:
<meta name=”Baiduspider” content=”noarchive”>
注意:此标记只禁止百度搜索显示网页快照内容,但百度搜索会继续为网页建立索引数据,并显示网页摘要描述内容。
6、禁止百度图片蜘蛛收录网页图片,可进行如下设置
禁止百度图片蜘蛛抓取网页图片,禁止或只允许百度Baiduspider图片蜘蛛抓取某种特定格式的图片,可以通过robots文件进行设置,参考第8条中的例10、11、12。
7、robots.txt文件格式
“robots.txt”文件可以是一条或多条记录,每一条记录格式如下所示:
<field>:<optional space><value><optional space>
在robots.txt文件中用#进行注解,以User-agent开始,后面再加上Disallow和Allow标签,详细如下所示:
User-agent:
该项的值用于描述搜索蜘蛛的robot的名字。在”robots.txt”文件中,如果有多条User-agent记录说明有多个robot会受到”robots.txt”的限制,对于该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则表示对所有搜索引擎都有效,代表所有搜索引擎都可以抓取该网站页面, 在”robots.txt”文件中,”User-agent:*”只允许一条。如果在”robots.txt”文件中,加入”User- agent:SomeBot”和若干Disallow、Allow行,那么名为”SomeBot”的搜索蜘蛛,只受到”User-agent:SomeBot”后面的Disallow和Allow规则的限制。
Disallow:
该项的值表示不希望被搜索引擎抓取的网站页面,这个值可是一条完整路径,也可以是路径的非空前缀,以Disallow开头的URL是不会被搜索引擎抓取的,例如”Disallow:/help”,是禁止搜索引擎蜘蛛抓取/help.html、/helpabc.html、/help /index.html,而”Disallow:/help/”,表示允许搜索引擎蜘蛛抓取/help.html、/helpabc.html,禁止搜索引擎蜘蛛抓取/help/index.html,”Disallow:”后面不加任符号,则表示允许robot访问该网站上所有url同站页面,在”/robots.txt”文件中,至少要存在一条Disallow记录,如果”robots.txt”文件不存在或者为空,则表示允许所有搜索引擎抓取访网站上的所有页面。
Allow:
该项的值是允许被搜索引擎蜘蛛抓取的网站页面,与Disallow正好相反,该项的值也可以是一条完整路径,也可以是某个路径的前缀,以Allow开头URL是允许被搜索引擎抓取的,例如”Allow:/hibaidu”,代表允许robot访问/hibaidu.htm、/hibaiducom.html、 /hibaidu/com.html。
网站所有页面默认都是Allow,因此Allow通常都是与Disallow搭配使用,实现允许搜索蜘蛛访问部分网页,同时也禁止搜索蜘蛛访问其它页面。
使用”*”and”$”:
Baiduspider支持使用通配符”*”和”$”来模糊匹配url。
“$” 匹配行结束符。
“*” 匹配0或多个任意字符。
注意:虽然大多数搜索引擎平台都会遵守robots协议,但也要注意区分被抓取或收录目录的大小写,只要robots文件书写没有错误,百度搜索蜘蛛都会对robots文件进行精准匹配。
8、URL匹配举例
Allow或Disallow的值 | URL | 匹配结果 |
/tmp | /tmp | yes |
/tmp | /tmp.html | yes |
/tmp | /tmp/a.html | yes |
/tmp | /tmphoho | no |
/Hello* | /Hello.html | yes |
/He*lo | /Hello,lolo | yes |
/Heap*lo | /Hello,lolo | no |
html$ | /tmpa.html | yes |
/a.html$ | /a.html | yes |
htm$ | /a.html | no |
9、robots.txt文件用法举例
例1. 禁止所有搜索引擎访问网站的任何部分 | User-agent: * Disallow: / |
例2. 允许所有的robot访问 (或者也可以建一个空文件 “/robots.txt”) |
User-agent: * Allow: / |
例3. 仅禁止Baiduspider访问您的网站 | User-agent: Baiduspider Disallow: / |
例4. 仅允许Baiduspider访问您的网站 | User-agent: Baiduspider Allow: /User-agent: * Disallow: / |
例5. 仅允许Baiduspider以及Googlebot访问 | User-agent: Baiduspider Allow: /User-agent: Googlebot Allow: /User-agent: * Disallow: / |
例6. 禁止spider访问特定目录 在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 “Disallow: /cgi-bin/ /tmp/”。 |
User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例7. 允许访问特定目录中的部分url | User-agent: * Allow: /cgi-bin/see Allow: /tmp/hi Allow: /~joe/look Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例8. 使用”*”限制访问url 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。 |
User-agent: * Disallow: /cgi-bin/*.htm |
例9. 使用”$”限制访问url 仅允许访问以”.htm”为后缀的URL。 |
User-agent: * Allow: /*.htm$ Disallow: / |
例10. 禁止访问网站中所有的动态页面 | User-agent: * Disallow: /*?* |
例11. 禁止Baiduspider抓取网站上所有图片 仅允许抓取网页,禁止抓取任何图片。 |
User-agent: Baiduspider Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.gif$ Disallow: /*.png$ Disallow: /*.bmp$ |
例12. 仅允许Baiduspider抓取网页和.gif格式图片 允许抓取网页和gif格式图片,不允许抓取其他格式图片 |
User-agent: Baiduspider Allow: /*.gif$ Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.png$ Disallow: /*.bmp$ |
例13. 仅禁止Baiduspider抓取.jpg格式图片 | User-agent: Baiduspider Disallow: /*.jpg$ |
10、robots.txt文件参考资料
网站robots.txt文件具体设置,可参考以下链接:
1、Web Server Administrator’s Guide to the Robots Exclusion Protocol
2、HTML Author’s Guide to the Robots Exclusion Protocol
3、The original 1994 protocol description, as currently deployed
4、The revised Internet-Draft specification, which is not yet completed or implemented