robots文件设置-移动端与桌面端怎样检查差异

📍 WDQWDWQD987AAAAA:216.73.217.74
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /30a8a7c7d265.html
📄

robots文件设置-移动端与桌面端怎样检查差异

robots文件设置本身不区分移动端和桌面端,同一个域名下的robots.txt对所有User-Agent生效,除非你用User-Agent分组写了不同规则。所以检查差异的关键不是找两份文件,而是确认同一份文件里的规则是否被两类爬虫分别命中,以及移动端页面是否被额外限制。最直接的做法:用不同User-Agent抓取同一URL,比较返回的robots判定结果。

先确认是否真的存在差异化设置

打开站点根目录的robots.txt,逐行看User-agent分组。常见情况有三类:

如果文件里只有一组通配规则,就不存在robots层面的移动/桌面差异,检查重点应转向页面本身。这一点先判断清楚,能避免后续做无效比对。

用不同User-Agent实测同一路径

准备一份待测URL清单,至少包含首页、一个栏目页、一个详情页和一个你怀疑被屏蔽的资源目录。然后按下面步骤执行:

  1. 用桌面爬虫标识请求:curl -A "Mozilla/5.0 (compatible; Googlebot/2.1)" https://example.com/robots.txt,确认拿到的是同一份文件。
  2. 换成移动爬虫标识再请求一次,例如curl -A "Mozilla/5.0 (Linux; Android 6.0.1) ... Chrome/W.X.Y.Z Mobile Safari"。
  3. 把两次拿到的robots.txt内容做文本比对,重点看Disallow和Allow行是否一致。
  4. 对每个待测URL,按匹配到的那组规则逐条判断是否被禁止。

判断结果分三种:两组规则都允许,说明无差异;一组允许一组禁止,说明存在真实差异,需要确认这是有意为之还是配置错误;两组都禁止,说明该路径对两类爬虫都不开放。这里的“禁止”只代表抓取受限,不等于页面一定不会出现在索引里,因为索引移除需要额外手段。

移动端特有的检查项

robots.txt之外,移动端还有几个容易被忽略的限制点,需要单独核对:

适用条件很明确:只有当移动端使用独立URL或独立模板时,才需要做两套robots检查。纯响应式站点做一套即可,多出来的比对没有实际意义。

从交付结果倒推验收标准

假设你的目标是“确保移动端和桌面端都能被抓取到核心页面”,那么验收需要满足:

责任划分上,robots.txt的修改通常由运维或开发执行,SEO侧负责提出路径清单和验收,双方以实测结果为准,而不是以“已经改过了”为准。

下一步

先取出当前robots.txt,标出所有User-agent分组;再选三个核心URL,用桌面和移动两个User-Agent各请求一次,把结果填进同一张表。差异项确认是有意设置后归档,非预期差异直接修正并复测。

图1 图2

nginx