robots.txt
什么是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$
|
Crawl-delay 指令
几大抓取工具支持Crawl-delay参数,设置为多少秒,以等待同服务器之间连续请求:
User-agent: *
Crawl-delay: 10
Allow 指令
一些大的Crawlers支持一项Allow指令,可以抵消先前Disallow指令。
Robots META标签
Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。
<meta content=”noindex,nofollow” />
分享到:
相关推荐
在IT行业中,`robots.txt` 文件是一个非常重要的概念,它被用来指导网络爬虫如何抓取网站内容。这个压缩包“robots.txt解析器_Ruby_下载.zip”显然包含了一个使用Ruby编程语言编写的用于解析`robots.txt`文件的工具...
**robots.txt在SEO中的作用详解** robots.txt是一个网站的重要组成部分,它是搜索引擎爬虫与网站管理员之间的沟通桥梁。通过这个文件,网站所有者可以指示搜索引擎哪些页面可以被爬取,哪些应该被禁止。本文将深入...
- **安全与隐私**:不要在`robots.txt`中包含敏感信息,因为它是公开可见的。 - **更新频率**:根据网站的变化定期更新`robots.txt`,确保其规则符合当前的需求。 #### 4. 总结 `robots.txt`虽然只是一个简单的...
robots.txt使用方法 反爬虫 SEO.zip
在探讨如何通过robots.txt文件来优化网站之前,我们首先需要了解什么是robots.txt以及它在搜索引擎优化(SEO)中的作用。 **robots.txt**是一种文本文件,用于指示网络爬虫(如搜索引擎机器人)哪些页面或文件应被...
#### robots.txt的基本结构与语法 1. **User-agent**: 指定该指令集适用于哪个或哪些类型的爬虫。例如,“*”代表所有爬虫。 - 示例:`User-agent: *` 2. **Disallow**: 告诉爬虫不要抓取指定的URL路径。如果希望...
针对这个需求,Vuepress 提供了一个插件——"用来生成robotstxt文件的Vuepress插件",用于自动化生成 `robots.txt` 文件,以确保网站的SEO优化和隐私保护。 这个插件的使用主要是为了方便 Vuepress 用户自定义他们...
而robots.txt是网站与搜索引擎爬虫之间的一种通信协议,用于指导爬虫哪些页面可以抓取,哪些应该被禁止。 首先,让我们理解`robots.txt`的作用。robots.txt文件位于网站的根目录下,它的主要功能是定义搜索引擎爬虫...
在帝国CMS中,`robots....总之,正确理解和使用帝国CMS中的`robots.txt`文件,能够有效地维护网站的隐私和安全,同时优化搜索引擎的抓取效率,提升网站的SEO表现。希望本文提供的信息对你的帝国CMS建站工作有所帮助。
总结起来,`laravel-robotstxt`是一个非常实用的工具,能够帮助开发者根据Laravel应用的不同环境轻松管理`robots.txt`文件,从而更好地控制搜索引擎的爬取行为,保护隐私,同时优化网站的SEO策略。通过灵活的配置和...
在SEO优化方面,robots.txt文件扮演着至关重要的角色,它是搜索引擎爬虫访问网站时首先查看的文件,用于告知爬虫哪些页面可以抓取,哪些应禁止抓取。"易优cms robots文件生成器插件"就是为了方便用户自定义和管理这...
5. **构建与更新**:当你完成配置后,只需运行Gatsby的构建命令(`gatsby build`),插件就会自动生成相应的`robots.txt`文件。每次网站内容或结构发生变化时,记得更新插件配置以确保`robots.txt`文件的准确性。 ...
对于网站管理员来说,正确设置 `robots.txt` 文件至关重要,因为它能帮助控制搜索引擎收录的内容,保护隐私信息,以及优化网站的SEO表现。 **基本结构与语法** `robots.txt` 文件通常包含以下两个主要部分: 1. *...
在视图文件中,你可以使用`@robotstxt`指令来输出这些元标签,它们会根据你为路由定义的规则自动调整内容。 ```blade <!DOCTYPE html> <meta name="robots" content="{{ \Spatie\Robots\Facades\Robots::tags...
:robot: robots.txt即服务 :robot: :construction: 开发中的项目 通过API访问权限的分布式robots.txt解析器和规则检查器。 如果您正在使用分布式Web爬网程序,并且想要礼貌行事,那么您会发现此项目非常有用。 另外...
robots.txt文件是网站与搜索引擎爬虫之间的协议,它告诉爬虫哪些页面可以访问,哪些应该被禁止。通过使用此插件,用户无需手动编写或编辑这个文件,能够更方便地控制搜索引擎的索引范围,优化网站的SEO(搜索引擎...
正确理解和使用 `robots.txt` 文件,有助于提升网站的搜索引擎优化(SEO)策略,同时确保网站内容的隐私安全。在编写 `robots.txt` 文件时,需谨慎处理,以确保不会无意间屏蔽重要页面或影响网站的可见性。
BetterRobots - 使用 robots.txt 更好的 SEO BetterRobots 旨在 SEO 增强您的 robots.txt 服务,特别是在您从一个应用程序提供多个域或子域的情况下。 例如 、assets.yoursite.com、beta.yoursite.com 等。 SEO 和...
这对于SEO(搜索引擎优化)至关重要,因为合理的robots.txt设置可以帮助网站更好地被搜索引擎收录,提高可见性和排名。 **1. 什么是 robots.txt?** - **定义**:robots.txt 是一种标准文件,用于告诉网络爬虫哪些...
robots.txt文件对于网站的SEO(搜索引擎优化)至关重要,它向搜索引擎爬虫指示哪些页面可以抓取,哪些应被禁止。了解如何在Laravel项目中有效地处理这个文件,将有助于提升网站的搜索引擎可见性。 首先,让我们理解...