核对抓取限制,核心不是看一条robots.txt规则,而是把“搜索引擎能否访问”拆成可验证的证据链:先确认限制写在哪里,再确认搜索引擎实际请求时收到了什么响应,最后把日志、抓取工具和页面返回结果放在一起比对。常见误解是“robots.txt里没写Disallow,就说明没有抓取限制”,实际上抓取限制还可能来自服务器防火墙、CDN规则、登录验证、返回状态码或页面级meta指令。
核对之前要先知道限制可能出现在哪一层,否则容易只查一个文件就下结论。
<meta name="robots" content="noindex">,它影响索引,不等于阻止抓取。其中robots.txt是“请求前”的限制,服务器响应和meta指令是“请求后”的表现。核对时要分开记录,不能混为一谈。
最直接的方法是让搜索引擎的抓取工具去请求目标URL,而不是只用浏览器打开。不同搜索引擎提供的抓取测试工具名称不同,可以按“搜索引擎名称 + URL检查工具”查找当前可用的入口。操作时重点看三项:
如果工具显示“已抓取但未索引”,问题可能不在抓取限制,而在内容质量或重复页面;如果显示“被robots.txt阻止”,才需要优先修改robots规则。
robots.txt按爬虫名称分组,同一路径可能被不同User-agent分别处理。核对时按以下顺序:
User-agent: *。Disallow: /admin会阻止/admin及其下级路径。Disallow: /。一个短例子:假设目标URL是https://example.com/blog/seo-tips,而robots.txt中写有Disallow: /blog,那么该URL会被阻止。判断结果不是“网站被全站屏蔽”,而是“博客目录被阻止”。修改时应只放开必要路径,不要直接删除整段规则。
抓取工具的结果是单次请求,服务器日志能反映搜索引擎爬虫长期的实际访问情况。核对时筛选目标爬虫的User-agent,观察目标URL的响应码分布:
日志里出现一次403不能直接断定被永久封锁,可能是偶发限流。要观察同一URL在一段时间内的响应码是否稳定,再做判断。
解除抓取限制后,不要只凭“今天抓取次数变多”就认定改动生效。搜索需求会随季节和事件变化,数据采集也可能有延迟。比较时至少保持以下条件一致:
下一步可以选一个当前被阻止或抓取异常的目标URL,按“抓取工具请求 → robots.txt规则 → 服务器日志响应码”的顺序各记录一次结果,再决定是修改规则、调整服务器策略,还是转向检查索引层面的问题。