核对抓取限制,最省时间的做法不是立刻改robots.txt,而是先确认“页面是否真的被禁止抓取”。打开目标URL对应的robots.txt,找到匹配该路径的User-agent分组,看Disallow规则是否覆盖了它;再用搜索引擎的URL检查工具查看“抓取”结果。如果工具显示可抓取,问题多半在别处,例如页面返回状态码、canonical指向或内链过少。只有确认抓取被阻止,才需要动robots.txt或页面上的noindex。
robots.txt只是抓取协议,不是收录控制。它告诉爬虫“不要来抓”,但已经抓过的页面仍可能留在索引里;反过来,robots.txt没写Disallow,也不代表页面一定能被抓。常见情况有三种:
所以第一步要分清:是“规则不允许抓”,还是“抓取时失败了”。两者处理方式完全不同。
时间和人手有限时,按下面顺序逐项确认,任何一项通过就继续往下,不要跳步。
Disallow: /private/会挡住/private/page.html,但Allow: /private/page.html可以把它放行。<meta name="robots" content="noindex">,以及HTTP响应头是否带X-Robots-Tag: noindex。noindex是“不索引”,不是“不抓取”,它不阻止爬虫访问,但会让页面从索引中移除。假设你有一个页面https://example.com/guide/seo-tips,robots.txt里写着Disallow: /guide/。这时URL检查工具会显示被robots.txt阻止。处理方式是:如果这个页面需要被抓取,就把规则改成只挡住不需要的路径,例如Disallow: /guide/draft/,而不是整段放开。改完后重新提交检查,观察状态是否变化。
修改robots.txt或页面标签后,不要立刻下结论。抓取和索引都有延迟,不同搜索引擎、不同页面的处理速度不一样。可以这样核对:
如果URL检查工具显示可抓取、状态码正常、也没有noindex,但页面仍不出现,问题通常不在抓取限制,而在内容质量、内链结构或重复页面。这时应转向内容与链接层面的检查,而不是继续改robots.txt。
如果页面已经能被正常抓取和索引,只是排名不理想,那抓取限制不是当前要解决的问题。抓取限制只回答“爬虫能不能来、能不能拿到内容”,不回答“拿到之后排不排”。把时间花在核对抓取上,只有在页面完全不出现在索引、或搜索平台明确提示被阻止时才有必要。其他情况优先检查标题、内容与内链。
下一步:选一个你怀疑被限制的URL,按上面四项依次核对,记录每一步的结果。只有确认是robots.txt或noindex造成阻止时,才去修改对应规则;否则把精力放回内容与链接。