如何创建robots.txt文件

来源:互联网 发布:欧洲经济知乎 编辑:程序博客网 时间:2024/04/29 01:24

首先开门见山第一个问题:什么是robots.txt? 

    这是一个文本文件,是搜索引擎爬行网页要查看的第一个文件,你可以告诉搜索引擎哪些文件可以被查看,哪些禁止。
    当搜索机器人(也叫搜索蜘蛛)访问一个站点时,它首先会检查根目录是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
    可以看出,robots.txt是放在网站根目录的,另外而且文件名全部使用小写
    
    robots.txt基本语法
     
    我们先看一个简单的例子:http://www.seo0592.com/robots.txt
   
    # robots.txt file from http://www.seo0592.com
    # All robots will spider the domain

    User-agent: *
    Disallow: /

    这个是厦门SEO技术站点的一个例子,我们在说这四行是什么意思之前来先看看robots.txt的几个关键语法:
    a、User-agent: 应用下文规则的漫游器,比如Googlebot,Baiduspider等。
    b、Disallow: 要拦截的网址,不允许机器人访问。
    c、Allow: 允许访问的网址
    d、"*" : 通配符---匹配0或多个任意字符。
    e、"$" : 匹配行结束符。
    f、"#" : 注释---说明性的文字,不写也可。
    g、Googlebot: 谷歌搜索机器人(也叫搜索蜘蛛)。
    h、Baiduspider: 百度搜索机器人(也叫搜索蜘蛛)。
    i、目录、网址的写法:都以以正斜线 (/) 开头。
 
       Disallow:/
       Disallow:/images/
       Disallow:/admin/
       Disallow:/css/
       等等……
    由此可看:上面例子所表示的意思是禁止所有搜索引擎访问网站的任何部分。
   
    下面,我们列举一些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: /*script/

     5、允许访问特定目录中的部分url
            User-agent: *
            Allow: /admin/user/
            Allow: /data/d.html
            Disallow: /admin/
            Disallow: /data/

     6、使用"*"限制访问url
           User-agent: *
           Disallow: /upload/*.jspx
        禁止访问/upload/目录下的所有以".jspx"为后缀的URL(包含子目录)。

     7、使用"$"限制访问url
            User-agent: *
            Allow: .htm$
            Disallow: /
            仅允许访问以".htm"为后缀的URL。
 
     8、禁止访问网站中所有的动态页面
           User-agent: *
           Disallow: /*?*

     9、禁止Baiduspider抓取网站上所有图片
            User-agent: Baiduspider
            Disallow: .jpg$
            Disallow: .jpeg$
            Disallow: .gif$
            Disallow: .png$
            Disallow: .bmp$
    
     10、仅允许Baiduspider抓取网页和.gif格式图片
             User-agent: Baiduspider
             Allow: .gif$
             Disallow: .jpg$
             Disallow: .jpeg$ 
             Disallow: .png$
             Disallow: .bmp$
             允许抓取网页和gif格式图片,不允许抓取其他格式图片

         怎么样,例子也不难理解吧...   紧接着再来看下一个问题:

         robots.txt文件里还可以直接包括在sitemap文件的链接

                  就像这样:Sitemap: http://www.yourhost.com/sitemap.xml   

        但加上这句话时,请特别读下面这段话:

        目前对此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,显然不在这个圈子内。这样做的好处就是,站长不用到每个搜索引擎的站长工具或者相似的站长部分,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就会抓取robots.txt文件,读取其中的sitemap路径,接着抓取其中相链接的网页。
     
     注意:
      robots.txt的所有指令都区分大小写。例如:Disallow: /junk_file.asp 会拦截 http://www.example.com/junk_file.asp,却会允许 http://www.example.com/Junk_file.asp。一般与程序有关的都是区分大小写的,并且要以英文状态下编写。
     另:Googlebot 会忽略 robots.txt 中的空白内容(特别是空行)和未知指令。

     另外下面进行一些扩展知识,对robots与meta的关系进行一些介绍。
     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">

 表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照。

   最后再简单说说我们为何需要用robots.txt这个文件来告诉搜索机器人不要爬行我们的部分网页,比如:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。说到底了,这些页面或文件被搜索引擎收录了,用户也看不了,多数需要口令才能进入或是数据文件。既然这样,又让搜索机器人爬行的话,就浪费了服务器资源,增加了服务器的压力,因此我们可以用robots.txt告诉机器人集中注意力去收录我们的文章页面。增强用户体验。

再提醒广大建站朋友的是,在建站初期,并上服务器测试时,最好写一个robots.txt以禁止搜索引擎收录,以免造成不白之冤。建好后再放开怀抱,与搜索引擎攀上友好关系,共同服务于广大客户。

 篇幅短短,并不长。但包含网友所关心的:robots.txt、robots.txt文件、robots.txt问题、robots.txt 如何写、robots.txt技巧、robots.txt 怎么写、robots.txt 写法、robots.txt 具体用法等系列问题。相信,您要是从头一字不漏地看到这,并深刻理解再一结合上面的例子通过举一反三便可以写出适合自己网站的一个robots.txt。这样广大网友们就不必打开搜索引擎带着robots.txt相关问题到处乱窜了。

本文来自:http://www.seo0592.com/seo-jishu/9/,欢迎大家交流。点击这里给我发消息

clazy,厦门SEO.clazy【http://www.seo0592.com】的创始人,度谷SEO论坛(http://www.web520.com/bbs)的SEO人才培养计划学员。欢迎大家到论坛学习。

原创粉丝点击