搜索引擎爬虫访问网站时,通常先检查根目录下的 robots.txt 文件。这份纯文本文件为抓取工具划定了允许或禁止访问的路径范围,帮助网站把抓取配额集中到重要页面上。需要注意的是,它不具备强制执行力,更像一份通用协议,自觉遵守的爬虫会按规则行事,而恶意爬虫完全可能视而不见。
爬虫发起抓取请求后,第一步就是尝试读取站点根目录下的 robots.txt。文件若存在且提供指令,遵循协议的爬虫便据此规划抓取路径;文件若缺失,多数搜索引擎会默认允许抓取所有可公开访问的资源。
合理运用该文件能解决不少实际问题,常见的应用场景包括:阻止后台管理界面被收录、过滤标签聚合页或搜索结果页等低质量内容、降低高频抓取对服务器造成的负载压力。值得注意的是,搜索引擎只会参考这份建议,不会强制执行,因此它永远无法替代真正的安全防护机制。
文件由多条独立记录组成,每条记录以 User-agent 声明起始,随后携带各类指令。以下五个指令构成了绝大多数配置的基础:
规范的写法有助于后续维护和理解,参考如下:
User-agent: *
Disallow: /tmp/
Disallow: /private/
Allow: /private/special.html
Sitemap: https://www.example.com/sitemap.xml
该配置表示所有抓取工具不能访问 tmp 与 private 目录,但 private 下的 special.html 作为特例被允许抓取,同时附带了站点地图地址。
实际编写过程中,细节处理不当往往让配置效果大打折扣。以下几个典型状况需要格外留意:
上线配置前,建议先借助各家站长平台的抓取模拟工具进行覆盖测试,确认目标路径的返回状态符合预期,以避免误伤重要资源。Sitemap 地址变更或新增栏目时,应及时同步更新文件并提交校验。
改完文件后,可以手动检查几个典型页面来验证效果:已被屏蔽的路径是否不再显示,例外的文件是否仍能正常访问,首页和核心信息页是否未被误伤。任何修改都应记录版本时间,便于回溯排查问题。
必须放置在域名根目录下,例如 https://域名/robots.txt,文件名不能包含前缀或特殊字符,否则爬虫将无法读取该配置。
在同一记录内 Allow 的优先级高于 Disallow,但不同记录之间以最长匹配路径优先为准。建议在屏蔽和放行内容上保持结构清晰,避免同路径重复声明造成解读混乱。
存在这种可能。不当的屏蔽范围会阻断爬虫对关键页面的访问,进而影响内容收录和搜索排名。改完配置后应使用站长工具的检测功能复核,并观察一段时间内的抓取统计数据。
做好 robots.txt 配置并不复杂,核心在于理解指令含义、保持结构简洁和定期验证。每次修改后都应测试目标路径,并同步更新站点地图地址,确保请求分发能够准确匹配预期。