robots.txt的语法和写法详解

robots.txt是一个纯文本文件,是搜索引擎蜘蛛爬行网站的时候要访问的第一个文件,当蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围,相当于网站与搜索引蜘蛛遵循协议,如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被屏蔽的网页,作为站长,我们就可以通过robots.txt文件屏蔽掉错误的页面和一些不想让蜘蛛爬取和收录的页面,那么robots.txt该怎么样写呢?

  robots的语法:

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

  2、Disallow 禁止爬取。如,我想禁止爬取我的admin文件夹,那就是Disallow: /admin/。禁止爬取admin文件夹下的login.html,

  Disallow: /admin/login.html。

  3、Allow 允许。我们都知道,在默认情况下,都是允许的。那为什么还要允许这个语法呢?举个例子:我想禁止admin文件夹下的所有文件,除了.html的网页,那怎么写呢?我们知道可以用Disallow一个一个禁止,但那样太费时间很精力了。这时候运用Allow就解决了复杂的问题,就这样写:

  Allow: /admin/.html$

  Disallow: /admin/。

  4、$ 结束符。例:Disallow: .php$ 这句话的意思是,屏蔽所有的以.php结尾的文件,不管前面有多长的URL,如abc/aa/bb//index.php也是屏蔽的。

  5、* 通配符符号0或多个任意字符。例:Disallow: *?* 这里的意思是屏蔽所有带“?”文件,也是屏蔽所有的动态URL。

  robots.txt文件写法举例说明

  禁止Google/百度等所有搜索引擎访问整个网站

  User-agent: *

  Disallow: /

  允许所有的搜索引擎spider访问整个网站(Disallow:可以用Allow: /替代)

  User-agent: *

  Disallow:

  禁止Baiduspider访问您的网站,Google等其他搜索引擎不阻止

  User-agent: Baiduspider

  Disallow: /

  只允许Google spider: Googlebot访问您的网站,禁止百度等其他搜索引擎

  User-agent: Googlebot

  Disallow:

  User-agent: *

  Disallow: /

  禁止搜索引擎蜘蛛spider访问指定目录

    (spider不访问这几个目录。每个目录要分开声明,不能合在一起)

  User-agent: *

  Disallow: /cgi-bin/

  Disallow: /admin/

  Disallow: /~jjjj/

  禁止搜索引擎spider访问指定目录,但允许访问该指定目录的某个子目录

  User-agent: *

  Allow: /admin/far

  Disallow: /admin/

  使用通配符星号"*"设置禁止访问的url

     (禁止所有搜索引擎抓取/cgi-bin/目录下的所有以".html"格式的网页(包含子目录))

  User-agent: *

  Disallow: /cgi-bin/*.html

  使用美元符号"$"设置禁止访问某一后缀的文件

     (只允许访问以".html"格式的网页文件。)

  User-agent: *

  Allow: .html$

  Disallow: /

  阻止google、百度等所有搜索引擎访问网站中所有带有?的动态网址页面

  User-agent: *

  Disallow: /*?*

  阻止Google spider:Googlebot访问网站上某种格式的图片

    (禁止访问.jpg 格式的图片)

  User-agent: Googlebot

  Disallow: .jpg$

  只允许Google spider:Googlebot抓取网页和.gif格式图片

     (Googlebot只能抓取gif格式的图片和网页,其他格式的图片被禁止;

              其他搜索引擎未设置)

  User-agent: Googlebot

  Allow: .gif$

  Disallow: .jpg$

  .......

  只禁止Google spider:Googlebot抓取.jpg格式图片

             (其他搜索引擎和其他格式图片没有禁止)

  User-agent: Googlebot

  Disallow: .jpg$

  声明网站地图sitemap

  这个告诉搜索引擎你的sitemap在哪,如:

  Sitemap: http://www.AAAA.com/sitemap.xml

  Google和百度对robots.txt文件的介绍: Google robotstxt,百度 robots.txt。

  PS:

  国内的搜索引擎蜘蛛

  百度蜘蛛:baiduspider

  搜狗蜘蛛:sogou spider

  有道蜘蛛:YodaoBot和OutfoxBot

  搜搜蜘蛛: Sosospider

  国外的搜索引擎蜘蛛

  google蜘蛛: googlebot

  yahoo蜘蛛:Yahoo! Slurp

  alexa蜘蛛:ia_archiver

  bing蜘蛛(MSN):msnbot

时间: 2024-11-05 18:54:16

robots.txt的语法和写法详解的相关文章

ansible深入理解和操作——02(主机清单,yml语法,playbook详解+操作)

本章内容:一.inventory主机清单二.yml语法三.playbook详解+操作 inventory主机清单 ansible默认的主机清单是/etc/ansible/hosts文件 主机清单可以手动设置,也可以通过Dynamic Inventory动态生成 一般主机名使用FQDN vi /etc/ansible/hosts [webserver] #方括号设置组名 www1.example.org #定义被监控主机,这边可以是主机名也可以是IP地址,主机名需要修改/etc/hosts文件 w

ansible的主机清单,yml语法,playbook详解+操作

本章内容:一.inventory主机清单二.yml语法三.playbook详解+操作 inventory主机清单 ansible默认的主机清单是/etc/ansible/hosts文件 主机清单可以手动设置,也可以通过Dynamic Inventory动态生成 一般主机名使用FQDN vi /etc/ansible/hosts [webserver] #方括号设置组名 www1.example.org #定义被监控主机,这边可以是主机名也可以是IP地址,主机名需要修改/etc/hosts文件 w

“makefile”写法详解,一步一步写一个实用的makefile,详解 sed 's,$?\.o[ :]*,\1.o [email protected] : ,g' < [email protected]

目的:编写一个实用的makefile,能自动编译当前目录下所有.c/.cpp源文件,支持二者混合编译.并且当某个.c/.cpp..h或依赖的源文件被修改后,仅重编涉及到的源文件,未涉及的不编译. 二要达到这个目的,用到的技术有:1-使用wildcard函数来获得当前目录下所有.c/.cpp文件的列表.2-make的多目标规则.3-make的模式规则.4-用gcc -MM命令得到一个.c/.cpp文件include了哪些文件.5-用sed命令对gcc -MM命令的结果作修改.6-用include命

iptables概念及写法详解

 iptables基础概念及写法详解 防火墙控制理论概念的剖析 防火墙在计算机语言中的理解: 工作于主机或者网络边缘,对于进出的报文根据定义的规则做出检查,进而对被规则匹配到的报文作出相应处理的套件. 防火墙和杀毒软件的概念区别:防火墙是在病毒没有进入前做出了规则判断和处理,杀毒软件是对本机内部的病毒进行扫描和处理.这个可以形象的理解为:防火墙是拒人于千里之外,杀毒软件就是瓮中捉鳖. 防火墙的分类: 按照实施的方式分为: 软件防火墙 硬件防火墙 按照应用范围的大小可以分为: 主机防火墙:工作在内

puppet语法与命令详解

在学习Puppet语法之前需要掌握Puppet中资源.属性.类.模块.变量.参数.节点等相关概念. 资源:资源可以是文件.服务.软件包.自定义脚本等. 属性:资源需要定义相关的属性值,否则毫无意义. 类:将多个资源组织起来进行重新定义. 模块:多个类的合集. 变量:Puppet与其他语言类似,同样支持变量. 参数:又称参变量. 节点:Puppet每一个客户端,即主机(Host). 资源: 每个资源的定义都具有标题.类型,以及一系列的属性.每个资源在Puppet中名称必须唯一. 例如Puppet管

iOS开发-语法篇-block详解

一:基本定义 /*初步上式block定义的一些理解和解释,接下来会详解: *block名为myBlock,结合C的函数指针,myBlock为block体的指针,指向block体的入口地址 *int result = myBlock(5) <==> ^(int num){return num*num}(5)//将5传给num *回调时可以将myBlock作为参数传入,也可以直接传入block体^(int num){…};// *整个block体作为参数传入时,往往没有参数,只是进行延迟运算作用,

Flex布局新写法兼容写法详解

很久之前用过flex,但是没有考虑过兼容性问题,为了兼容ios一定要加上-webkit前缀: ul{ display: flex; /* 新版本语法: Opera 12.1, Firefox 22+ */ display: -webkit-flex; } li{ flex:1 0 auto; -webkit-flex:1 0 auto; 合并写法,不缩放宽度 flex-shink = 0 } 注意:用过flex布局后,子元素的float,position都没有效了 flex布局教程参考网址,非常

Flex布局新旧混合写法详解(兼容微信)

flex是个非常好用的属性,如果说有什么可以完全代替 float 和 position ,那么肯定是非它莫属了(虽然现在还有很多不支持 flex 的浏览器).然而国内很多浏览器对 Flex 的支持都不是很好,这里针对微信内置浏览器写了一套兼容写法.下面入正题. 首先还是从两个版本的语法开始讲吧,这里还是假设flex容器为 .box ,子元素为 .item . 旧语法篇 定义容器的display属性 .box{ display: -moz-box; /*Firefox*/ display: -we

用PHP实现浏览器点击下载TXT文档的方法详解

[[注:其他文件想设置成下载文件,和下面介绍的方法一致]] 由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的.当然这个问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了.还有一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的. PHP代码如下:======================