常见問题

入口頁直接 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。两者不能互相替代,也不该混着用。做决定前先問自己一句:這個入口頁以後還要不要作為一個獨立頁面存在?答案是否定的,再考虑跳轉。