核对抓取限制,核心是拿搜索引擎实际抓取你页面的记录,与你自己设置的 robots.txt、meta robots、X-Robots-Tag、登录墙和服务器拦截规则逐项比对。不要只看配置文件,因为“写了规则”不等于“规则生效”,也不等于“搜索引擎已经按规则执行”。正确顺序是:先确认页面是否被抓取,再确认抓取到的内容是否完整,最后定位是哪一层限制了抓取或索引。
这两种情况的原因和代价完全不同,混在一起排查会走弯路。
判断依据是抓取统计中的响应码分布和抓取频次。若 200 占比高但抓取量低,多半是入口或内链问题;若 5xx 或 429 占比高,优先修服务器。
按从外到内的顺序查,每层都记录“规则内容”和“实际返回”,两者不一致的地方就是嫌疑点。
<meta name="robots">,以及 HTTP 响应头里的 X-Robots-Tag。两者都可能带 noindex 或 nofollow。假设某页面在抓取统计中显示“已发现但未抓取”,同时 robots.txt 中该路径被 Disallow,那么限制就定位在 robots.txt,而不是内容质量。若 robots.txt 允许,但返回 403,则限制在服务器或 CDN 层。这个对比方法适用于任何站点,不依赖特定平台界面。
配置文件只是声明,日志才是实际发生的记录。把服务器访问日志按 User-Agent 过滤,统计目标 URL 的请求次数、响应码和返回字节数。返回字节数明显小于正常页面,说明抓取到的是错误页或空壳页。
同时用抓取测试工具请求同一 URL,对比工具看到的 HTML 与浏览器看到的 HTML。如果工具看到的是验证页、登录页或 JS 未渲染的空容器,就属于内容可抓取性问题,而不是 robots 限制。这一步的判断结果是:工具返回与浏览器一致,说明抓取层通畅;不一致,则限制在渲染或权限层。
每次只改一层限制,改完再抓取一次并记录响应码、字节数和索引状态。不要同时改 robots、服务器和模板,否则无法判断是哪项生效。
比较前后数据时要考虑:搜索需求本身有季节波动,抓取频次也会随站点整体活跃度变化。因此不能只看一天的数据,也不能承诺固定几天内恢复。合理做法是保留改动前后的抓取日志,按周对比趋势,并确认改动没有误伤其他目录。
下一步:选一个当前抓取异常的 URL,按上面的清单逐层记录 robots.txt、响应头、状态码和日志返回,找出第一处“规则允许但实际被拦”的位置,再决定改哪一层。