核对抓取限制,核心是确认搜索引擎的抓取程序能不能正常访问你想让它收录的页面。最直接的做法是:先用 robots.txt 检查是否误屏蔽,再看服务器返回的状态码,最后用抓取日志确认抓取程序实际来过哪些地址、频率如何。三步做完,通常能判断限制出在规则层、服务层还是页面层。
在浏览器地址栏输入你的域名加 /robots.txt,逐条看 Disallow 后面的路径。常见误伤是把整站写成 Disallow: /,或者把栏目目录、分页参数一起屏蔽。如果目标页面落在被禁止的路径下,抓取程序会遵守规则不去访问,页面自然难以进入索引。
检查时注意区分不同抓取程序对应的规则段。有的站点给某个抓取程序单独写了规则,却忘了给通用段留出可访问范围,结果出现“一个能抓、一个不能抓”的情况。判断方法是把目标 URL 的路径与每条 Disallow 前缀比对,前缀匹配越长越优先,完全匹配则说明被拦。
用命令行工具或浏览器开发者工具查看目标 URL 的响应头。需要关注的判断依据有三类:
200:正常返回,抓取限制不在服务层。301 或 302:跳转链过长或跳向被屏蔽地址,会消耗抓取配额。403、404、5xx:分别对应拒绝访问、地址不存在、服务端异常,都会直接阻断抓取。如果返回 403,可能是防火墙、CDN 或安全插件按 User-Agent 拦截了抓取程序。这种情况要结合访问日志判断:同一时间段内,普通用户能打开,抓取程序却被拒,说明限制来自访问控制而非页面本身。
服务器访问日志里能看到抓取程序的 User-Agent、请求时间、请求地址和状态码。核对时先筛出目标抓取程序的记录,再看两件事:目标 URL 是否出现过,以及出现时的状态码是多少。如果日志里完全没有目标 URL,说明抓取程序还没发现或没被引导到该地址,问题可能出在内链和站点地图;如果出现过但状态码是 403 或 5xx,限制就在服务端。
还要看抓取频率。日志中同一抓取程序短时间内大量请求同一目录,可能触发限流,后续请求被降频或拒绝。这不是永久屏蔽,但会拖慢发现和更新速度。
时间和人手有限时,按影响面排序处理:
robots.txt 的整站或整目录误屏蔽,影响最大、改动最小。5xx 或 403 的目录,优先恢复可访问性。验收标准可以定为:目标 URL 返回 200,robots.txt 允许抓取,日志中能看到抓取程序以正常状态码访问该地址。改动前后比较时,要考虑季节和搜索需求变化,不能把流量波动直接归因于某一次调整。
下一步,从日志里挑出近一周状态码异常的目标地址,列成清单,按上面的顺序逐项核对并记录修改前后的状态码。