我们在做网站时,有些目录或者文件不希望搜索引擎蜘蛛搜索到,比如后台,重要页面或文件。那么我们这时该怎么办呢?最简单的方法是修改robots.txt文件和网页中的robots Meta标签。

robots.txt文件是做什么的,robots文件又称robots协议(也称为爬虫协议、爬虫规则、机器人协议等)robots协议是告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。robots协议不是命令,它只是一个网站国际互联网界通行的道德规范,知名的引擎蜘蛛都会遵守这个协议,只有一些缺乏职业道德的搜索引擎会绕开它。所以修改这个协议也不是万能保险的。

robots.txt文件是一个放置在网站根目录下的记事本文件,当搜索蜘蛛访问网站时,它会先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。百度官方建议,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。

robots文件屏蔽的写法

下面是一个网站的robots文件的代码样式。

  1. User-agent: * 
  2. Disallow: /sad/ad_js.php 
  3. Disallow: /sad/advancedsearch.php 
  4. Disallow: /sad/car.php 
  5. Disallow: /sad/carbuyaction.php 
  6. Disallow: /sad/shops_buyaction.php 
  7. Disallow: /sad/erraddsave.php 
  8. Disallow: /sad/posttocar.php 
  9. Disallow: /sad/disdls.php 
  10. Disallow: /sad/feedback_js.php 
  11. Disallow: /sad/mytag_js.php 
  12. Disallow: /sad/rss.php 
  13. Disallow: /sad/search.php 
  14. Disallow: /sad/recommend.php 
  15. Disallow: /sad/stow.php 
  16. Disallow: /sad/count.php 
  17. Disallow: /include 
  18. Disallow: /templets 

我们来看一下它的意思。

robots文件中应同时包含2个域,“User-agent:”和“Disallow:”,其中User-agent:代表允许、 Disallow: 代表禁止。每条指令独立一行。并且User-agent必须出现在第一行(有意义的行,注释除外),首先声明用户代理。

User-agent:

User-agent:指定允许哪些蜘蛛抓取,如果给出参数,则只有指定的蜘蛛能够抓取;如值为通配符“*”号,代表允许所有蜘蛛抓取。如:

User-agent: Googlebot

只允许Google的蜘蛛抓取。

User-agent: baiduspider

只允许百度的蜘蛛抓取。

User-agent: *

这个是指允许所有蜘蛛抓取,*为通配符,代表所有。

Disallow:

这个是表示禁止蜘蛛抓取的,以上面的robots文件为例。

Disallow: /sad/ad_js.php

这个是指禁止引擎蜘蛛抓取网站中sad目录中的ad_js.php文件

Disallow: /include

这个是指禁止引擎蜘蛛抓取网站中include整个目录,它和Disallow: /include/不是等同的。

Disallow: /include/

这个是指禁止引擎蜘蛛抓取网站中include目录下面的目录,但include目录中的文件蜘蛛仍然可以抓取。

Disallow: /cgi-bin/*.htm

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

Disallow: /*?*

禁止访问网站中所有包含问号 (?) 的网址

Disallow: /.jpg$

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

Allow:

这是允许的意思。

Allow: /include/ 

这里是允许爬寻include目录下面的目录

Allow: /include

这里是允许爬寻include整个目录

Allow: .htm$

仅允许访问以".htm"为后缀的URL。

Allow: .gif$

允许抓取网页和gif格式图片

Sitemap:

网站地图 告诉爬虫这个页面是网站地图

robot文件的常见用法

例1. 禁止所有搜索引擎访问整个网站。

User-agent: *

Disallow: /

例2.禁止百度蜘蛛访问整个网站。

User-agent: baiduspider

Disallow: /

例3.允许所有搜索引擎访问(也可以建立一个空robots.txt文件或者不建立robots文件)

User-agent: *

Allow: /

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

robots Meta标签屏蔽法

robots.txt是放在网站中,文件级的网络蜘蛛授权;而robots Meta标签是放在网页中,一般用于部分网页需要单独设置的情况下。两者的功能是一样的。

Meta robots标签必须放在和之间,格式:

content中的值决定允许抓取的类型,必须同时包含两个值:是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。共有4个参数可选,组成4个组合:

index,follow:允许抓取本页,允许跟踪链接。

index,nofollow:允许抓取本页,但禁止跟踪链接。

noindex,follow:禁止抓取本页,但允许跟踪链接。

noindex,nofllow:禁止抓取本页,同时禁止跟踪本页中的链接。

以上1和4还有另一种写法:

index,follow可以写成all,如:

noindex,nofollow可以写成none,如:

需要注意的是,robots Meta标签很多搜索引擎是不支持的,只有少数搜索引擎能够识别并按给定的值抓取。所以,尽可能的使用robots.txt文件来限制抓取。

你可能想看:
文章来源:http://www.zhu-sir.com/jiaocheng/41.html
百度搜索本文
谷歌搜索本文

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。