您现在的位置:首页 > seo博客 > SEO优化 > 正文
seo优化必学-robots.txt文件解密
http://myblogff.com/      2012-2-19 19:17:37      来源:小韩个人博客系统      点击:
分享到:

   之前听说淘宝网对百度采取了屏蔽,就是说淘宝的内容百度不能抓取了。当时我想很多的人都赶到很奇怪吧,百度那么强大,“百度一下,你就知道”成了大家的口语,我们又怎么控制百度的抓取网页的先知呢?是的我们可以做到不让百度查看你的网站,可以决定要百度只看你的网站的指定的网页。相信很多seo工作者都知道一些吧,今天就为大家解密控制百度、谷歌等搜索引擎的搜索行为,seo优化必学的robots.txt文件的书写,废话不多说,文章呈现。


想必做SEO这行的你对robots不会陌生,简单的txt文件里面隐藏了整个网站的“阴谋”。

首先简单的为大家(新手)介绍一下robots

    robots是各个搜索引擎访问网站的时候要查看的第一个文件。robots文件告诉搜索引擎蜘蛛程序在服务器上什么文件是可以被查看的,什么文件是不可以查看的。当一个搜索蜘蛛访问一个网站时,它会首先查找该站点根目录下是否存在robots.txt,如果存在,搜索蜘蛛就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索引擎蜘蛛将访问、追踪网站上所有没有被限制的文件、url和页面。robots.txt必须放置在一个网站的根目录下,并且文件名必须全部小写。

robots内容的写法(语法)

最常用的 robots文件使用两条规则:   

· User-Agent: (后面跟着允许的搜索引擎蜘蛛)

· Disallow: (后面跟着要拦截的网页)

具体详细写法有:

User-agent: *     这里的*代表的所有的搜索引擎种类,*是一个通配符

Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录

Disallow: /require/   这里定义是禁止爬寻require目录下面的目录

Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录   

Disallow: /ABC 这里定义是禁止爬寻ABC整个目录 

Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)

Disallow: /*?* 禁止访问网站中所有的动态页面

Disallow: .jpg$ 禁止抓取网页所有的.jpg格式的图片

Disallow:/ab/adc.html 禁止爬寻ab文件夹下面的adc.html所有文件

User-agent: *    这里的*代表的所有的搜索引擎种类,*是一个通配符

Allow: /cgi-bin/  这里定义是允许爬寻cgi-bin目录下面的目录

Allow: /tmp 这里定义是允许爬寻tmp的整个目录

Allow: .htm$ 仅允许访问以".htm"为后缀的URL

Allow: .gif$ 允许抓取网页和gif格式图片

robots.txt 文件用法举例

1. 禁止所有搜索引擎访问网站的任何部分

User-agent: * 

Disallow: /

实例分析:淘宝网的  Robots.txt文件

User-agent: Baiduspider

Disallow: /

很显然淘宝不允许百度的机器人访问其网站下其所有的目录。

2. 允许所有的robot访问  (或者也可以建一个空文件 /robots.txt  file) 

User-agent: *

Disallow:

3. 禁止某个搜索引擎的访问

User-agent: BadBot

Disallow: /

4. 允许某个搜索引擎的访问

User-agent: baiduspider

Disallow:                                                                                                        

User-agent: *

Disallow: /

5.一个简单例子

在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即搜索引擎不会访问这三个目录。

  

需要注意的是对每一个目录必须分开声明,而不要写成 Disallow: /cgi-bin/ /tmp/”。

User-agent: 后的*具有特殊的含义,代表“any robot”,所以在该文件中不能有“Disallow: /tmp/*  or Disallow:*.gif”这样的记录出现。

 

User-agent: *  

Disallow: /cgi-bin/

Disallow: /tmp/

Disallow: /~joe/

Robots 特殊参数:

允许  Googlebot

如果您要拦截除  Googlebot 以外的所有漫游器访问您的网页,可以使用下列语法:

User-agent:

Disallow:/

User-agent:Googlebot

Disallow:

Googlebot 跟随指向它自己的行,而不是指向所有漫游器的行。

Allow”扩展名:

Googlebot 可识别称为“Allow”的  robots.txt 标准扩展名。其他搜索引擎的漫游器可能无法识别此扩展名,因此请使用您感兴趣的其他搜索引擎进行查找。“Allow”行的作用原理完全与“Disallow”行一样。只需列出您要允许的目录或页面即可。

您也可以同时使用“Disallow”和“Allow”。例如,要拦截子目录中某个页面之外的其他所有页面,可以使用下列条目:

User-Agent:Googlebot

Disallow:/folder1/

Allow:/folder1/myfile.html

这些条目将拦截  folder1 目录内除  myfile.html 之外的所有页面。

如果您要拦截  Googlebot 并允许  Google 的另一个漫游器(如  Googlebot-Mobile),可使用”Allow”规则允许该漫游器的访问。例如:

User-agent:Googlebot

Disallow:/

User-agent:Googlebot-Mobile

Allow:

使用  * 号匹配字符序列:

您可使用星号  (*) 来匹配字符序列。例如,要拦截对所有以  private 开头的子目录的访问,可使用下列条目:

User-Agent:Googlebot

Disallow:/private*/

要拦截对所有包含问号  (?) 的网址的访问,可使用下列条目:

User-agent:*

Disallow:/*?*

使用  $ 匹配网址的结束字符

您可使用  $ 字符指定与网址的结束字符进行匹配。例如,要拦截以  .asp 结尾的网址,可使用下列条目:

User-Agent:Googlebot

Disallow:/*.asp$

您可将此模式匹配与  Allow 指令配合使用。例如,如果  ? 表示一个会话  ID,您可排除所有包含该  ID 的网址,确保  Googlebot 不会抓取重复的网页。但是,以  ? 结尾的网址可能是您要包含的网页版本。在此情况下,可对  robots.txt 文件进行如下设置:

User-agent:*

Allow:/*?$

Disallow:/*?

Disallow:/ *?

一行将拦截包含  ? 的网址(具体而言,它将拦截所有以您的域名开头、后接任意字符串,然后是问号  (?),而后又是任意字符串的网址)。

Allow: /*?$ 一行将允许包含任何以  ? 结尾的网址(具体而言,它将允许包含所有以您的域名开头、后接任意字符串,然后是问号  (?),问号之后没有任何字符的网址)。  

 

 

我们常用的搜索引擎类型有:

google 蜘蛛: googlebot

百度蜘蛛: baiduspider

yahoo蜘蛛: slurp

alexa蜘蛛: ia_archiver

msn蜘蛛: msnbot

altavista蜘蛛: scooter

lycos蜘蛛: lycos_spider_(t-rex)

alltheweb蜘蛛: fast-webcrawler

inktomi蜘蛛:  slurp

写在最后

Sitemap 网站地图

对网站地图新的支持方式,就是在robots.txt文件里直接包括sitemap文件的链接。就像这样:

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

目前对此表示支持的搜索引擎公司有Google, YahooMSN。不过,我们建议还是在Google Sitemap进行提交,里面有很多功能可以分析你的链接状态。

发表评论(1)
1楼 KeiKei  发表于  2012-6-22 13:39:57
Keep it comnig, writers, this is good stuff.
姓名 *
评论内容 *
验证码 *图片看不清?点击重新得到验证码