说明
robots.txt 控制爬虫对 URL 的访问,但它并不是从搜索结果中移除 URL 的可靠方法:其他来源仍可能让系统知道该地址。noindex 指令表示可访问的页面不应被纳入搜索索引。爬虫通常需要抓取页面才能读取 noindex。检查实际服务器响应和访问控制,而不要只看文本文件。
虚构示例
训练用预发布配置同时对 /robots 设置了 Disallow 和 noindex。被禁止抓取的爬虫可能不会获取 HTML,因此也就读不到 meta 标签。团队首先记录页面的预期状态,并检查每条指令的作用;然后只修改并重新测试预发布配置。生产环境保持不变。私有区域和测试区域需要由网站所有者另行决定如何处理。
练习
在你自己的预发布环境或本地模拟站点上检查 /robots:robots.txt;HTML 中的 meta robots 标签;响应头 X-Robots-Tag;状态码和重定向;以及任何 WAF/CDN 限制或登录要求。将每条指令与预期状态进行比较。规则变更仅保留在预发布环境;生产环境变更需要所有者同意、评审和回滚方案。
检查清单
- 已针对正确的主机和协议检查
robots.txt。 - 已检查响应头,而不只是 HTML。
- 将
Disallow和noindex视为不同指令。 - 私有内容使用身份验证保护,而不只是依赖
robots.txt。 - 已分别记录每种相关搜索爬虫的结果。
常见错误
添加 Disallow 后便认为页面已从索引移除。如果公开页面不应被收录,请使用合适的收录指令,并且不要阻止爬虫读取它;机密数据则必须通过访问控制保护。