robots.txt 是站点给爬虫的第一份说明书,但它只做一件事:告诉爬虫哪些路径不建议抓取。它不能保证页面被收录,也挡不住所有访问者——真正需要保护的目录,要靠登录验证、IP 限制或服务器配置。运营中常见的麻烦,往往不是规则写得太复杂,而是有一条误写的 Disallow 长期挂着,把新栏目、改版后的目录一起挡在门外。
第一步:确认文件能正常打开
先访问 https://你的域名/robots.txt,确认返回 200,而不是 404、403,也不是被跳到首页。常见故障包括:文件放错根目录、被重定向规则拦截、CDN 缓存了旧版本、服务器用 200 状态码返回了一个 HTML 错误页。如果打开后看到的是完整网页模板,说明请求根本没命中这个文件,需要先把这一层修好。
- 返回状态码是否为 200
- 内容类型是否为纯文本
- 是否被缓存层或安全策略改写过
- 带 www 与不带 www 的域名是否各有一份,且内容一致
第二步:逐条核对 Disallow 规则
把现有规则逐行读一遍,重点看那些早年为了省抓取而加上的屏蔽项。站点改版后目录结构变了,旧规则的字符串可能正好命中新栏目。例如 Disallow: /news 本意是屏蔽旧的新闻列表,结果把后来新建的 /newsroom 也一起带走了。
注意通配符与结尾符号
- * 表示任意字符,放在路径中段容易扩大匹配范围
- $ 表示结尾匹配,适合精确屏蔽某一类后缀地址
- 路径区分大小写;User-agent 与 Disallow 之间夹了无关行或空行分组,也可能让规则失效或误伤
不要顺手屏蔽静态资源
如果规则里出现屏蔽 CSS、JS 或图片目录的行,渲染页面时可能拿不到样式与脚本,页面呈现和评估都会受影响。确认这些资源处于可抓取状态。
第三步:检查 Sitemap 与抓取频率声明
在文件末尾写一行 Sitemap: 完整地址,方便爬虫找到索引文件。这里要用绝对地址,并且与站点实际使用的协议、域名保持一致,避免 www 与非 www 混用。Crawl-delay 并非所有爬虫都遵守,如果服务器确实压力大,更稳妥的做法是从服务器层做限流,而不是只依赖这一行。
第四步:改完要验证
- 用搜索引擎官方提供的 robots.txt 测试工具,检查具体 URL 是否被允许
- 挑几条代表性地址分别测:首页、栏目页、详情页、后台目录
- 观察一段时间内的服务器日志,看被屏蔽目录是否还有抓取记录(生效常有延迟)
- 确认搜索资源平台里的抓取统计没有异常下滑
robots.txt 是建议,不是权限。真正需要保护的页面,请用登录验证、IP 限制或服务器配置来处理。
第五步:把变更纳入流程
建议把 robots.txt 当作需要评审的配置文件:修改前备份,写清改动原因与时间,改完当天在同一环境验证,并记入站点变更日志。多人协作时,避免有人在服务器上临时改一行,事后谁也说不清。
最后提醒一点:屏蔽容易,恢复慢。任何一次规则调整,都可能需要一段时间才能重新被抓取,所以宁可先放宽再收紧,也不要一次屏蔽一大片目录。