北京云无限 > SEO优化

什么是网站robots.txt?我们应该怎么做好robots文件?

2019/11/8 16:28:56 来源:本站原创

  对于网站文件除了一般的网页内容之外,还有sitemap和robots文件。这两个文件比较特殊,上次我们已经介绍了sitemap的的相关内容,这次我们一起来看一下什么是网站robots.txt?我们应该怎么做好robots文件? 

  一、什么是网站robots.txt?

  robots.txt是一个纯文本文件,是爬虫抓取网站的时候要查看的第一个文件,一般位于网站的根目录下。robots.txt文件定义了爬虫在爬取该网站时存在的限制,哪些部分爬虫可以爬取,哪些不可以爬取(防君子不防小人),也限制了某些搜索引擎爬虫的爬取。

  二、什么时候使用robots.txt文件?

  1、屏蔽网站重复页

  有些网站为了方便用户浏览而对一个内容提供多种浏览版本,但是蜘蛛分不清哪个是主,哪个是次,因此需要屏蔽网站重复页。

  2、保护网站安全

  一些低级黑客就是通过搜索默认后台登陆,以达到入侵网站的目标。

  User-agent: *

  Disallow: /admin/ 《禁止蜘蛛抓取admin目录下所有文件》

  3、防止盗链

  一般盗链也就几个人,可是一旦被搜索引擎“盗链”那你100M宽带也吃不消,如果你做的不是图片网站,又不想被搜索引擎“盗链”你的网站图片。

  User-agent: *

  Disallow: .jpg$

  4、提交网站地图

  现在做优化的都知道做网站地图了,可是却没几个会提交的,绝大多数人是干脆在网页上加个链接,其实robots是支持这个功能的。

  Sitemap:http://域名/sitemap.xml

  5、禁止某二级域名的抓取

  一些网站会对VIP会员提供一些特殊服务,却又不想这个服务被搜索引擎检索到。

  User-agent: *

  Disallow: /

  网站robots.txt

  三、怎么对网站的robots.txt进行设置?

  robots.txt的几个关键语法:

  1、User-agent: 描述搜索引擎spider的名字。在“robots.txt“文件中,如果有多条 User-agent记录,说明有多个robot会受到该协议的约束。所以,“robots.txt”文件中至少要有一条User- agent记录。如果该项的值设为*(通配符),则该协议对任何搜索引擎机器人均有效。在“robots.txt”文件 中,“User-agent:*”这样的记录只能有一条。

  2、Disallow: 要拦截的网址,不允许机器人访问。

  3、Allow: 允许访问的网址

  4、”*” : 通配符—匹配0或多个任意字符。

  5、”$” : 匹配行结束符。

  6、”#” : 注释—说明性的文字,不写也可。

  7、Googlebot: 谷歌搜索机器人(也叫搜索蜘蛛)。

  8、Baiduspider: 百度搜索机器人(也叫搜索蜘蛛)。

  9、目录、网址的写法:都以以正斜线 (/) 开头。

  四、一些robots.txt的具体用法!

  1、允许所有的robot访问

  User-agent: *

  Disallow:

  或者

  User-agent: *

  Allow: /

  或者建一个空文件”robots.txt”即可。

  2、仅禁止某个机器人访问您的网站,如Baiduspider。

  User-agent: Baiduspider

  Disallow: /

  3、仅允许某个机器人访问您的网站,如Baiduspider。

  User-agent: Baiduspider

  Disallow:

  User-agent: *

  Disallow: /

  4、禁止访问特定目录

  User-agent: *

  Disallow: /admin/

  Disallow: /css/

  Disallow:

  5、要拦截对所有包含问号 (?) 的网址的访问(具体地说,这种网址以您的域名开头、后接任意字符串,然后接问号,而后又接任意字符串),请使用以下内容:

  User-agent: *

  Disallow: /*?

  网站robots.txt

  要指定与某个网址的结尾字符相匹配,请使用 $。例如,要拦截以 .xls 结尾的所有网址,请使用以下内容:

  User-agent: *

  Disallow: /*.xls$

  您可将此模式匹配与 Allow 指令配合使用。例如,如果 ? 代表一个会话 ID,那么您可能希望排除包含 ? 的所有网址,以确保 Googlebot 不会抓取重复网页。但是以 ? 结尾的网址可能是您希望包含在内的网页的版本。在此情况下,您可以对您的 robots.txt 文件进行如下设置:

  User-agent: *

  Allow: /*?$

  Disallow: /*?

  Disallow: /*? 指令会阻止包含 ? 的所有网址(具体地说,它将拦截所有以您的域名开头、后接任意字符串,然后接问号,而后又接任意字符串的网址)。

  Allow: /*?$ 指令将允许以 ? 结尾的任何网址(具体地说,它将允许所有以您的域名开头、后接任意字符串,然后接 ?,? 之后不接任何字符的网址)。

  当然我们可以根据知名网站的robots.txt文件来修改而成,也可以使用爱站等工具按照自己的要求生成robots.txt文件。文件上传后要验证robots是否生效,在百度站长Robots里面点击检测更新,这样就可以让它生效了!

推荐文章