一.robots.txt具体作用1.对搜索引擎做出规定,抓取或者不抓取。
2.由于有些信息规定了不让抓取,所以可以保护到一些必要的信息,比如:网站后台,用户信息。
3.节省搜索引擎抓取资源。
二.robots.txt规则1.User-agent,用于告诉识别蜘蛛类型。比如,User-agent: Baiduspider 就是指百度蜘蛛。
各类蜘蛛列举如下:
百度蜘蛛:Baiduspider
谷歌机器人:GoogleBot
360蜘蛛:360Spider
搜狗蜘蛛:Sogou News Spider
雅虎蜘蛛:“Yahoo! Slurp China” 或者 Yahoo!
有道蜘蛛:Youdaobot 或者 Yodaobot
Soso蜘蛛:Sosospider
2.Allow,允许蜘蛛抓取指定目录或文件,默认是允许抓取所有。
3.Disallow,不允许蜘蛛抓取指定目录或文件。
4.通配符,“*”,匹配0或多个任意字符。
5.终止符,“$”,可以匹配以指定字符结尾的字符。
举个例子:下面是一个wordpress程序的robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /*.js$
Disallow: /*?*
Sitemap: http://www.znbo.com/sitemap.xml
解释:
User-agent: *:对所有搜索引擎都使用下面的规则。
Disallow: /wp-admin/:不让蜘蛛抓取根目录下的wp-admin文件夹。
Disallow: /*.js$:不让蜘蛛抓取根目录下所有的js文件。
Disallow: /*?*:不抓取所有的动态链接。
Sitemap: http://www.znbo.com/sitemap.xml:给蜘蛛提供网站地图,方便蜘蛛抓取网站内容。
三.robots.txt注意事项1.如果你希望搜索引擎收录网站上所有的内容,那么就不要建立robots.txt文件。
2.如果同时存在动态和静态链接,那么建议屏蔽动态链接。
3.robots.txt只能是屏蔽站内文件的,对站外文件没有屏蔽功能。
4.User-agent,Allow,Disallow,Sitemap的首字母都是大写的。
5.User-agent,Allow,Disallow,Sitemap的冒号后面都是有空格的,没有写空格直接写接下来的内容会出错。
6.网站通常会屏蔽搜索结果页面。因为搜索结果页和正常展示的内容页相比,标题和内容上相同的,而这两个页面链接是不同的。那搜索引擎该将这篇文章归属于哪个内链呢?这样就会造成内链之间相互竞争,造成内部资源损耗。
比如上面举的例子,那个wordpress程序,在没有设置伪静态,还是动态链接的时候,搜索结果页面链接都包含有/?s=,而 标题和内容 与 正常展示的动态链接内容页重复,可以通过Disallow: /?=*来屏蔽搜索结果页面。
而现在那个wordpress程序已经设置了伪静态,也设置了Disallow: /*?*,Disallow: /*?*本身就包含了Disallow: /?=*,所以Disallow: /?=*这句写不写都没有关系
7.建议屏蔽js文件。Disallow: /*.js$,以 .js 结尾的路径统统被屏蔽,这样就屏蔽了js文件。
8.路径是区分大小写的。Disallow: /ab/ 和 Disallow: /Ab/ 是不一样的。
9.robots.txt会暴露网站相关目录,写robots.txt时要考虑到这一点。
10.有些seo会将文件直接备份在服务器中,文件是 .zip 格式,然后在robots.txt中屏蔽。个人不建议这样,这就是明显告诉人家你的备份文件位置。建议文件和数据都备份到本地。
11.一些特殊规则对比:
①Disallow: /和Disallow: / ab (/后面有个空格,再有ab)是一样的,/后面多了个空格,蜘蛛之认空格前面那一段,就是Disallow: /,所以两个都是屏蔽整站的。
②Disallow: /ab和Disallow: /ab*是一样的。比如两个都能屏蔽http://域名/ab,http://域名/abc,http://域名/abcd。
③Disallow: /ab/和Disallow: /ab是不一样的。很明显,Disallow: /ab范围更广,包含了Disallow: /ab/。因为Disallow: /ab/只能屏蔽http://域名/ab/,http://域名/ab/....这样的路径,也就是只能屏蔽ab目录和ab目录下的文件不被蜘蛛抓取。