网站收录

重定向链、302 与 JS 跳转:收录会跟到哪一版,怎么自查

页面迁移或下架时,重定向写法直接影响收录归属:临时跳转用太久、多跳链路、跳到无关页面、canonical 与跳转互相打架,都可能让旧地址留在索引里,或者把信号拆成两份。本文说明这些写法的问题,并给出一份可执行的自查顺序。

网站收录

重定向链、302 与 JS 跳转:收录会跟到哪一版,怎么自查

做站点迁移、目录调整或页面下架时,重定向是绕不开的一步。它做得对,旧地址的收录信号能比较顺地过渡到新地址;做得随意,结果往往是搜出来点进去被跳走,或者新旧两个地址长期同时挂在索引里,把本该集中的信号拆成两份。这篇按“重定向怎么影响收录”和“发现问题后从哪查起”两部分讲。

重定向是在传递地址,而不是删掉地址

搜索引擎拿到一个 URL 时,第一件事是抓取并读取 HTTP 响应。看到 3xx,它就知道这个地址不再代表这份内容,应该去看目标地址。但这个过程不是瞬间完成的:它需要重新抓取目标页、确认内容是否对应,再把原地址从索引里摘掉。所以在重定向生效后的一段时间内,搜索结果的呈现可能仍指向旧地址,这属于正常过程,不用急着反复改动。

  • 301 / 308:表示永久迁移。一般用于换域名、改目录、合并页面,是传递收录信号最明确的写法。
  • 302 / 307:表示临时跳转。适合 A/B 测试、临时维护页。如果长期挂着一个临时重定向,搜索引擎可能始终把原地址当作真实地址,新地址迟迟不接管收录。
  • meta refresh 与 JS 跳转:属于页面内的跳转,要先渲染或解析 HTML 才能发现,不如 HTTP 状态码直接,也不利于判断跳转目标是否稳定。

几种容易让收录跟丢或跟错的写法

长期使用临时重定向

把 302 当成 301 用,是最常见的问题。判断方法很简单:如果这个跳转已经存在几个月,并且不打算再改回去,那它本质上是永久的,应该换成 301 或 308。

链式跳转

A → B → C 这种多跳写法,每多一跳就多一次抓取和确认。搜索引擎通常能跟到底,但过程更慢,而且中间任意一环出问题,比如 B 返回 404,整条链就断了。整理原则是一步到位,A 直接指向 C。同时定期检查是否存在 A→B→A 这类闭环,闭环会让抓取原地打转。

跳到无关页面

把下架的商品详情页统一跳到首页,或者把失效文章跳到某个栏目页,搜索引擎一般不会把首页当成那个旧页面的新版本,而是倾向于按软 404 处理。结果是旧地址被移除、新地址也没有额外收益,白白浪费一次传递机会。跳到内容相近的页面,这个动作才成立。

重定向与 canonical 互相打架

如果 A 页面 301 到 B,而 A 上的 canonical 又写着指向自己,或者 B 的 canonical 指向 A,信号就自相矛盾。处理办法是保持单一方向:被跳转的旧地址不保留 canonical,跳转目标指向自己,让声明和响应一致。

跳转目标被 robots.txt 挡住

如果目标 URL 被 robots.txt 禁止抓取,搜索引擎无法确认这个地址上到底是什么,收录归属就会变得模糊。重定向的目标页必须是可抓取、可访问的正常页面。

发现异常后的自查顺序

  1. 用抓取工具或浏览器开发者工具查看旧地址的响应:状态码是什么,Location 指向哪里。
  2. 顺着跳转逐跳记录,确认一共几跳、每一跳的状态码是否统一。
  3. 检查目标页:能否正常打开、内容是否与旧页面对应、是否返回 200。
  4. 检查 canonical 与 hreflang:新旧地址之间的声明是否互相矛盾。
  5. 检查站内链接和 sitemap:是否还有内链指向旧地址,sitemap 是否已经换成新地址。
  6. 检查 robots.txt:跳转目标是否被规则挡住。
  7. 改完之后不要频繁变动,给抓取和索引更新留出时间,再观察索引中的地址是否逐步切换。

几个容易忽略的细节

  • 整站 HTTPS 或域名切换时,重定向规则要保留完整路径和参数,避免全部跳到首页。
  • 移动端与桌面端之间互跳要慎重,两套地址的跳转方向应保持一致,不要互相指来指去。
  • 下架页面如果确定不再提供内容,404 或 410 比“跳到首页”更清晰,不必为每个失效页面都做重定向。
  • 重定向规则上线前,用少量 URL 抽样验证,比全量上线后再回滚成本低得多。
重定向更像一张搬家告示,而不是删帖通知。它把“原地址已经不在这里”说清楚,同时告诉搜索引擎新地址是哪一个。规则越简单直接,收录越容易跟对。