URL重定向本身只说明服务器把请求转到了另一个地址,它不能直接告诉你搜索引擎是否已经抓取、是否已经索引。区分访问抓取与索引结果,要看三类证据:服务器日志里的请求、抓取工具中的响应记录、以及搜索结果或索引状态查询。访问抓取是“来过并取走内容”,索引结果是“取走后判断可入索引并保留”。两者可能同时成立,也可能只发生前者。
一次重定向至少涉及两个URL:源URL和目标URL。判断时不要只看源URL,也不要只看目标URL,而要把链路拆开。
因此,日志里有访问不等于被索引;抓取工具显示已抓取也不等于已索引。反过来,索引结果存在,也不代表最近一次抓取一定成功,可能索引的是旧版本。
检查一条重定向是否被正常抓取,可以按下面步骤执行:
Location响应头。robots.txt禁止、是否带noindex、是否需要登录或返回软404。判断结果时:如果源URL返回3xx,目标URL返回200且允许抓取,说明抓取链路基本通畅;如果目标URL返回4xx、5xx或被robots.txt阻止,说明抓取没有完成,索引通常也不会按预期更新。这里要注意,robots.txt限制抓取不等于可靠的索引移除;它可能阻止爬虫取回内容,但已索引的URL不会因此自动消失。
抓取记录只能回答“爬虫来过没有”,索引状态才能回答“是否保留在索引中”。常用检查项包括:
site:限定查询,观察是否出现该URL。注意不同搜索引擎支持情况不同,结果也不保证稳定。如果抓取记录显示目标URL返回200,但索引状态显示“已发现但未编入索引”,说明抓取已经发生,索引尚未完成。此时问题不在重定向链路,而在内容质量、重复页面、抓取预算或站点整体信号。如果索引状态显示“已编入索引”,但抓取记录中最近一次请求返回3xx或4xx,说明索引可能仍是旧版本,需要等待重新抓取或主动提交。
面对重定向后的抓取与索引不一致,常见两种处理方案:保留重定向并等待重新抓取,或直接调整目标URL并重新提交。
noindex、内容与源URL意图不符。代价是可能产生新的重定向链,需要重新检查每一跳,且旧索引不会立即消失。选择时先确认问题出在抓取层还是索引层。抓取层有问题,优先修重定向链路和目标URL可访问性;索引层有问题,优先检查内容质量和索引状态,而不是反复改重定向。站点地图可以辅助发现URL,但不保证收录;HTTPS也不保证安全无漏洞或排名提升,这些都不是判断索引结果的直接依据。
假设源URL为/old-page,重定向到/new-page。可以按这个顺序判断:
/old-page,确认返回301或302,且Location指向/new-page。/new-page,确认返回200,且响应中没有noindex,robots.txt未禁止抓取。/old-page和/new-page分别处于什么状态。下一步:选一个你正在处理的重定向URL,按上面的顺序记录源URL状态码、目标URL状态码、抓取记录中的最后抓取时间、索引状态四项信息,再决定是修链路还是等索引更新。