Disallow: 与 Allow: 搭配使用时如何精确控制抓取范围
通过在 robots.txt 中设置 Allow 规则,可以实现对特定路径的精确访问控制。
Allow 规则的路径匹配机制
Allow 项的值用于描述希望被访问的一组 URL,这个值可以是一条完整的路径,也可以是路径的前缀。以 Allow 项的值开头的 URL 是允许 robot 访问的。例如,Allow:/hibaidu 允许 robot 访问 /hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。
一个网站的所有 URL 默认是 Allow 的,所以 Allow 通常与 Disallow 搭配使用,实现允许访问一部分网页同时禁止访问其它所有 URL 的功能。这意味着如果不设置任何规则,搜索引擎将默认抓取所有内容。
Disallow 与 Allow 的组合逻辑
Disallow 项的值用于描述不希望被访问的一组 URL,这个值可以是一条完整的路径,也可以是路径的非空前缀。以 Disallow 项的值开头的 URL 不会被 robot 访问。例如,Disallow:/help 禁止 robot 访问 /help.html、/helpabc.html、/help/index.html。
在 robots.txt 文件中,如果有多条 User-agent 记录说明有多个 robot 会受到限制,对该文件来说,至少要有一条 User-agent 记录。如果该项的值设为 *,则对任何 robot 均有效,在 robots.txt 文件中,User-agent:* 这样的记录只能有一条。
使用通配符进行模糊匹配
Baiduspider 支持使用通配符 * 和 $ 来模糊匹配 url。* 匹配 0 或多个任意字符,$ 用于匹配行结束符。这些符号可以与 Disallow 或 Allow 结合使用,以实现更灵活的路径控制。
例如,Disallow:/help* 可以匹配所有以 /help 开头的路径,无论后面是否跟斜杠。而 Disallow:/help$ 则只匹配以 /help 结尾的路径。合理使用这些符号可以避免误伤正常页面,同时精确屏蔽不需要的内容。
验证 robots.txt 生效的方法
可以通过百度搜索资源平台的 robots 工具来检测和验证 robots.txt 文件的设置。该工具支持检测未验证站点的设置,并显示文件在百度上的生效情况。确保文件内容不超过 48k,且目录长度不超过 250 个字符。
在验证时,可以模拟 robot 访问指定路径,观察是否被正确拦截。如果发现某些页面未被屏蔽,可能是路径匹配规则不正确或大小写不一致。通过工具的反馈,可以快速定位问题并调整 robots.txt 的配置。
资料与延伸阅读
你可以通过以下原始资料核对文中概念,并继续深入阅读。