什么是robots.txt?
robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。Robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
语法:最简单的 robots.txt 文件使用两条规则:
• User-Agent: 适用下列规则的漫游器
• Disallow: 要拦截的网页
robots.txt使用误区
误区一:我的网站上的所有文件都需要蜘蛛抓取,那我就没必要在添加robots.txt文件了。反正如果该文件不存在,所有的搜索蜘蛛将默认能够访问网站上所有没有被口令保护的页面。
每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以你应该做网站中添加一个robots.txt。
误区二:在robots.txt文件中设置所有的文件都可以被搜索蜘蛛抓取,这样可以增加网站的收录率。
网站中的程序脚本、样式表等文件即使被蜘蛛收录,也不会增加网站的收录率,还只会浪费服务器资源。因此必须在robots.txt文件里设置不要让搜索蜘蛛索引这些文件。
具体哪些文件需要排除, 在robots.txt使用技巧一文中有详细介绍。
误区三:搜索蜘蛛抓取网页太浪费服务器资源,在robots.txt文件设置所有的搜索蜘蛛都不能抓取全部的网页。
如果这样的话,会导致整个网站不能被搜索引擎收录。
robots.txt使用技巧
1. 每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以你应该在网站中添加一个robots.txt。
2.
网站管理员必须使蜘蛛程序远离某些服务器上的目录——保证服务器性能。比如:大多数网站服务器都有程序储存在“cgi-bin”目录下,因此在
robots.txt文件中加入“Disallow:
/cgi-bin”是个好主意,这样能够避免将所有程序文件被蜘蛛索引,可以节省服务器资源。一般网站中不需要蜘蛛抓取的文件有:后台管理文件、程序脚
本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。
下面是VeryCMS里的robots.txt文件:
User-agent: *
Disallow: /admin/ 后台管理文件
Disallow: /require/ 程序文件
Disallow: /attachment/ 附件
Disallow: /images/ 图片
Disallow: /data/ 数据库文件
Disallow: /template/ 模板文件
Disallow: /css/ 样式表文件
Disallow: /lang/ 编码文件
Disallow: /script/ 脚本文件
3. 如果你的网站是动态网页,并且你为这些动态网页创建了静态副本,以供搜索蜘蛛更容易抓取。那么你需要在robots.txt文件里设置避免动态网页被蜘蛛索引,以保证这些网页不会被视为含重复内容。
4. robots.txt文件里还可以直接包括在sitemap文件的链接。就像这样:
Sitemap: http://www.***.com/sitemap.xml
目前对此表示支持的搜索引擎公司有Google, Yahoo, Ask and
MSN。而中文搜索引擎公司,显然不在这个圈子内。这样做的好处就是,站长不用到每个搜索引擎的站长工具或者相似的站长部分,去提交自己的sitemap
文件,搜索引擎的蜘蛛自己就会抓取robots.txt文件,读取其中的sitemap路径,接着抓取其中相链接的网页。
5. 合理使用robots.txt文件还能避免访问时出错。比如,不能让搜索者直接进入购物车页面。因为没有理由使购物车被收录,所以你可以在robots.txt文件里设置来阻止搜索者直接进入购物车页面。
robots.txt文件的格式
"robots.txt"文件包含一条或更多的记录,这些记录通过空行分开(以CR,CR/NL, or NL作为结束符),每一条记录的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在该文件中可以使用#进行注解,具体使用方法和UNIX中的惯例一样。该文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow和Allow行,详细情况如下:
User-agent:
该项的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多条
User-agent记录说明有多个robot会受到"robots.txt"的限制,对该文件来说,至少要有一条User-agent记录。如果该项的
值设为*,则对任何robot均有效,在"robots.txt"文件中,"User-agent:*"这样的记录只能有一条。如果
在"robots.txt"文件中,加入"User-agent:SomeBot"和若干Disallow、Allow行,那么名为"SomeBot"只
受到"User-agent:SomeBot"后面的Disallow和Allow行的限制。
Disallow:
该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空
前缀,以Disallow项的值开头的URL不会被robot访问。例如"Disallow:/help"禁止robot访问/help.html、
/helpabc.html、/help/index.html,而"Disallow:/help/"则允许robot访问/help.html、
/helpabc.html,不能访问/help/index.html。"Disallow:"说明允许robot访问该网站的所有url,在"
/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"不存在或者为空文件,则对于所有的搜索引擎
robot,该网站都是开放的。
Allow:
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的
路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。例如"Allow:/hibaidu"允许robot访问
/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一个网站的所有URL默认是Allow的,所以
Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。
使用"*"和"$":
Baiduspider支持使用通配符"*"和"$"来模糊匹配url。
"$" 匹配行结束符。
"*" 匹配0或多个任意字符。
robots.txt文件用法举例
例1.
禁止所有搜索引擎访问网站的任何部分
下载该robots.txt文件 |
User-agent: *
Disallow: /
|
例2.
允许所有的robot访问
(或者也可以建一个空文件 "/robots.txt") |
User-agent: *
Disallow:
或者
User-agent: *
Allow: /
|
例3. 仅禁止Baiduspider访问您的网站
|
User-agent: Baiduspider
Disallow: /
|
例4. 仅允许Baiduspider访问您的网站
|
User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
|
例5. 禁止spider访问特定目录
在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 "Disallow: /cgi-bin/ /tmp/"。 |
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
|
例6. 允许访问特定目录中的部分url
|
User-agent: *
Allow: /cgi-bin/see
Allow: /tmp/hi
Allow: /~joe/look
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
|
例7. 使用"*"限制访问url
禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。 |
User-agent: *
Disallow: /cgi-bin/*.htm
|
例8. 使用"$"限制访问url
仅允许访问以".htm"为后缀的URL。 |
User-agent: *
Allow: .htm$
Disallow: /
|
例9. 禁止访问网站中所有的动态页面
|
User-agent: *
Disallow: /*?*
|
例10. 禁止Baiduspider抓取网站上所有图片
仅允许抓取网页,禁止抓取任何图片。 |
User-agent: Baiduspider
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
|
例11. 仅允许Baiduspider抓取网页和.gif格式图片
允许抓取网页和gif格式图片,不允许抓取其他格式图片 |
User-agent: Baiduspider
Allow: .gif$
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .png$
Disallow: .bmp$
|
例12. 仅禁止Baiduspider抓取.jpg格式图片
|
User-agent: Baiduspider
Disallow: .jpg$
|
分享到:
相关推荐
### 如何编写robots.txt文件 在互联网世界里,搜索引擎蜘蛛(也称为爬虫或机器人)是网站流量的重要来源之一。为了更好地控制哪些页面被搜索引擎收录,哪些页面不被收录,就需要用到一个非常重要的文件——robots....
### 搜索蜘蛛:什么是robots.txt,要怎么写? 在探讨如何编写`robots.txt`之前,我们首先需要了解这个文件的基本概念及其在网站管理和搜索引擎优化(SEO)中的作用。`robots.txt`是一个放置在网站根目录下的文本...
Robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。 当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;...
在IT行业中,`robots.txt` 文件是一个非常重要的概念,它被用来指导网络爬虫如何抓取网站内容。这个压缩包“robots.txt解析器_Ruby_下载.zip”显然包含了一个使用Ruby编程语言编写的用于解析`robots.txt`文件的工具...
在探讨如何通过robots.txt文件来优化网站之前,我们首先需要了解什么是robots.txt以及它在搜索引擎优化(SEO)中的作用。 **robots.txt**是一种文本文件,用于指示网络爬虫(如搜索引擎机器人)哪些页面或文件应被...
setUrl ( 'http://nodeguide.ru/robots.txt' , function ( parser , success ) { if ( success ) { parser . canFetch ( '*' , '/doc/dailyjs-nodepad/' , function ( access ) { if ( access ) { // parse url
### 一个经典的ZenCart的robots.txt的写法详解 在探讨经典的ZenCart的`robots.txt`文件之前,我们首先需要了解`robots.txt`的基本概念及其作用。`robots.txt`文件是一种标准的协议文件,用于告诉网络爬虫(如搜索...
robots.txt使用方法 反爬虫 SEO.zip
### 禁止搜索引擎/蜘蛛抓取的规则文件:robots.txt模板详解 #### 一、概述 `robots.txt` 文件是网站与网络爬虫(包括搜索引擎蜘蛛)之间的一种通信方式,用于告诉爬虫哪些页面可以抓取,哪些页面不可以抓取。通过...
### robots.txt 文件详解 #### 一、概述 `robots.txt` 是一个位于网站根目录下的文本文件,用于告诉搜索引擎爬虫哪些页面可以抓取、哪些页面不可以抓取。通过合理设置 `robots.txt` 文件,可以帮助网站管理者更好...
针对这个需求,Vuepress 提供了一个插件——"用来生成robotstxt文件的Vuepress插件",用于自动化生成 `robots.txt` 文件,以确保网站的SEO优化和隐私保护。 这个插件的使用主要是为了方便 Vuepress 用户自定义他们...
robots.txt可以告诉搜索引擎您的网站哪些页面可以被收录,哪些页面不可以被收录,如果您不想让搜索引擎收录您网站的某些内容,请用robots.txt文件指定搜索引擎在您网站上的抓取范围。 此工具本人找了很久,源码...
一个经典的wordpress的robots.txt的写法 下载后直接复制就行了 略微调一下也行的 文件来自:www.52jiwai.com 分享时请注明来处!
4. **设置规则**:在`config/robotstxt.php`配置文件中,你可以根据环境(如`production`、`development`等)定义一组规则。规则包括允许(`User-agent: *`)和禁止(`Disallow: /`)爬虫访问特定路径。 5. **...
这段代码会检查请求路径是否为`/robots.txt`,如果是,则返回一个基本的robots.txt内容,允许所有爬虫访问`/about`页面,但禁止访问`/admin`页面。如果请求路径不是`/robots.txt`,则调用`next()`函数继续处理其他...
在帝国CMS中,`robots.txt`文件是一个至关重要的元素,它用于指导搜索引擎爬虫如何抓取网站的内容。本文将详细探讨`robots.txt`文件的原理、作用以及在帝国CMS中的具体应用。 **robots协议的原理** `robots协议`,...
**robots.txt在SEO中的作用详解** robots.txt是一个网站的重要组成部分,它是搜索引擎爬虫与网站管理员之间的沟通桥梁。通过这个文件,网站所有者可以指示搜索引擎哪些页面可以被爬取,哪些应该被禁止。本文将深入...
什么是 robots.txt?** - **定义**:robots.txt 是一种标准文件,用于告诉网络爬虫哪些页面可以抓取,哪些页面不能抓取。 - **作用**: - 指导搜索引擎的爬虫如何爬取网站。 - 控制哪些网页不被索引,避免重复...
在SEO优化方面,robots.txt文件扮演着至关重要的角色,它是搜索引擎爬虫访问网站时首先查看的文件,用于告知爬虫哪些页面可以抓取,哪些应禁止抓取。"易优cms robots文件生成器插件"就是为了方便用户自定义和管理这...
**如何编写robots.txt** `robots.txt` 是一个用于指示搜索引擎爬虫哪些页面可以抓取,哪些页面禁止抓取的纯文本文件。对于网站管理员来说,正确设置 `robots.txt` 文件至关重要,因为它能帮助控制搜索引擎收录的...