Robots.txt 协议是网站管理者与搜索引擎爬虫之间通信的基础规则文件。它位于网站根目录,通过简单的指令告诉爬虫哪些内容可以抓取、哪些应当避开,是网站 SEO(搜索引擎优化)与服务器资源管理的重要工具。正确配置 robots.txt 文件可以引导爬虫高效索引有价值页面,同时保护敏感数据不暴露在搜索结果中。
Robots.txt 是一个纯文本文件,遵守“君子协定”,即爬虫自愿遵守其中的规则,并非强制性指令。恶意爬虫可能会忽略该文件,但对于主流搜索引擎(如百度、Google 等),它直接决定爬虫的首次访问路径。
当爬虫来访时,会首先检查域名根目录下是否存在 robots.txt 文件。若存在,爬虫读取其中的用户代理指定规则,并据此决定是否抓取后续页面。该协议主要解决两个问题:一是避免重复抓取无价值的页面(如后台管理页、过滤参数过多的 URL),二是控制服务器负载,将抓取资源集中在重要内容上。
Robots.txt 由若干记录块组成,每个块通常包括以下指令,语法非常简洁。
User-agent 指定规则生效的目标爬虫名称。例如 User-agent: Googlebot 仅适用于谷歌爬虫,User-agent: * 代表所有爬虫。
Disallow 告诉爬虫禁止访问的路径。例如 Disallow: /admin/ 禁止访问 admin 目录下的所有文件。如果 Disallow 后面为空,表示允许访问所有内容。
Allow 通常与 Disallow 结合使用,可针对某些子路径例外放行。例如 Disallow: /images/ 配合 Allow: /images/logo.png 让爬虫只能抓取特定图片。
Sitemap 直接给出网站地图的 URL,帮助爬虫发现更多页面。建议每个主域名都使用该指令。
部分搜索引擎支持通配符,例如 $ 表示 URL 结尾,* 匹配任意字符。规则遵循最精确匹配优先原则,即路径更具体的规则会覆盖较模糊的规则。另外,指令不能写在同一行,每个语句必须独占一行。
假设某网站结构如下:公开的文章页、用户登录页、后台管理页面、临时测试目录以及资源文件。下面是一个合理的配置方案。
配置时,请确保不误拦重要页面。例如,不要将整个根目录 Disallow,这会导致网站不被收录。此外,需区分大小写,路径拼写错误可能导致规则失效。
很多新手站长容易犯几个错误。一是滥用 Disallow,将首页或核心文章目录也禁止了,造成收录为零。二是遗漏 Sitemap 指令,爬虫可能无法发现新内容。三是忽略文件缓存,修改 robots.txt 后需等待搜索引擎更新缓存。
建议每次修改后,通过搜索引擎提供的工具(如百度资源平台或 Google Search Console)验证文件是否可访问、语法是否正确。同时,周期性地检查日志,观察爬虫的实际抓取行为是否与预期相符。使用通配符前,最好查阅具体搜索引擎的支持文档,避免规则不生效。
可以。语法为 User-agent: * 配合 Disallow: /。但这样做会导致搜索引擎完全不索引该网站,仅适用于开发或测试环境。对于正常运营的网站,不建议这样配置,除非确实不希望被搜索引擎收录。
不会立即消失。该协议仅阻止爬虫后续抓取和索引新页面,已收录的页面可能需要等到搜索引擎下一次抓取时,根据新的规则决定是否从索引中移除。通常需要一段时间,具体取决于搜索引擎的更新频率。
Robots.txt 是服务器级别指令,控制爬虫能否访问某个路径,即使页面内有链接也无法被抓取。而 nofollow 是页面级别的元标签或链接属性,仅告诉爬虫不要传递权重,但爬虫仍可以访问页面。两者配合使用效果更好,robots.txt 适用于整体目录控制,nofollow 用于单条链接或单个页面的精准控制。
合理配置 robots.txt 文件是搜索引擎优化中基础且关键的一步。建议网站管理者根据自身内容结构,在允许爬虫抓取价值页面与保护敏感目录之间找到平衡点。定期检查并更新规则,能有效提升网站收录质量与抓取效率,避免不必要的资源浪费。