Robots协议是网站与搜索引擎爬虫之间的沟通规则,通过根目录下的robots.txt文件,站长可以明确告知爬虫哪些页面可以抓取、哪些应避开。合理的配置能让爬虫更高效地收录核心内容,同时保护敏感目录不被曝光。下面从基础语法、进阶指令到常见误区,逐步梳理一套实用的配置思路。
robots.txt是一个位于网站根目录的纯文本文件。搜索引擎蜘蛛来访时,会优先读取这个文件,再决定后续的抓取范围。它不强制爬虫遵守,但主流搜索引擎都会遵循这套标准。
核心指令只有两条:User-agent 用来指定规则适用的爬虫名称,Disallow 则声明禁止抓取的路径。举个最基础的例子:
这里有个易混淆的点:Disallow 后留空(即写为 Disallow:)表示完全放行,而非禁止。很多人初次配置时会在这一点上出错,以为空值代表封锁一切,实际效果恰恰相反。
基础语法之外,Robots协议还支持更灵活的组合,让抓取策略更贴合实际需求。
不同搜索引擎的爬虫可以拥有独立策略。比如担心某类爬虫消耗服务器资源,就可以单独限制它:
这样配置后,Googlebot 仍可全站抓取,而 SomeSpider 则被完全拒之门外。判断标准很简单:确认爬虫的真实UA名称,再决定放行或拦截。
Allow 能解除 Disallow 的限制,实现局部放行。例如希望禁止整个图片目录被索引,但保留其中一个公用子目录供爬虫获取:
这种方式适合既想控制资源索引,又需要保留部分图片参与搜索排名的场景。配置时要留意路径匹配的优先级,更具体的路径规则通常会优先生效。
一个小小的符号失误,就可能让整站收录出问题。以下错误在实践中最为常见,务必规避。
有站长为了节省带宽,把样式表和脚本路径统统写进 Disallow。这会让爬虫无法完整渲染页面,进而削弱移动端体验与排名。正确做法是保持这些资源开放,让爬虫看到与用户一致的页面效果。
Robots协议对路径是区分大小写的。若目录实际名为 /Admin/,而规则写成了 /admin/,规则将不会生效。建议配置前先核对服务器上的真实路径,避免此类无效限制。
某些需要排除出索引但仍希望用户访问的页面(如购物车、筛选页),不应依赖Disallow。更好的方案是使用 noindex 标签,既能防止收录,又不会阻断爬虫抓取其他内链。避险原则:Disallow 适合真实隐私目录,noindex 适合不想展示但无需隐藏的内容。
文件配置完并不算结束,还需要验证规则是否真正生效。可以通过搜索引擎站长工具中的 robots 测试功能,输入URL查看抓取允许状态,迅速发现语法或逻辑错误。
建议在网站结构发生较大改动时,同步审查并更新robots.txt。比如新增了子域名、上线了新的后台目录,都应及时调整相应规则,避免旧规则错误拦截新内容。定期查看爬虫抓取日志,若发现抓取量骤减,优先排查robots文件是否被意外改动。
不会。Disallow 只是阻止抓取,并不删除已收录的页面。但若误将整个站点禁止抓取且持续较长时间,已收录页面可能逐渐从索引中淘汰,影响流量,因此仍需谨慎操作。
有。虽然大多数爬虫都支持基本指令,但对Allow优先级的处理细节略有不同。建议参考各搜索引擎官方文档,针对重点来源站做差异化配置,并利用各自的工具验证效果。
最简单的办法是:Disallow 空值等于放行,而非禁止。拿不准时,可在规则后添加注释说明意图,再用爬虫模拟工具实际测试,观察返回的抓取状态即可判断。
Robots协议的配置重在清晰与克制:明确哪些路径必须屏蔽,同时确保核心资源与页面畅通无阻。完成初步配置后,务必用站长工具验证每条规则的具体效果,并养成在网站改版时复审的习惯。把握好这几个环节,既能保护敏感目录,也能让爬虫的抓取预算花在最有价值的内容上。