核对抓取限制,核心是确认搜索引擎抓取工具能否访问目标页面。最直接的方法是查看服务器访问日志中抓取工具的请求记录,再对照robots.txt、页面meta标签和服务器防火墙规则,判断是无意拦截、主动屏蔽,还是页面本身无法被抓取。已有项目改进时,先定位限制来源,再决定放开哪一项,避免一次性改动多处导致无法判断原因。
不要一上来就全站改动。先选定一个具体页面或一组同类页面,例如产品详情页、文章页或列表页,并记录当前可访问状态。需要准备三项信息:
判断标准很简单:如果日志里长期没有该抓取工具对目标页面的请求,说明它可能根本没来抓,或者来了被拒绝。如果日志里有请求但状态码是403、404、500,问题就不在robots.txt,而在服务器响应或页面本身。
抓取限制通常来自四个位置,按从外到内的顺序检查,最容易定位问题。
Disallow: /search会同时挡住/search和/search-result。如果目标页面被误挡,删除或改写对应规则。<meta name="robots" content="noindex, nofollow">。noindex是禁止收录,nofollow是禁止跟踪链接,两者都不直接禁止抓取,但会改变页面在搜索结果中的表现。如果只想放开抓取,应移除noindex;如果只想放开链接跟踪,应移除nofollow。最关键的一步是把日志记录和robots.txt对照起来看。只改robots.txt不查日志,可能放开了规则但抓取工具还没重新访问;只查日志不看robots.txt,可能把服务器拦截误判为规则屏蔽。两者结合,才能判断限制是否真实存在。
改动后不要凭感觉判断。可以按以下顺序验证:
这里要区分“可能原因”和“已经定位的原因”。日志里没有请求,可能是抓取工具还没来,也可能是被拦截;只有看到明确的403或robots.txt命中记录,才能说限制已经定位。验证时不要承诺固定见效时间,抓取频率受页面权重、更新频率和抓取预算影响,不同站点差异很大。
已有项目改进后,抓取限制可能因为改版、加防火墙、换CDN或调整目录结构而重新出现。建议在每次上线新页面或调整站点结构后,做一次最小核对:目标URL是否可访问、robots.txt是否误挡、页面是否有noindex、日志是否有抓取记录。把这四项做成检查清单,比每次从头排查更省时间。
比较改动前后效果时,要考虑季节、搜索需求变化和数据采集差异。例如同一页面在淡季和旺季的抓取频率本身就会不同,不能把波动全部归因于本次改动。判断结果时,以“限制是否解除、页面是否可被抓取”为准,而不是以排名或流量短期变化为准。
下一步,选一个当前没有抓取记录的页面,按上面的顺序查一遍robots.txt、meta标签、服务器响应和访问日志,先确认限制在哪一层,再只改那一处。