选择与目标匹配的控制方式
爬行(crawling)是对 URL 的自动化检索。索引(indexing)是搜索引擎决定是否存储并展示有关该 URL 的信息。访问控制决定谁可以获取内容。Robots.txt 涉及爬行,遵守该协议的爬虫会选择是否遵循它。IETF 的 Robots Exclusion Protocol 指明它不是授权(authorization)。
对公开且低价值的路径(例如受控的站内搜索路由)使用 Disallow 规则来管理爬虫访问。对应从支持的搜索结果中排除的公开内容,使用 noindex。对预览、账户区域、导出或敏感数据,使用真正的认证或应用/服务器访问控制。对于客户、员工、支付或受监管的信息,需获得合格的安全与平台评审;robots.txt 永远不能作为补偿性控制。
Robots.txt 可以请求遵守规则的爬虫避免定义的公开路径;它不能保证从结果中移除。
在 HTML 中或通过 X-Robots-Tag 头使用 noindex,并保持响应可抓取以便爬虫可以读取该指令。
要求认证或使用适当的应用/服务器控制,然后从公开发现路径中移除该 URL。
精确使用核心语法和作用域
在每个需要规则的 scheme、host 和端口的根目录发布 UTF-8 纯文本的 /robots.txt。位于 https://www.example.com/robots.txt 的文件并不会自动适用于 https://example.com、子域或 HTTP origin。在假定规则适用之前,先验证规范 URL、重定向、CDN 与应用所服务的 origin。
一个组(group)以 User-agent 开始,随后使用 Allow 或 Disallow 路径。User-agent: * 是通用组。匹配是区分大小写的,并从路径开头进行匹配。最具体的匹配规则胜出;同等具体的 Allow 应优于 Disallow。Disallow: 表示不阻止任何内容,而 Disallow: / 会阻止整个 origin。标准定义了 # 作为注释、* 作为通配符、$ 表示模式末尾。
如果没有记录的爬取管理需求,则不要添加排除;不要创建推测性的屏蔽。
优先使用稳定且狭窄的前缀,例如 /search/,而不是松散的通配符或无法解释的文件名规则。
记录规则目的、所有者和变更参考,但不要把注释当作审查的替代。
仅屏蔽有 URL 证据支持的模式
在编写规则之前,清点重要页面、不想被爬取的路径、查询变体、站内搜索、预览路由、资源与 sitemap URL。对每个样本 URL,记录预期结果和匹配规则。将该列表与规范 URL 与实时导航比较,确保屏蔽不会隐藏有用路径。
除非另有测试,否则保持对浏览器关键资源的可用性。Google 警告说,屏蔽 CSS、JavaScript、图片或其他资源会让页面更难被分析。Robots.txt 不能解决重复内容选择、授权或页面质量问题;应在合适场景使用规范化(canonicalization)、重定向、访问控制或内容改进。
使用真实的 URL 样本和服务器或爬取证据,不要复制来自其他站点的通用列表。
在发布记录中为每个样本 URL 保留预期结果、匹配的规则和责任人。
保持 sitemap、noindex 与隐私决策的一致性
Sitemap 告诉搜索引擎你认为重要的 URL 与文件;它能帮助发现但不保证爬取或索引。强有力的内部链接仍然重要。你可以在 robots.txt 中添加完整的 Sitemap URL,但不要列出私有、已重定向、被 robots 阻止或有意 noindex 的 URL。在发布时将 sitemap 输出与 robots 规则进行对齐。
noindex 不是 Google 的 robots.txt 指令。Google 支持在 HTML meta 标签或 X-Robots-Tag HTTP 响应头中使用它,且必须抓取响应才能看到该指令。如果公开页面需要离开 Google 结果,请移除隐藏 noindex 的 robots 屏蔽。如果内容非公开,不要在 robots.txt 中公开其路径;应强制访问控制。敏感数据边界需要合格审查。
使用完整 URL,例如 Sitemap: https://www.example.com/sitemap.xml;它不会覆盖爬取阻止。
对 HTML 使用 meta noindex,或在适当情况下使用 X-Robots-Tag: noindex 响应头,然后测试实时响应。
当内容敏感时先限制访问,然后在适当情况下使用搜索引擎的移除流程。
像关键配置文件一样测试并发布
本地验证已批准的文本,然后针对目标爬虫组测试允许与拒绝的示例。部署后,私下或通过直接 HTTP 请求检索公开的 /robots.txt 以确认内容、origin 与响应状态。Google 提供 Search Console 的 robots.txt 报告用于可访问文件的检查,并提供用于本地测试的开源解析库。
爬虫可能会缓存 robots 文件,所以不要承诺立即生效的发现或索引更改。服务器或网络错误会导致爬虫假设完全禁止,而 4xx 可能允许访问。将该文件纳入源控配置,对全站或通配符变更要求额外审查,并保留先前版本。SIU 的预检和回滚规划可以在错误发布变成更大可用性或可发现性问题前捕获问题。
对 origin 迁移、全站阻断、通配符以及影响登录、结账或支持路由的更改,要求第二名审阅者。
当重要样本 URL 新被阻止、必要资源无法访问或端点不可用时,恢复先前版本。
一次爬虫测试不能证明每个自动客户端都会以相同方式解释每条规则。
