- Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
搜索引擎机器人访问网站时,首先会寻找站点根目录有没有 robots.txt文件,如果有这个文件就根据文件的内容确定收录范围,如果没有就按默认访问以及收录所有页面。另外,当搜索蜘蛛发现不存在robots.txt文件时,会产生一个404错误日志在服务器上,从而增加服务器的负担,因此为站点添加一个robots.txt文件还是很重要的。
知道Robots协议的作用后,下面具体说一下WordPress站点如何编写robots.txt文件。
WordPress站点默认在浏览器中输入:http://你的域名/robots.txt,会显示如下内容:
- User-agent: *
- Disallow: /wp-admin/
- Disallow: /wp-includes/
这是由WordPress自动生成的,意思是告诉搜索引擎不要抓取后台程序文件。
但这是远远不够的,比较完整的WordPress站点robots.txt文件内容如下:
- User-agent: *
- Disallow: /wp-admin/
- Disallow: /wp-content/
- Disallow: /wp-includes/
- Disallow: /*/comment-page-*
- Disallow: /*?replytocom=*
- Disallow: /category/*/page/
- Disallow: /tag/*/page/
- Disallow: /*/trackback
- Disallow: /feed
- Disallow: /*/feed
- Disallow: /comments/feed
- Disallow: /?s=*
- Disallow: /*/?s=*\
- Disallow: /*?*
- Disallow: /attachment/
使用方法:新建一个名称为robots.txt文本文件,将上面的内容放进去,然后上传到网站根目录即可。
下面分别解释一下各项的作用:
1、Disallow: /wp-admin/、Disallow: /wp-content/和Disallow: /wp-includes/
用于告诉搜索引擎不要抓取后台程序文件页面。
2、Disallow: /*/comment-page-*和Disallow: /*?replytocom=*
禁止搜索引擎抓取评论分页等相关链接。
3、Disallow: /category/*/page/和Disallow: /tag/*/page/
禁止搜索引擎抓取收录分类和标签的分页。
4、Disallow: /*/trackback
禁止搜索引擎抓取收录trackback等垃圾信息
5、Disallow: /feed、Disallow: /*/feed和Disallow: /comments/feed
禁止搜索引擎抓取收录feed链接,feed只用于订阅本站,与搜索引擎无关。
6、Disallow: /?s=*和Disallow: /*/?s=*\
禁止搜索引擎抓取站内搜索结果
7、Disallow: /*?*
禁止搜索抓取动态页面
8、Disallow: /attachment/
禁止搜索引擎抓取附件页面,比如毫无意义的图片附件页面。
原文:http://zmingcx.com/wordpress-robots.html
- 百度关于robots的说明
- robots.txt文件的格式
robots文件往往放置于根目录下,包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
"<field>:<optional space><value><optionalspace>"
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow和Allow行,详细情况如下:
User-agent:该项的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受到"robots.txt"的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效,在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。如果在"robots.txt"文件中,加入"User-agent:SomeBot"和若干Disallow、Allow行,那么名为"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。
Disallow:该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被 robot访问。例如"Disallow:/help"禁止robot访问/help.html、/helpabc.html、/help/index.html,而"Disallow:/help/"则允许robot访问/help.html、/helpabc.html,不能访问/help/index.html。"Disallow:"说明允许robot访问该网站的所有url,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"不存在或者为空文件,则对于所有的搜索引擎robot,该网站都是开放的。
Allow:该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL 是允许robot访问的。例如"Allow:/hibaidu"允许robot访问/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
使用"*"and"$":Baiduspider支持使用通配符"*"和"$"来模糊匹配url。
"*" 匹配0或多个任意字符
"$" 匹配行结束符。
最后需要说明的是:百度会严格遵守robots的相关协议,请注意区分您不想被抓取或收录的目录的大小写,百度会对robots中所写的文件和您不想被抓取和收录的目录做精确匹配,否则robots协议无法生效。