robots.txt的语法和写法详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于robots.txt的语法和写法详解的主要内容,如果未能解决你的问题,请参考以下文章

Robots.txt详解

分享一个比较全面的robots.txt写法

IIS设置文件 Robots.txt 禁止爬虫

robots.txt

robots.txt的介绍和写作

robots.txt的介绍和写作