先把结论说清楚:验收通过只证明“交付物按约定格式和数量出现了”,不能证明“这些链接能按你的业务意图被使用”。缺口要分两层界定——交付层缺口是数量、格式、字段、时间戳对不上;使用层缺口是链接虽然存在,却因为页面状态、链接属性、锚文本语境或目标页匹配问题,无法承担你原本要它承担的作用。判断顺序是先查交付层,再查使用层,因为交付层不成立时,使用层的问题无法归因。
两种前提对应两种完全不同的处理方式,不能混在一张验收单上。
条件一:合同约定的交付物只是“发布记录清单”。此时验收通过是合理的,服务方只需要提供每条链接的落地页、目标页、锚文本、发布时间。你后续发现链接不能被使用,属于使用层问题,处理方式是要求补做或替换,而不是推翻验收结论。前提是合同里写明了“发布记录”就是最终交付物,且没有承诺链接的存活期或页面状态。
条件二:合同约定的交付物是“可用的外链结果”。此时“清单齐全”只是过程证据,验收必须包含可用性检查。如果清单齐全但链接无法使用,验收本身就不应通过,缺口直接落在交付层。前提是合同或沟通记录里出现过“可用”“生效”“收录后计入”这类表述——哪怕只是口头确认,也构成判断依据。
区分这两种前提的实际动作:翻出合同或需求确认记录,找到描述交付物的那句话。如果那句话只提“数量”和“平台”,按条件一处理;如果提到“效果”“可用”“生效”,按条件二处理。这个动作的结果直接决定下一步是找服务方补做,还是重新谈判验收口径。
交付层缺口不需要主观判断,用记录比对就能确认。
一个假设例子说明比对方法:约定 30 条链接指向产品页 A,清单里 30 条齐全,但逐条打开后发现 9 条指向的是站点首页。此时交付层缺口是 9 条,不是 30 条,也不是“效果不好”。先要求把这 9 条改指产品页 A,再谈其他问题。
使用层缺口更常见,也更难界定,因为它不违反数量约定。典型表现有三种。
链接属性使链接不传递权重。落地页上的链接带有 rel="nofollow" 或 rel="sponsored",或者被 JavaScript 包裹、需要交互才渲染。你原本要的是可传递权重的链接,实际拿到的是不传递的链接。判断动作:查看页面源码,搜索目标 URL 附近的 <a> 标签属性。如果属性与约定不符,属于使用层缺口。这里要注意,nofollow 是否仍有传递作用在行业内有不同说法,所以界定缺口时应以“合同约定的属性”为准,而不是以某种效果推断为准。
锚文本语境与约定不符。约定用品牌词或特定短语做锚文本,实际是“点击这里”“阅读更多”这类无意义文本,或者锚文本被塞进页脚、免责声明等与正文无关的区域。链接存在,但语境不支持你要的表达。判断动作:记录每条链接的锚文本和所在区域,与约定逐条比对。
页面本身不可用。落地页是采集站、镜像站、无实质内容的聚合页,或者页面被 noindex 标记。链接在,页面不在正常索引状态。判断动作:查看页面源码中的 <meta name="robots">,并确认页面是否有实际可读内容。需要说明的是,页面未被收录可能由多种原因造成,抓取量或收录量归零不能单独证明是页面质量问题,也可能是新页面尚未被发现,所以这类缺口应以“页面状态与约定不符”为依据,而不是以收录结果倒推。
当缺口集中在交付层时,你的动作是列出差异清单,逐条要求补齐或替换,并把补齐后的复验方式写进沟通记录。这类缺口责任清晰,通常不需要重新谈判合同。下一步取决于服务方是否在约定时间内补齐:补齐则验收通过,未补齐则按违约条款处理。
当缺口集中在使用层时,先判断约定里是否明确写了链接属性、锚文本规则和页面质量要求。如果写了,按交付层同样方式要求整改;如果没写,说明验收标准本身有漏洞,此时的选择是二选一:要么接受现状、把这次当作已完成的交付,要么重新约定一份补充标准并承担相应成本。不要在没有约定的情况下要求对方按你的理解整改,那会让争议无法收敛。
例外情况:如果清单齐全、属性正确、锚文本正确,但链接所在页面在复验时已下线,这属于时间维度的缺口。处理方式取决于合同是否约定存活期。没有约定存活期时,只能作为下次合作的谈判依据,不能作为本次验收不通过的理由。
界定缺口的最终目的是让下一次不再出现同类争议。可操作的做法是在验收条款里同时写三层:交付层写数量、字段、时间;使用层写链接属性、锚文本规则、页面类型排除项;时间层写复验节点和存活期要求。每层都指定一个可执行的检查动作,例如“随机抽取 20% 的链接查看 <a> 标签属性”。这样验收时不需要争论“算不算可用”,只需要执行检查并比对结果。缺口界定清楚了,补做、替换还是重新谈判,才有稳定的判断依据。