常见问题

入口页直接 301 跳转到目标 URL,和放一条普通链接有什么差别?

入口页指向目标 URL,可以直接 301 跳转,也可以只放一条普通链接,两者对搜索蜘蛛的含义并不一样。本文说明跳转与链接在 URL 发现、地址合并上的区别,301/302/307 的处理差异,跳转链过长和批量跳转的常见问题,以及一套简单的自查方法。

常见问题

入口页直接 301 跳转到目标 URL,和放一条普通链接有什么差别?

链接是发现,跳转是替换

入口页里写一条指向目标 URL 的超链接,搜索蜘蛛读到的是“这里还有一个地址可以去看”。它会把目标 URL 放进待抓取队列,之后按自己的节奏去请求。入口页还是入口页,目标 URL 还是目标 URL,两者是两个独立地址。

301 跳转的含义完全不同。搜索蜘蛛访问入口页时拿到 301 和 Location 头,它理解成“这个地址已经永久搬到那边了”。后续它可能把入口页的抓取结果直接归到目标 URL 上,入口页不再作为独立页面参与展现。

简单说:放链接,你得到的是一次发现机会;做 301,你得到的是一次地址合并。前者是多一个入口,后者是少一个页面。

301、302、307 分别会被怎么处理

  • 301:永久跳转。搜索引擎通常会把原地址和目标地址视为同一份内容的两个地址,逐步把信号集中到目标地址,原地址从索引中淡出。
  • 302 / 307:临时跳转。搜索引擎一般会继续保留原地址,同时也会去抓目标地址。用它做长期入口,等于让原地址一直占着一个位置却没什么用。
  • 跳转链:A 跳 B、B 跳 C、C 再跳目标,每多一跳就多一层不确定性。搜索引擎对跳转链有长度容忍度,链太长时可能中途放弃,目标 URL 反而发现不了。

很多人把 302 当 301 用,或者临时改来改去,结果入口页一直留在索引里,目标 URL 的信号也集中不起来。

什么情况适合跳转,什么情况适合放链接

  1. 目标 URL 是你自己长期不变的正式页面,入口页本来就是临时搭建的,用 301 更干净,地址变更信号明确。
  2. 目标是第三方页面,或者你自己也会频繁更换目标,就老老实实放链接。跳转等于把入口页交出去,改起来还要处理已经生效的跳转缓存。
  3. 你希望入口页和多个目标保持关系,用链接。一条入口页可以指向多个 URL,但只能 301 到一个地址。
  4. 入口页还要承担其他内容或分流作用,别用跳转。301 之后,入口页上原本的内容基本就没机会被看到了。

几个容易踩的坑

批量 301 到同一目标

大量入口页在短时间内全部 301 到同一个地址,从外部看就是一批站点集体把地址让渡给一个目标。这种模式本身很显眼,搜索引擎会不会因此调整对目标地址的判断,谁也保证不了。相比之下,分散的链接指向显得自然得多。

跳转链越接越长

有些入口页为了统计点击,先跳到一个中转地址再跳目标,一层变两层。每加一层,搜索蜘蛛能走到底的概率就低一点。能一步到位就别接两层。

301 之后又反悔

301 会被搜索引擎缓存一段时间。你今天把入口页 301 到 A,明天改回放链接指向 B,短期内搜索引擎可能还在按旧跳转处理。要改就尽早改,别来回切。

把 301 当成收录手段

跳转只解决“地址指向”的问题,不解决“目标 URL 值不值得抓、值不值得留”的问题。目标页面本身打不开、内容空、大量重复,301 过去也不会有什么不同。

怎么验证入口页的跳转是否正确

  • 用命令行只看响应头,确认返回的是 301 或 302,而不是 200,Location 指向的是不是你预期的地址。
  • 跟随跳转看最终地址,确认最终落到目标 URL,中间没有多余的中转页。
  • 用搜索蜘蛛的 User-Agent 请求一次,确认不会因为 UA 不同而返回不一样的跳转结果。
  • 过一段时间再看抓取日志,如果搜索蜘蛛反复来抓入口页却始终不碰目标 URL,说明跳转可能没被正确识别。

小结

想让搜索蜘蛛知道“有这么个 URL”,用链接;想让搜索蜘蛛把两个地址当一个用,用 301。两者不能互相替代,也不该混着用。做决定前先问自己一句:这个入口页以后还要不要作为一个独立页面存在?答案是否定的,再考虑跳转。