robots.txt用于向遵守协议的爬虫说明哪些路径可以抓取。它不能代替登录权限,也不能保证一个URL从Google结果中消失。先分清目标,再选择规则。
三个目标,用三种不同手段
| 你想做什么 | 主要手段 | 注意事项 |
|---|---|---|
| 减少无必要的抓取 | 适当的robots.txt路径规则 | 先确认重要页面和渲染资源未被误挡 |
| 不让公开页面进入索引 | 允许抓取的noindex规则 | 爬虫需要能读取规则;不要同时用robots挡住页面 |
| 保护内部或私人内容 | 登录验证和服务端访问控制 | robots.txt公开可读,不能保护机密 |
为什么禁止抓取后还会看到URL
Google可能从其他页面的链接获知被阻止的地址,因此禁止抓取不等同于移除索引。也不要用robots.txt隐藏含有客户信息的文件。规则能力与限制见Google的robots.txt说明。
怎样读一段规则
以下为说明语法的示例,不是可直接覆盖所有网站的配置。User-agent指定适用爬虫,Disallow限制路径,Allow可以针对路径放行。
User-agent: *
Disallow: /internal-search/
Sitemap: https://example.com/sitemap.xml
示例表达的是不抓取/internal-search/目录;它不会为该目录设置密码。站点地图地址也需要替换为实际可访问的文件。
哪些问题不靠robots.txt解决
重复页面要检查规范URL和页面用途;已经删除的页面要返回合适的HTTP状态;不想被索引但允许公众阅读的页面,需要另查noindex。修改规则前先保留旧文件,并选出几个允许与禁止路径做核对。

