robots.txt文件的Disallow和Allow行的区别

robots
.txt文件Disallow和Allow设置顺序的不同会产生不一样的效果。

拿个robots .txt语法的例子

(1)搜索引擎可以访问/www/seo的文件夹或者URL
User-agent: *
Allow
: /www/seo
Disallow
: /www/

(2)顺序改变后
User-agent: *
Disallow
: /www/
Allow
: /www/seo
这样遵守robots规则的搜索引擎就访问不到/www/seo这个路径了。

robots .txt几个语法
命令
解释

1> User-agent: *【定义搜索引擎。一般情况下,网站里面都是:User-agent: *,这里*的意思是所有,表示定义所有的搜索引擎。比如,我想定义百度,那么就是User-agent: Baiduspider;定义google,User-agent: Googlebot】

2> Disallow 【禁止爬取】

3> Allow 【允许】

4> $ 结束符【Disallow: .aspx$ 这句话就是屏蔽所有的以.aspx结尾的文件,不管它前面是什么样子】

5> * 【0或多个任意字符。Disallow: *?* 这个是屏蔽所有带“?”的文件,可以这样屏蔽所有的动态路径】

总结来说就是robots.txt
这个文件里语法的顺序是从上到下匹配
,先允许后禁止。另外注意:User-agent,Allow,Disallow的“:”后面有一个字符的空格。

总结+复习..

    robots.txt标准格式


    本文告诉你,如何配置robots.txt文件,让你详细了解robots.txt的标准格式。

    Google,雅虎,微软合作,共同遵守统一的Sitemaps标准。又同时宣布,共同遵守的robots.txt文件标准。Google,雅虎,微软各自支持的robots.txt文件及Meta标签的标准,以及一些各自特有的标准。下面做一个总结。

     

    三家都支持的robots文件记录包括:



    Disallow

    - 告诉蜘蛛不要抓取某些文件或目录。如下面代码将阻止蜘蛛抓取所有的网站文件:

    User-agent: *
    Disallow: /

    Allow

    - 告诉蜘蛛应该抓取某些文件。Allow和Disallow配合使用,可以告诉蜘蛛某个目录下,大部分都不抓取,只抓取一部分。如下面代码将使蜘蛛不抓取ab目录下其他文件,而只抓取其中cd下的文件:

    User-agent: *
    Disallow: /ab/
    Allow: /ab/cd

    $通配符

    - 匹配URL结尾的字符。如下面代码将允许蜘蛛访问以.htm为后缀的URL:

    User-agent: *
    Allow: .htm$

    *通配符

    - 告诉蜘蛛匹配任意一段字符。如下面一段代码将禁止蜘蛛抓取所有htm文件:

    User-agent: *
    Disallow: /*.htm

    Sitemaps位置

    - 告诉蜘蛛你的网站地图在哪里,格式为:

    Sitemap: <sitemap_location>

    三家都支持的Meta标签包括:



    NOINDEX

    - 告诉蜘蛛不要索引某个网页。



    NOFOLLOW

    - 告诉蜘蛛不要跟踪网页上的链接。



    NOSNIPPET

    - 告诉蜘蛛不要在搜索结果中显示说明文字。



    NOARCHIVE

    - 告诉蜘蛛不要显示快照。



    NOODP

    - 告诉蜘蛛不要使用开放目录中的标题和说明。

     

    上面这些记录或标签,现在三家都共同支持。其中通配符好像以前雅虎微软并不支持。百度现在也支持Disallow,Allow及两种通配符。Meta标签我没有找到百度是否支持的官方说明。



    只有Google支持的Meta标签有

     

    UNAVAILABLE_AFTER - 告诉蜘蛛网页什么时候过期。在这个日期之后,不应该再出现在搜索结果中。

     

    NOIMAGEINDEX - 告诉蜘蛛不要索引页面上的图片。

     

    NOTRANSLATE - 告诉蜘蛛不要翻译页面内容。



    雅虎还支持Meta标签

     

    Crawl-Delay - 允许蜘蛛延时抓取的频率。

     

    NOYDIR - 和NOODP标签相似,但是指雅虎目录,而不是开放目录。

     

    Robots-nocontent - 告诉蜘蛛被标注的部分html不是网页内容的一部分,或者换个角度,告诉蜘蛛哪些部分是页面的主要内容(想被检索的内容)。



    MSN还支持Meta标签

     

    Crawl-Delay

     

    另外提醒大家注意的是,robots.txt文件可以不存在,返回404错误,意味着允许蜘蛛抓取所有内容。但抓取robots.txt文件时却发生超时之类的错误,可能导致搜索引擎不收录网站,因为蜘蛛不知道robots.txt文件是否存在或者里面有什么内容,这与确认文件不存在是不一样的。