robots.txt 是网站根目录下的一份文本文件,它通过简单的指令告知搜索引擎爬虫哪些路径可以抓取、哪些路径应当回避。配置得当,它能保护后台和敏感目录,让爬虫集中资源收录重要页面;配置失误,则可能阻碍收录,甚至导致整站被搜索引擎忽略。下面从文件放置、语法细节到高频失误点,给出可落地的操作参考。
文件名必须为全小写的 robots.txt,并放置在域名根目录,通过 www.example.com/robots.txt 即可直接访问。文件内容由若干规则组构成,组与组之间用空行区分。每个规则组先以 User-agent 声明目标爬虫,随后紧跟对应的 Disallow 或 Allow 指令。
指令写法为“字段名: 取值”,例如 Disallow: /private/。字段名不区分大小写,但取值中的路径部分通常区分大小写,需保持前后一致。如需添加说明,可用 # 开头写注释,注释可独立成行,也可附在指令行末尾,便于后期维护时理解规则意图。
一个规则组中,User-agent 之后可包含多条 Disallow 和 Allow 指令。虽然主流搜索引擎普遍支持用 Allow 覆盖更精确的 Disallow,但不同爬虫对匹配优先级的实现存在差异,跨平台部署时建议分别进行抓取测试验证。
若要禁止所有爬虫访问整站,可使用星号通配符:
User-agent: *
Disallow: /
若只需拦截特定目录,例如后台管理区域或临时文件目录,可配置如下:
User-agent: *
Disallow: /admin/
Disallow: /temp/
这里有一个常见误区:目录末尾的斜杠并非可写可不写。写成 /admin/ 仅匹配 admin 目录及其子页面;若写成 /admin,则会匹配所有以 admin 开头的路径,例如 /administrator、/admin-tools 等正常页面会被一并屏蔽,造成大面积收录异常。建议在配置后立即检查规则覆盖范围。
当需要屏蔽整个目录但保留其中某个子目录时,需组合使用 Disallow 与 Allow。例如,仅放行博客下的专题版块,屏蔽其余博客内容:
User-agent: *
Disallow: /blog/
Allow: /blog/featured/
该配置遵循通用匹配优先级:当两条规则路径长度相同时,Allow 优先于 Disallow;当路径长度不同时,更长更具体的路径规则优先。因此上述写法能确保 /blog/featured/ 下的页面可正常抓取,而其他博客路径被屏蔽。若想验证规则生效情况,可使用搜索引擎站长工具的 robots 测试功能,观察实际匹配结果。
配置过程中,以下几类失误出现频率较高:第一,Disallow 为空值表示允许抓取所有路径,若误写成 Disallow: / 则屏蔽全站,两者含义截然不同,需谨慎区分。第二,URL 长度超过约 256 个字符时,部分爬虫可能截断处理,导致匹配异常,尽量避免长路径规则。第三,规则组顺序也有影响,一般将更具体的规则放在前面,但不同爬虫对顺序的敏感度不同,建议保持规则简洁、分组清晰。
此外,robots.txt 并非安全工具,它仅约束遵守协议的爬虫,无法阻止恶意抓取或未声明行为的程序。需要保护的真实敏感数据应通过登录验证、IP 白名单等技术手段实现。若文件因语法错误导致无法解析,部分搜索引擎会先放开抓取限制,此时可能暴露内部目录,务必与日志监测结合使用。
配置完成后,建议依次执行以下步骤:先访问根目录下的 robots.txt 确认内容正常返回;再用搜索引擎官方的 robots 测试工具逐条检查规则;最后查看服务器日志中对应爬虫的抓取记录,确认关键页面是否被频繁请求、屏蔽目录是否出现意外访问。
一个实用的做法是:每次修改规则后,先在小范围内验证,例如仅针对一个子域名或测试环境生效,确认无误后再推广到全部站点。这样可以避免因一次误配置导致全站抓取异常。
网站结构变化后,旧的屏蔽规则可能失效或误伤新页面。建议每季度审查一次规则文件,清理不再需要的 Disallow 条目,并检查新增的敏感目录是否已覆盖。同时,将 robots.txt 纳入版本管理,记录每次修改的原因,便于回滚或排查问题。
可以阻止爬虫抓取,但被屏蔽的页面仍可能因外部链接而出现在搜索结果中,只是标题和描述会显示为“无可用信息”。若希望彻底从索引中移除页面,应结合 noindex 标签使用。
当两条规则的匹配路径长度相同时,Allow 优先;当路径长度不同时,较长且更具体的路径规则优先。实际部署前建议用工具测试确认,避免依赖记忆。
爬虫会定期重新抓取该文件,通常延迟在数小时到数天之间。若发生严重误配置,可以先在服务器端返回 404 或 503,再修正规则,以尽快恢复正常的抓取行为。
配置 robots.txt 的核心在于明确路径匹配规则、注意斜杠和通配符的用法,并定期验证与维护。建议从目录级屏蔽开始,逐步细化到具体文件,同时搭配日志和测试工具持续观察。养成每次修改后立即验证的习惯,能有效避免因低级错误导致的收录异常。