“SEO实战密码下载”这类资料常会讲到抓取限制,但真正要核对的不是书里怎么写,而是你当前站点对搜索引擎爬虫到底放行了什么、拦住了什么。核对抓取限制,核心是拿真实抓取日志、robots.txt、页面响应和服务器规则做交叉验证,而不是只看某一份教程或某一个工具面板。
抓取限制最直接的证据在服务器访问日志里。先筛选目标搜索引擎的爬虫 User-Agent,观察它对同一批 URL 的请求状态。判断要点如下:
200:页面可被抓取,但还要看内容是否被 JS 或登录墙遮挡。403 或 401:可能是服务器、WAF 或权限规则拦截,属于“可能原因”,需要继续定位。429:多为频率限制,不等于永久禁止,但会拖慢抓取。503:服务器过载或临时维护,也会让爬虫降低抓取。如果日志显示爬虫请求被 403,而浏览器访问正常,优先检查 CDN、WAF、防火墙和 UA 黑名单,而不是先改页面内容。
robots.txt 决定爬虫能否请求某个路径,页面 meta 指令决定已抓取内容是否进入索引,两者作用不同。核对时按下面步骤执行:
/robots.txt,确认没有误写 Disallow: / 或对目标目录整段禁止。noindex。若页面被 robots.txt 禁止抓取,爬虫可能看不到 noindex,导致 URL 仍出现在索引中,这是常见冲突。X-Robots-Tag 响应头,服务器层也可能下发 noindex 或 nofollow。判断结果:如果 robots.txt 放行、meta 和响应头都没有 noindex,但日志仍无抓取,问题更可能在服务器拦截、内链发现或站点整体可访问性。
抓取限制是爬虫拿不到页面;索引限制是拿到了但不收录。两者处理方式不同。可以用一个短例子判断(以下为假设场景):
假设日志显示爬虫每天请求 /product/1001 返回 200,但搜索结果显示“已排除”,此时不是抓取限制,而是索引或质量判断问题。反过来,如果日志里该 URL 从未出现,而 robots.txt 写了 Disallow: /product/,那就是明确的抓取限制。
适用条件:只有当你能拿到服务器日志或 CDN 日志时,这种交叉判断才可靠。拿不到日志时,只能通过 robots.txt、响应头和站点地图做间接核对,结论要保守。
定位到限制来源后,按最小改动处理:先解除误拦的 robots.txt 规则,再检查 WAF 是否放行目标爬虫,最后确认页面返回稳定 200。复查时注意:
如果复查后日志仍无目标爬虫,下一步应检查 DNS、CDN 回源和服务器防火墙规则,并把抓取日志、robots.txt 和响应头三份证据放在一起比对。