网站建设者通过 Robots.txt 文件向搜索引擎的爬虫说明哪些目录和页面可以抓取。合理的配置有助于保护管理后台、减少无效请求对服务器的压力,并让爬虫把宝贵的抓取预算集中在内容质量高的页面上。本文将为你解读该文件的核心语法,并结合不同网站的典型需求给出可直接套用的配置样式。
这个文件必须存放在网站的根目录下,比如 www.example.com/robots.txt。文件内容本质上是多条文本指令,每条记录由指定的爬虫名称和对应的允许或禁止规则构成。
常用的指令字段包括:
一个最简单的示例:
User-agent: *
Disallow:
Sitemap: https://www.example.com/sitemap.xml
它表示对所有爬虫完全开放网站抓取权限,同时给出了地图位置。
针对实际运营中的各种需求,我们可以利用上述指令组合出不同的访问策略。
当网站处于改版测试或未正式上线阶段,不希望任何搜索结果收录时,可以设置:
User-agent: *
Disallow: /
这一写法会拒绝所有爬虫访问任何 URL。记得在网站正式对外发布后及时移除该代码段。
很多站点需要隐藏后台路径或尚未完善的栏目,这时可以指定目录名称,例如:
User-agent: *
Disallow: /wp-admin/
Disallow: /checkout/
这种规则会让爬虫跳过这些文件夹,而不影响主站其他页面的正常抓取。需要留意的是,路径匹配是前缀匹配,比如禁止 /private 也会覆盖 /private-data/。
大型站点可能希望给主要搜索引擎最高抓取权限,而限制其他爬虫访问资源文件。这时需要分区块声明:
User-agent: Baiduspider
Allow: /
User-agent: *
Disallow: /images/
Disallow: /css/
定义时务必将更具体的爬虫名称写在冒号之前,并确保通用规则放在所有特定规则之后。爬虫会优先匹配自身对应的段落,匹配失败时才会读取通配规则。
很多网站在配置时忽略了一些技术细节,导致规则未生效或引发资源访问异常。
在修改完 robots.txt 后,建议打开浏览器直接访问该文件的 URL,确认所有指令都正确显示且没有多余的转义符号。
写完规则后不能仅仅靠肉眼检查,还要通过工具来验证爬虫视角下的访问情况。
主流的做法包括:
如果测试工具报告抓取失败,往往是因为路径采用了相对地址或存在多余空格,仔细核对即可解决。
不能。Robots.txt 只是爬虫自律协议,并非安全防线。若页面已经在其他外部网站被链接,搜索引擎仍可能通过链接收录标题或摘要。需要彻底隐藏的内容请考虑添加登录验证或 noindex 标签。
对于支持该协议的爬虫,在同一路径匹配下,最具体且最长的规则优先执行;若优先级一致,则以 Allow 为准。但并非所有搜索引擎都遵守这一标准,为避免意外,建议不要同时设置互相矛盾的规则。
搜索引擎抓取该文件的频率各不相同。Google 通常会在几分钟到几小时内重新读取,而其他引擎可能需要数天。若想加速过程,可以通过站长后台的更新提交功能主动推送新文件。
撰写 robots.txt 的关键在于准确使用 User-agent 与路径匹配指令。建议站长先梳理出需要隐藏的目录清单,再规划不同爬虫的访问层级,最后利用官方工具验证。配置完成后,记得定期检查服务器日志,观察爬虫是否访问了原本禁止的链接,根据实际情况持续微调规则文件。