最小修复试验的核心是:每次只改一个可能影响抓取或索引的因素,用可复查的证据判断它是否有效,而不是同时大改网站。对第一次接触这个问题的人,建议从“确认页面是否可被抓取、是否被明确拒绝索引、是否已被其他地址替代”这三项入手,选成本最低的一项先做,并在改动前记录基线状态。
不要以“收录变多”作为唯一验收标准,因为收录本身受多个环节影响。更可控的交付结果是:能明确回答某个URL当前处于哪一步——抓取被阻止、抓取成功但未索引、被抓取但选择了其他规范地址、或者页面内容不值得索引。达到这个结果,即使收录没有立即变化,也算试验有效,因为你缩小了问题范围。
围绕这个结果,需要的资料包括:目标URL清单、这些URL在搜索引擎中的当前状态截图或记录、服务器访问日志中搜索引擎爬虫的请求记录、robots.txt内容、页面上的robots元标签或响应头中的X-Robots-Tag、以及站内是否有重复或近似页面。责任上,谁改配置、谁记录改动时间、谁在改动后复查,都要提前写清楚,避免多人同时改动导致无法归因。
最小修复试验应优先选择“可快速回退、影响面小、判断标准明确”的动作。可以按下面顺序逐项尝试,每项之间留出足够时间观察,不要叠加进行。
<meta name="robots" content="noindex">或HTTP响应头中的X-Robots-Tag。若存在noindex,移除后重新提交URL。noindex是比robots.txt更明确的“不要索引”信号,但同样需要页面被抓取后才能生效。假设你有一个产品页始终未被收录,日志显示爬虫从未请求过它,robots.txt没有阻止,页面也没有noindex。此时最小试验不是立刻重写整页内容,而是先在该页面所在栏目增加一个指向它的站内链接,同时把该URL加入站点地图,记录改动日期。观察一段时间后,如果日志中出现爬虫请求,说明抓取环节被打开;如果仍无请求,再检查链接是否可被爬虫跟随、页面是否返回正常状态码。这个例子中的“增加内链”是假设操作,目的是说明如何隔离变量,不代表真实项目结果。
判断结果时,要区分“可能原因”和“已经定位的原因”。例如页面未被收录,可能是抓取被阻止,也可能是内容质量判断,还可能是规范地址指向别处;在没有日志和状态记录前,不能断言是某一个原因。只有当你改动某一项后,对应现象发生变化,才能把该项列为已定位的原因。
验收标准可以设为:目标URL的抓取状态、索引状态、规范地址三者中,至少有一项从“未知或异常”变为“明确且符合预期”。如果试验后仍无变化,不要继续盲目修改,而是回到日志和状态记录,确认爬虫是否真的访问过、访问的是哪个地址、返回了什么状态码。下一步,选一个目标URL,按上面的顺序完成第一项检查,并把改动前后各写一行记录,作为下一次对比的依据。