zoukankan      html  css  js  c++  java
  • robot.txt的规则以及写法

    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:/SEO” 禁止robot访问/SEO.html、 /seoabc.html、/seoindex.html,而”Disallow:/SEO/” 则允许robot访问/seo.html、/seoabc.html,不能访问/seop/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的功能。

    需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问 某个URL。

    下面介绍下使用”*”和”$”:
    使用统配符和模糊匹配,笔者只了解baidu是支持得使用通配符”*”和”$”来模糊匹配url。

       “$” 匹配行结束符。
       “*” 匹配0或多个任意字符。
    禁止所有搜索引擎访问网站的任何部分

    User-agent: *
    Disallow: /

    禁止所有搜索引擎访问网站的几个部分(下例中的01、02、03目录)

    User-agent: *
    Disallow: /01/
    Disallow: /02/
    Disallow: /03/

    禁止某个搜索引擎的访问(下例中的BadBot)

    User-agent: BadBot
    Disallow: /

    只允许某个搜索引擎的访问(下例中的Crawler)

    User-agent: Crawler
    Disallow:

    User-agent: *
    Disallow: /

    URL匹配举例
    Allow或Disallow的值 URL 匹配结果
    /tmp /tmp yes
    /tmp /tmp.html yes
    /tmp /tmp/a.html yes
    /tmp/ /tmp no
    /tmp/ /tmphoho no
    /tmp/ /tmp/a.html yes
    /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
    robots.txt文件用法举例
    例1. 禁止所有搜索引擎访问网站的任何部分
    User-agent: *
    Disallow: /
    例2. 允许所有的robot访问
    (或者也可以建一个空文件 “/robots.txt”)
    User-agent: *
    Disallow:
    或者
    User-agent: *
    Allow: /
    例3. 仅禁止baiduspider访问您的网站

    User-agent: baiduspider
    Disallow: /
    例4. 仅允许baiduspider访问您的网站

    User-agent: baiduspider
    Disallow:

    User-agent: *
    Disallow: /
    例5.禁止spider访问特定目录
    在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 “Disallow: /cgi-bin/ /tmp/”。

    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /tmp/
    Disallow: /~joe/
    例6. 允许访问特定目录中的部分url
    User-agent: *
    Allow: /cgi-bin/see
    Allow: /tmp/hi
    Allow: /~joe/look
    Disallow: /cgi-bin/
    Disallow: /tmp/
    Disallow: /~joe/
    例7. 使用”*”限制访问url
       禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。
    User-agent: *
    Disallow: /cgi-bin/*.htm

    例8. 使用”$”限制访问url
       仅允许访问以”.htm”为后缀的URL。 User-agent: *
    Allow: .htm$
    Disallow: /
    例9. 禁止访问网站中所有的动态页面
    User-agent: *
    Disallow: /*?*
    另外我们这里介绍下robots 一些meta写法.
    meta就是写在HTML head 里面的,相对robots.txt来讲功能比他弱多了
    Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。

    Robots META标签的写法:

    Robots META标签中没有大小写之分,name=”Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=”BaiduSpider”。 content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。

    INDEX 指令告诉搜索机器人抓取该页面;

    FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;

    Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。

    这样,一共有四种组合:

    <META NAME=”ROBOTS” CONTENT=”INDEX,FOLLOW”>
    <META NAME=”ROBOTS” CONTENT=”NOINDEX,FOLLOW”>
    <META NAME=”ROBOTS” CONTENT=”INDEX,NOFOLLOW”>
    <META NAME=”ROBOTS” CONTENT=”NOINDEX,NOFOLLOW”>

    其中

    <META NAME=”ROBOTS” CONTENT=”INDEX,FOLLOW”>可以写成<META NAME=”ROBOTS” CONTENT=”ALL”>;

    <META NAME=”ROBOTS” CONTENT=”NOINDEX,NOFOLLOW”>可以写成<META NAME=”ROBOTS” CONTENT=”NONE”>

    目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令“archive”,可以 限制GOOGLE是否保留网页快照。例如:

    <META NAME=”googlebot” CONTENT=”index,follow,noarchive”>

  • 相关阅读:
    REBOOT Reload 可安装在优盘的 Windows 和 DOS 启动盘
    给博客添加框架固定式背景音乐
    假期太长,很无聊
    CISCO NAT 配置
    网络地址转换全面通
    [转]drupal用程序创建node的方法
    drupal文件上传表单的例子
    drupal6重建menu遇到的问题
    运行效率与开发效率的随想
    joomla jSeblod的研究
  • 原文地址:https://www.cnblogs.com/buffer/p/1803283.html
Copyright © 2011-2022 走看看