Robots.txt是存放在网站根目录的一个纯文本文件,它的作用是向搜索引擎爬虫声明:站内哪些内容欢迎抓取,哪些区域应当避开。把这份文件写对,可以让爬虫把抓取额度集中在有价值的页面上,同时减少后台或临时目录被收录的风险。
文件内容由若干条指令组组成,每组指令以User-agent开头,向下延伸出若干条Allow或Disallow声明。User-agent声明这组规则针对哪种爬虫,Allow和Disallow则分别指向放行或禁止的路径。
每条规则需单独占一行,注释以#符号开头。路径是区分大小写的;若路径末尾不带斜杠,则表示仅作用于该路径本身,而非整个目录层级。
不同网站的诉求差别很大,下面几个示例覆盖了从开发期到生产环境的典型需求,可直接作为配置蓝本。
网站尚未上线或正在大规模改版时,可用如下配置阻止所有爬虫进入。务必记得在恢复后删除这行规则。
User-agent: *若希望优先保证某个搜索引擎的收录效率,可先单独为其配置空白的Disallow,再对其他爬虫统一采取禁止策略。
User-agent: Baiduspider对于正式运行的站点,管理入口、测试目录和日志文件通常不希望进入索引。配置时要注意路径与项目实际结构保持一致,否则规则形同虚设。
User-agent: *首先需要明确,robots.txt是一种依赖爬虫自觉遵守的行业约定,并非强制访问控制。部分恶意爬虫或采集工具不会理会文件中的任何指令。同时,文件本身对互联网完全公开,任何人通过浏览器都能查看,因此绝不能在其中透露数据库地址、密钥文件或真实后台路径等隐私线索。
Robots.txt无法阻止页面被直接访问。若涉及账号登录或数据保护,必须配合服务器端身份验证,不能依赖它实现安全功能。
配置完成后,建议用搜索引擎站长工具中的抓取测试功能做一次校验。一个常见的严重错误是Disallow后缺少路径,或路径写错层级,导致整个网站被意外屏蔽,后台又难以察觉。
当发现收录量下降或个别页面迟迟不被索引时,可按下面步骤排查是否与robots.txt相关。
确实可能。最常见的情况是Disallow规则中出现了多余的斜杠或通配符,导致爬虫认为整个站点都被禁止。若出现整站收录骤停,优先检查文件最上方的规则是否符合预期。
建议放置。在文件末尾添加Sitemap: 你的站点地图绝对地址,可以方便爬虫更快发现新页面并了解站内结构。但sitemap文件的地址需确保可公开访问。
不能。它只影响爬虫的抓取记录,无法阻止真实用户的正常访问,也无法防止恶意请求。后台安全性依赖强密码、访问频率限制和IP白名单等机制。
编写robots.txt并非难事,核心在于明确抓取边界并持续校验。建议从最简单的全站放行开始,逐步添加需要屏蔽的目录;每次修改后利用站长工具验证,避免格式错误引发收录事故。同时,把真正敏感的内容交给权限控制来处理,让robots.txt回归其引导爬虫的本职。