站点运营

站点运营:robots.txt 抓取规则自查,别让一行屏蔽挡住整站蜘蛛

robots.txt 只有几行,却可能影响全站抓取。本文梳理站点运营中常见的抓取规则误配,包括整站屏蔽未解除、通配符与结尾符用错、屏蔽 CSS 与 JS 资源、屏蔽站点地图目录等,并说明 robots 屏蔽与 noindex 的区别,给出修改前后的验证流程与日常维护建议,帮你在改版和上线时少踩坑。

站点运营

站点运营:robots.txt 抓取规则自查,别让一行屏蔽挡住整站蜘蛛

为什么 robots.txt 值得单独自查

robots.txt 是网站根目录下的一份纯文本文件,用来告诉蜘蛛哪些路径可以抓、哪些不建议抓。它的特点是:写起来只要几行,一旦写错,影响范围却是全站。最常见的事故不是规则太少,而是上线新站或改版时把测试用的 Disallow: / 带到了正式环境,全站路径被整体屏蔽,而页面本身仍然正常返回 200,从外部看几乎察觉不到。

另外要明确一点:robots.txt 只是协议层面的约定,它挡不住不遵守规则的采集程序,也不能替代登录、权限校验或 IP 限制。把后台、备份文件、测试目录的保护完全交给 robots.txt,本身就是一种误用。

高频误配与自查点

  • 整站屏蔽未解除:搜一遍文件里是否存在 Disallow: / 这类整站级规则,确认是有意为之还是测试残留。
  • 通配符与结尾符用错:星号匹配任意字符,美元符号表示结尾。Disallow: /*.pdfDisallow: /*.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 处理,而不是直接屏蔽。

自查时问自己一句:这条规则是“不想让它抓”,还是“不想让它出现”?两者的手段并不相同。

修改前后怎么做

  1. 改之前先备份当前文件,记下修改时间与修改人,方便回滚。
  2. 确认根域名、www 与非 www、http 与 https 各自的 robots.txt 是否都存在,避免只改了一个版本。
  3. 用搜索引擎站长平台提供的 robots 测试工具验证具体 URL 的匹配结果,不要只看文件本身。
  4. 上线后连续几天查看抓取日志,观察被屏蔽路径的请求是否明显下降,重点栏目的抓取量有没有异常波动。
  5. 把 robots.txt 纳入改版与上线清单,和 301 跳转、站点地图、死链检查放在一起过一遍。

日常维护建议

robots.txt 不需要频繁改动,但需要定期看一眼。建议每季度或每次大改版后检查:文件是否可访问、状态码是否为 200、有没有测试残留规则、是否还引用着已经下线的目录。顺手把注释写清楚,注明每条规则的用途和添加日期,交接时会省下很多沟通成本。

最后提醒一句:robots.txt 只是抓取环节中的一环,它不决定页面能否被收录,也不影响排名。把网站结构、内容质量、访问速度和内链这些基础工作做好,抓取规则的作用只是别添乱。