做SEO不得不知道的robots文件

2013-08-11    分类: 网站建设

  robots这个词对每一位做SEO优化的人来说都不陌生,但是你知道了解全部有关robots文件的知识了吗?不妨来看看创新互联SEO专家接下来要给大家介绍的robots文件潜规则。

做SEO不得不知道的robots文件

  有关robots文件潜规则:

  1、spider名字的大小写问题

  大多数搜索引擎的spider在读取user-agent值的时候都是忽略大小写,既Googlebot和googlebot应该都能被google识别。但是,我在学习淘宝seo的时候也发现,或许为了保险起见,淘宝的工作人员在自己的“/robots.txt”里面分别写了“user-agent: baiduspider”和“user-agent: baiduspider”两条。(参见:http://www.taobao.com/robots.txt)

  2、不允许出现多条user-agent的记录

  一份“/robots.txt”文档中不允许出现多条包含“user-agent: *”的记录(但允许没有此记录)。

  3、allow和disallow的顺序

  大部分情况下,想要兼容所有的机器人,就应当将allow指令放在disallow指令的前面,例如:

  Allow: /a/b.html

  Disallow: /a/

  这会阻止对”/a/”内除了”/a/b.html”以外一切内容的检索,因为后者是优先匹配成功的。虽然对于google和百度来说,先后顺序并不重要。但是不排除会导致其他搜索引擎出现抓取问题。

  4、allow与disallow的角力

  如果allow指令中的地址同disallow指令中的地址相比具有相同或更多字符(意味着allow指令所描述的地址更“深”、更“具体”)的话,虽然disallow指令也能匹配,但allow指令仍然会“获胜”(这样就达到开放子文件夹的目的了,同时没被allow的部分依然不会被检索)。

  举个例子吧(假设和顺序无关)

  Disallow:/a/b

  Allow:/a

  这样就是允许除b以外的所有a

  Disallow:/a

  Allow:/a/b

  这样就是禁止除b以外的所有a

  反斜杠“/”的意义

  反斜杠“/”表示禁止搜索引擎进入该目录。

  User-agent: spider

  Disallow: /a

  对这样的记录机器人该怎么反应?按照res标准,机器人会将名为“a”的文件和名为“a”的目录都disallow。当然,比较符合逻辑切清晰的写法是使用“/”来标识所声明的路径:

  Disallow: /a/

  注意不要忘记“a”前面的“/”

  根据“/”的意义,对于只允许某搜索引擎,有些robots.txt会这样写

  User-agent: Baiduspider

  Disallow:

  User-agent: *

  Disallow: /

  这样用百度的robots工具测试也是OK的,但从百度自家产品,百度知道的robots来看,更多的是写成

  User-agent: Baiduspider

  Allow: ?/

  User-agent: *

  Disallow: /

  我其实在想,或许“/”正确的表述应该是"进入该目录"的意思,要不然Allow: ?/就不好理解了

  在指示行末尾加注的问题

  在“/robots.txt”文件中,凡以“#”开头的行,均被视为注解内容,这和unix中的惯例是一样的。例如:

  Disallow: /cgi-bin/ # this bans robots from our cgi-bin

  尽量不要在一行的前面出现空格

  如“ disallow: /”《很多人非常不小心,空格就没了》

  Res标准并未对这种格式予以特别说明,但和上面一个问题一样,可能导致某些机器人无法正确解读。

  文件目录区分大小写(这个或许是困惑大多数人的)

  虽然res标准忽略大小写(case insensitive),但目录和文件名却是大小写敏感的。所以对于”user-agent”和”disallow”指令,用大小写都是可以的。但对于所声明的目录或文件名却一定要注意大小写的问题。例如:

  Disallow: /abc.htm

  会拦截“http://www.example.com/abc.htm”

  却会允许http://www.example.com/Abc.htm

  所以在IIS服务器可能出现的 诸多 大小写目录问题,可以通过此方法得到圆满解决。

  如果页面中包含了多个同类型meta标签,spider会累加内容取值

  对于下面两条语句来说:

  <meta name=”robots” content=”noindex” />

  <meta name=”robots” content=”nofollow” />

  搜索引擎将会理解成:

  <meta name=”robots” content=”noindex, nofollow” />

  当内容取值冲突的时候,google和百度等大多数搜索引擎会采纳限制性最强的参数

  例如,如果页面中包含如下meta标签:

  <meta name=”robots” content=”noindex” />

  <meta name=”robots” content=”index” />

  Spider会服从noindex的取值。

  如果你既用了robots.txt文件又用了robots meta标签

  当二者出现冲突,googlebot会服从其中限制较严的规则

  如果你在robots.txt中阻止了对一个页面的检索,googlebot永远不会爬到这个页面,因此也根本不会读到这个页面上的meta标签。 如果你在robots.txt里面允许了对一个页面的检索,却在meta标签中禁止了这一行为,googlebot会到达这个页面,在读到meta标签后终止进一步的检索行为。

  robots文件是我们跟搜索引擎对话的渠道,而且通过设置,我们能够告诉搜索引擎蜘蛛哪些可以抓取,哪些不可以抓取。

当前名称:做SEO不得不知道的robots文件
网页网址:https://www.cdcxhl.com/news10/2710.html

成都网站建设公司_创新互联,为您提供网站收录企业建站虚拟主机网站改版定制网站Google

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化