Robots.txt是网站根目录下一个名为"robots"的纯文本文件,它的核心作用是向搜索引擎爬虫声明站内的访问规则,明确哪些内容允许被抓取、哪些部分应当跳过。合理规划这份文件,等于为站点的每个页面设定了清晰的抓取边界,既减轻服务器压力,也能让搜索引擎的资源花在更重要的页面上,从而对收录质量产生积极影响。
这个文件本质上是一套简单的指令集。每一组指令都以User-agent字段开头,用来指明规则作用的爬虫对象;其后跟随的Disallow行列出被排除的路径,Allow行则明确给出被许可的路径。爬虫访问站点时,会先获取这份文件并逐条读取,再依据里面的内容决定后续的抓取行动。
需要清楚的是,如果站点没有提供该文件,搜索爬虫有权抓取所有可公开访问的页面;文件本身存在但内容为空,也会被理解为对所有内容开放。只有文件中真正写明了限制语句时,爬虫才会受到约束。
以下写法覆盖了几个最常见的使用需求,你可以按需组合使用。
不同搜索引擎对规则的解析细节存在区别,例如对路径尾部的斜杠处理方式不一。建议在正式部署前,使用各搜索平台提供的工具逐一验证。
看似简单的文件,实际操作时仍有一些容易忽略的细节。
规则排列顺序。部分爬虫对规则采用顺序匹配逻辑,先生效的条目会覆盖后续内容。若先写了一条范围宽泛的Disallow,再想用Allow来放行其中某个子路径,很可能不会生效。所以,更精确的指令应尽量写在前面。
编码及所在位置。文件必须存放于域名的根目录,且采用UTF-8编码保存。使用FTP上传时,注意避免文件带有BOM头,否则部分解析脚本可能无法正常读取。
误用复杂的匹配语法。该文件的标准语法只支持简单的星号通配,多数常规爬虫不会识别复杂的正则表达式。假如你习惯于编写复杂模式,放在这里大概率只会被忽略,进而导致限制失效或误伤。
规则写好了并不代表万事大吉,通过工具确认实际效果非常有必要。
不能。它只能阻止爬虫抓取内容,但其他网站如果链接了你的页面,搜索引擎仍有可能以别的方式获知该网址,并仅展示链接信息。要彻底从索引中移除页面,需要配合使用noindex标签或删除页面。
没有固定时间。爬虫通常按照自身的抓取频率重新获取该文件,短则数小时,长则几天。期望尽快看到变化的话,可以借助站长平台中的"抓取检查"功能主动触发抓取。
是的。每个独立域名都拥有自己独立的根目录和配置文件,主站与子站之间互不影响。假如用了多个域名指向同一份内容,别忘了在每个域名下都放置对应的文件。
花少量时间理清Robots.txt的规则,能有效规避爬虫资源浪费以及误屏蔽重要页面的风险。建议从理解每条指令的含义入手,小步调整并即时验证;每次变动都把测试结果记录下来,长期积累就能形成一套适合自己站点的访问控制策略。记住这条原则:能不加限制的地方尽量不加限制,只在确有必要时才设置排除规则。