搜索引擎使用spider程序自动访问互联网上的网页并获取网页信息。spider在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件,这个文件用于指定spider在您网站上的抓取范围。您可以在您的网站中创建一个robots.txt,在文件中声明该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。
请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。
robots.txt文件应该放置在网站根目录下。举例来说,当spider访问一个网站(比如http://www.domain.com)时,首先会检查该网站中是否存在http://www.domain.com/robots.txt这个文件,如果Spider找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围。
如果其他网站链接了您robots.txt文件中设置的禁止收录的网页,那么这些网页仍然可能会出现在百度的搜索结果中,但您的网页上的内容不会被抓取、建入索引和显示,百度搜索结果中展示的仅是其他网站对您相关网页的描述。
如果您不想搜索引擎追踪此网页上的链接,且不传递链接的权重,请将此元标记置入网页的 <HEAD> 部分:
<meta name="robots" content="nofollow">
如果您不想百度追踪某一条特定链接,百度还支持更精确的控制,请将此标记直接写在某条链接上:
<a href="signin.php" rel="nofollow">sign in</a>
要允许其他搜索引擎跟踪,但仅防止百度跟踪您网页的链接,请将此元标记置入网页的 <HEAD> 部分:
<meta name="Baiduspider" content="nofollow">
robots相关语法:
User-agent: 适用下列规则的漫游器
该项的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受到"robots.txt"的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效。
Disallow: 要拦截的目录或文件
该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被robot访问。
例如"Disallow:/seo.html " 禁止 robot访问/seo.html
Allow:允许的目录或文件
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。
例如"Allow:/hibaidu/"允许robot访问/hibaidu/a.htm、/hibaidu/b.htm
下面介绍下使用"*"和"$":
使用统配符和模糊匹配,笔者只了解baidu是支持得使用通配符"*"和"$"来模糊匹配url。
"$" 匹配行结束符。
"*" 匹配0或多个任意字符。
robots.txt文件用法举例: (如下图表)
| 例1. 禁止所有搜索引擎访问网站的任何部分 下载该robots.txt文件 | User-agent: * Disallow: / |
| 例2. 允许所有的robot访问 | 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(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的。 因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据。(原文来源于:宁波SEO、网站优化、宁波网站推广博客 http://www.ningboseo.com/SEO-Beginner/165.html)












