核对抓取限制,核心是确认搜索引擎能否正常访问到你希望被收录的页面。最直接的做法是:用搜索引擎官方的抓取测试工具请求目标 URL,对比返回的 HTTP 状态码、响应正文和渲染结果,再检查 robots.txt、页面 meta 指令和服务器日志三者是否一致。任何一处显示“禁止抓取”或“返回错误”,都说明该页面存在抓取限制。
在浏览器地址栏输入域名根目录下的 robots.txt,例如 https://example.com/robots.txt,找到 User-agent 与 Disallow 规则。逐条比对目标 URL 的路径是否落在某条 Disallow 范围内。如果被屏蔽,说明抓取被主动限制;如果没有对应规则,则 robots.txt 不是原因。
注意:Disallow: / 会屏蔽整站,Disallow: 留空表示全部放行,这两者含义相反,容易看错。规则匹配区分大小写,路径前缀相同但结尾不同的 URL 结果可能不一样。
查看目标页面源码中的 <meta name="robots"> 标签,以及服务器返回的 X-Robots-Tag 响应头。常见限制值包括 noindex(不收录)、nofollow(不追踪链接)、none(两者都不)。
robots;用命令行 curl -I 目标URL 查看响应头。noindex 表示即使能抓取,页面也不会进入索引;只出现 nofollow 则抓取本身不受影响,只是链接权重不传递。主流搜索引擎都提供网址检查或抓取测试功能,输入目标 URL 后会返回抓取状态、HTTP 状态码和渲染后的 HTML。重点看三项:状态码是否为 200、正文是否包含核心内容、渲染后是否出现被 JavaScript 隐藏的关键信息。
如果状态码是 403、429 或 503,说明服务器层面拒绝了请求,可能原因包括防火墙拦截、访问频率限制或服务临时不可用。这类现象有多种解释,不能只凭一次测试断定原因,需要结合服务器日志确认。
抓取测试工具的结果代表“测试时能否抓取”,服务器日志代表“搜索引擎实际来过没有”。在日志中筛选搜索引擎的 User-agent,查看目标 URL 的访问记录和返回码。
解除抓取限制后,不要立刻用“收录数量变化”判断效果。搜索需求本身会随季节波动,数据采集口径也可能不同。比较时应固定同一批 URL、同一统计周期,并记录改动日期,避免把自然波动误判为优化结果。
下一步:挑一个当前未被收录的目标 URL,按上面四项依次核对,把每一项的检查结果写下来,就能定位限制究竟出在 robots.txt、页面指令、服务器响应还是抓取触发环节。