核对抓取限制的核心动作,是把“搜索引擎能不能抓到某个URL”拆成三个可验证的环节:robots.txt是否放行、页面本身是否可访问、以及页面是否被noindex等指令挡住。下面用一个假设例子说明完整步骤,并给出每一步的判断依据与常见错误。
假设你负责一个已有项目,某个产品页过去能被搜到,最近却搜不到了。你怀疑是抓取被限制,但还没有定位原因。此时不要急着改文件,先按顺序收集证据。
<meta name="robots" content="noindex">。如果有,页面即使被抓取也不会进入索引。Disallow: /product/会挡住该目录下所有页面。X-Robots-Tag: noindex。这个指令写在服务器配置里,不在页面源码中,容易被忽略。只有这四步都确认放行,才能说“没有发现抓取限制”。任何一步被挡住,都构成一个可能的限制来源,但不要只凭一个现象就断定唯一原因。
robots.txt是放在站点根目录的纯文本文件,搜索引擎抓取前会先读取它。核对时注意以下几点:
/Product/和/product/可能被视为不同路径。Disallow: /会挡住整站,这是最常见的误操作。常见错误是:只在浏览器里打开robots.txt看了一眼,觉得“没写我的页面”就放行。实际上要逐条比对路径前缀,而不是凭印象。
页面级noindex写在HTML里,服务器级noindex写在HTTP响应头里。两者都会阻止页面进入索引,但排查方式不同。
<meta name="robots">的内容。如果写成noindex, nofollow,抓取和索引都会被限制。X-Robots-Tag。它可能只对特定文件类型生效,例如PDF。如果两者同时存在,以更严格的为准。核对时不要只看其中一个就下结论。
假设你移除了一个Disallow规则,想验证页面是否恢复抓取。此时不能只看“第二天有没有回来”,因为搜索需求本身会波动,数据采集也有延迟。比较时应固定同一批URL、同一时间段,并记录改动前后的状态码、robots规则和索引状态。如果季节或搜索需求发生变化,结果可能被干扰,不能直接归因于抓取限制的解除。
下一步建议:挑一个你怀疑被限制的URL,按上面的四步逐一记录结果,再决定改robots.txt、改页面meta还是改服务器头。一次只改一处,便于判断哪一步真正起了作用。