为什么 robots.txt 值得单独自查
robots.txt 是网站根目录下的一份纯文本文件,用来告诉蜘蛛哪些路径可以抓、哪些不建议抓。它的特点是:写起来只要几行,一旦写错,影响范围却是全站。最常见的事故不是规则太少,而是上线新站或改版时把测试用的 Disallow: / 带到了正式环境,全站路径被整体屏蔽,而页面本身仍然正常返回 200,从外部看几乎察觉不到。
另外要明确一点:robots.txt 只是协议层面的约定,它挡不住不遵守规则的采集程序,也不能替代登录、权限校验或 IP 限制。把后台、备份文件、测试目录的保护完全交给 robots.txt,本身就是一种误用。
高频误配与自查点
- 整站屏蔽未解除:搜一遍文件里是否存在 Disallow: / 这类整站级规则,确认是有意为之还是测试残留。
- 通配符与结尾符用错:星号匹配任意字符,美元符号表示结尾。Disallow: /*.pdf 与 Disallow: /*.pdf$ 覆盖范围并不相同,写之前先想清楚要拦的是整个目录还是某类文件。
- 把样式和脚本一起屏蔽:屏蔽 /css/、/js/、/assets/ 会让蜘蛛拿不到渲染所需资源,懒加载内容、移动端适配可能无法正常呈现。
- 屏蔽了站点地图所在目录:sitemap 文件如果落在被屏蔽的路径下,后续读取和排查都会变得别扭。建议放在根目录或独立目录并保持可访问。
- User-agent 分组写乱:一条 User-agent 后面可以跟多条规则,换组时容易漏写新的 User-agent,导致规则挂到上一组。每组之间留一个空行,会清晰很多。
- 规则互相矛盾:同一路径既有 Allow 又有 Disallow,主流蜘蛛一般按最长匹配优先,长度相同时 Allow 优先。但这种写法在后续维护中很容易被改错,能合并就合并。
- 依赖 crawl-delay 控速:多数主流搜索蜘蛛并不支持或已忽略该指令,真正有效的限速手段是控制页面响应速度、减少重复入口,并使用站长平台里的抓取频率设置。
屏蔽与 noindex 不是一回事
被 robots.txt 屏蔽的 URL,蜘蛛通常不会抓取页面内容,因此也看不到页面上的 noindex 标记。结果可能是:URL 因为外链等原因仍出现在索引里,只是没有摘要。如果目标是让页面彻底退出索引,正确顺序是先允许抓取、再靠 noindex 或 404/410 处理,而不是直接屏蔽。
自查时问自己一句:这条规则是“不想让它抓”,还是“不想让它出现”?两者的手段并不相同。
修改前后怎么做
- 改之前先备份当前文件,记下修改时间与修改人,方便回滚。
- 确认根域名、www 与非 www、http 与 https 各自的 robots.txt 是否都存在,避免只改了一个版本。
- 用搜索引擎站长平台提供的 robots 测试工具验证具体 URL 的匹配结果,不要只看文件本身。
- 上线后连续几天查看抓取日志,观察被屏蔽路径的请求是否明显下降,重点栏目的抓取量有没有异常波动。
- 把 robots.txt 纳入改版与上线清单,和 301 跳转、站点地图、死链检查放在一起过一遍。
日常维护建议
robots.txt 不需要频繁改动,但需要定期看一眼。建议每季度或每次大改版后检查:文件是否可访问、状态码是否为 200、有没有测试残留规则、是否还引用着已经下线的目录。顺手把注释写清楚,注明每条规则的用途和添加日期,交接时会省下很多沟通成本。
最后提醒一句:robots.txt 只是抓取环节中的一环,它不决定页面能否被收录,也不影响排名。把网站结构、内容质量、访问速度和内链这些基础工作做好,抓取规则的作用只是别添乱。