检查跳转链与落地页,核心是确认三件事:外链最终是否到达你希望的页面、中间经过几次跳转、落地页是否返回正常状态码并呈现预期内容。最常见的误解是“只要点击外链能看到目标页面就没问题”,但浏览器会自动跟随跳转,人工点击很难发现中间多了一层失效跳转、参数被改写或最终落在首页而非目标页。因此需要用可记录跳转路径的工具逐条核对,而不是靠肉眼点击。
跳转链指从外链所在页面出发,到最终页面之间经过的每一次重定向,包括301、302、307等状态码。落地页则是这条链的终点,需要同时检查状态码、页面内容、规范链接和可索引性。两者要分开记录:跳转链查的是路径是否正确,落地页查的是终点是否合格。如果只查终点,中间的失效跳转会被掩盖;如果只查路径,终点内容错误又会被忽略。
对每条外链的目标地址执行一次请求,让工具输出完整跳转过程。以curl为例,可以运行:
curl -IL -o /dev/null -w "%{http_code} %{url_effective}\n" "https://example.com/go/abc"
加-L表示跟随跳转,-I只取响应头,-w输出最终状态码和最终地址。把输出逐条记下来,重点看三处:
如果输出里出现4xx或5xx,说明链路在中间就断了,此时不要只看浏览器里能否打开,因为浏览器可能保留了缓存或走了另一条路径。
确认最终地址后,再对落地页本身做四项检查:
<link rel="canonical">指向哪里。如果指向另一个地址,说明搜索引擎可能不把这个落地页当作最终收录对象,你的外链效果会转移到规范地址上。noindex,以及robots.txt是否允许抓取该路径。落地页可访问不等于可被索引,这两件事要分开判断。如果外链地址带查询参数,例如?ref=xxx或?utm_source=xxx,要确认跳转过程中参数是否被保留。有些跳转规则会丢弃参数,导致落地页统计不到来源。判断方法是分别请求带参数和不带参数的版本,对比最终地址。另外,移动端与桌面端可能走不同跳转规则,如果外链主要投放在移动端场景,应至少用移动端User-Agent再请求一次,比较两次的最终地址是否一致。只有在两次结果不同的时候,才需要进一步定位是设备判断规则还是缓存造成的差异。
每条外链记录四项内容:原始外链地址、跳转路径(按顺序列出每次状态码和地址)、最终落地页、检查时间。这样做的目的是当后续页面改版或跳转规则调整时,你能快速判断是哪一环发生了变化。如果发现某条链的最终地址与记录不符,先复查跳转规则是否被修改,再确认落地页是否迁移,不要直接断定是搜索引擎处理问题。
下一步,从你现有外链清单中抽取一批带跳转的地址,按上面的命令逐条跑一遍,把状态码异常或最终地址不符的条目单独列出,优先处理这些有明确证据的问题链。