Robots.txt 是部署在网站根目录的一个文本文件,用于向搜索引擎爬虫说明网站哪些区域可以访问、哪些区域应当排除。它本质上是网站与爬虫之间的一种约定,而非安全防护机制。正确配置 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 被单独放行,同时指定了站点地图的地址。
配置 robots.txt 看似简单,但细节处理不当容易让预期效果落空。以下几个常见场景值得留意:
很多网站在配置时会出现意想不到的问题,通常与以下几个错误有关:
排查时,可先在浏览器中直接访问 robots.txt 的 URL 检查返回到内容,再使用搜索引擎的抓取工具或外部检测服务验证规则的实际解析结果。
不会直接影响权重计算。它只控制爬虫是否抓取,与网站质量评分无关。但如果屏蔽了包含内部链接的重要页面,可能间接影响抓取和索引效率,进而波及搜索表现。
取决于爬虫对文件的重新抓取频率,通常从几分钟到几天不等。若需加快生效速度,可通过搜索引擎站长工具提交该文件,或手动请求重新抓取。
搜索引擎遵循"最具体匹配优先"的原则。当两条规则路径长度相同时,Allow 优先于 Disallow;若路径长度不同,则长度更长的那条规则生效。
robots.txt 的配置并不复杂,但每一步都影响最终效果。建议初次配置时先在测试环境验证语法和路径匹配,确认无误后再上线。同时,定期复查文件内容,确保与当前站点结构保持一致,并记得将 Sitemap 地址写入其中,为爬虫提供明确的抓取指引。