使用robots.txt控制搜索引擎抓取
时间:2011-04-02 来源:小炒花生米
robots.txt 是一个标准文档,意在阻止搜索引擎的Spider(蜘蛛)从您的 Web 服务器下载某些或全部信息,控制Spider的搜索范围。robots.txt的设置很简单,只要用记事本或其他文本编辑器,依照自己的网站需求,设定一 系列选项,然后将其上传到网站根目录即可。robots.txt的设置如下:
User-agent: 搜索引擎的spider代号
Disallow: 输入数据夹或文件名的路径
如设定所有的spider都能够搜索及抓取整个网站。
User-agent: *
Disallow:
如拒绝Google搜索及抓取整个网站,但允许其它的
User-agent: Googlebot
Disallow:
如拒绝所有的Spider
User-agent: *
Disallow: /
如拒绝所有的Spider搜索及抓取protect目录及seo目录下abc.html文件
User-agent: *
Disallow: /protect/
Disallow: /seo/abc.html
如拒绝google搜索及抓取protect目录及seo目录下abc.html文件,但允许其他的
User-agent: Googlebot
Disallow: /protect/
Disallow: /seo/abc.html
很简单吧?另有一点请记住,搜索引擎不会立即对robots.txt 文件所作的更改作出反应,必须等到搜索引擎下一次读取该文件。这段时间,依搜索引擎及具体网站情况,从几小时到几天不等。
你好,我有一个关于robots.txt的问题,希望得到解答。
我想禁止所有的robot访问我网站根目录的go.php文件,一般这些文件是 go.php?q=…,这个文件的作用是根据q=的参数,从我的网站转到其他网站去。
我的robots.txt文件是如下所写:
User-agent: *
Disallow: /go.php
我的这个文件是建站之时就存在的,是Windows下的文本文件。但是只有yahoo搜索引擎没有收录go.php,Google和MSN都收录和很多go.php?q=…的文件。按照道理来说,这些大的搜索引擎都会完全遵守robots.txt文件。
我在另一个网站下将此文件设置成了UNIX格式,但是依然如此,连yahoo也收录了一些这样的文件。
究竟什么原因造成的,我苦思不解。
老实说,对于这个问题,本人以前未遇到过,不过,有这么几种解决思路:
1、使用通配符,类似如下的方式:
User-agent: Googlebot
Disallow: go.php*?
这种方式,至少对Google可行(Google支持通配符),其他搜索引擎是否支持则不得而知。
2、将go.php放入单独的子目录,如“/go/”,然后:
Disallow: /go/
这样应该能禁止收录该文件及动态产生的页面。(个人臆想,未经过测试)
3、更稳妥的办法,类似这样的情况干么非得让robots.txt实现,直接在go.php中使用Meta Tag不是更简单么?
在Head部分加入:
<meta name=”robots” content=”noindex,nofollow”>
其中的“nofollow”视情况决定是否加入