分清抓取与收录
爬虫读取 robots.txt 后,会据此判断能否请求某些网址。搜索引擎即使没有抓取完整内容,也可能通过链接知道网址存在。因此,禁止访问一个路径,不等于保证它会从搜索结果消失,这两个决定应分别考虑。
私人内容要真正保护
不要把机密文件放在公开网址,再仅靠 robots 规则保护。应使用登录验证及访问权限。对于公开但不希望收录的页面,要研究适合的 noindex 方式,并确保爬虫能够读取有关指令;若请求本身被挡住,指令也可能无法被观察到。
在公开 HTML 页面使用 noindex
如果希望某个公开 HTML 页面不被 Google 搜索收录,可在该页面的 <head> 内加入:
<meta name="googlebot" content="noindex">
Google 必须能够抓取页面才能读取这个标签,因此不要在 robots.txt 中屏蔽该网址。Google 不支持写在 robots.txt 内的 noindex 指令。发布后,应检查页面的 HTML 是否含有该标签,并通过 Search Console 的网址检查工具查看 Google 已抓取的内容。修改代码不代表网页已从搜索结果移除。参阅 Google 的 noindex 指引。
检查已经部署的文件
查看线上 robots.txt 的主机名、路径、状态及文本内容。HTTP 请求成功,但返回的是 HTML 错误页,也不是有效检查。应与了解网站政策的人逐项审核爬虫分组和站点地图链接。实验室只报告是否观察到纯文本文件,不会据此断言所有规则都允许或禁止访问。
