網站收錄

同一頁面被拆成多個 URL:大小寫、斜杠、參數版本该怎么收口

同一頁面被拆成多個 URL,會让收錄分散、更新不同步。本文梳理常见的地址分裂来源,区分哪些该合並、哪些该單獨保留,並给出 301、canonical、内鏈與站点地图的统一顺序,以及收口後的观察要点。

網站收錄

同一頁面被拆成多個 URL:大小寫、斜杠、參數版本该怎么收口

同一個頁面在搜尋引擎眼里變成好几個地址,是收錄里很常见的一類問题。表現是索引中出現多個相似 URL,權重被分散,内容改了一版却只更新了其中一個。多數情况不是蜘蛛抓错了,而是站点自己给了它太多入口。

常见的 URL 分裂来源

  • 大小寫:/Page 與 /page 在部分服務器上属于两個地址。
  • 结尾斜杠:/a 與 /a/ 同时可訪問,且都返回 200。
  • 协议與域名:http、https、www、非 www 混用。
  • 跟踪參數:?from=xxx、?utm_source=xxx 生成大量變体。
  • 參數顺序與重复:?a=1&b=2 與 ?b=2&a=1。
  • 分頁、排序、篩選參數被当成獨立内容頁處理。
  • 會话 ID、打印頁、移動獨立域名等歷史遗留地址。

先分清哪些算同一個頁面

判断依據不是 URL 長得像不像,而是主体内容是否一致:标题、核心正文、主要模块是否相同。只有參數不同、结果集完全一样,通常算同一頁面;篩選後展示的是另一批商品或另一组文章,它其實是不同的頁面,需要單獨考虑是否值得收錄。

该合並的

  • 只差跟踪參數、大小寫、斜杠、协议域名的地址。
  • 排序方式不同,但内容集合相同的列表頁。

该單獨對待的

  • 篩選出真實不同结果集,並且确實有搜尋需求的頁面。
  • 分頁中的關键頁,尤其是有内鏈入口、深度較大的頁。

收口的顺序建议

  1. 先定一個規范地址:协议、域名、路径寫法全站统一。
  2. 服務端做 301:把舊寫法、大小寫變体、带跟踪參數的地址跳到規范地址,而不是都返回 200。
  3. 内鏈全部指向規范地址:導航、面包屑、正文連結、分頁連結都要改,別只改一處。
  4. canonical 與 301 保持一致:canonical 指向的地址應就是 301 的目标,不要互相矛盾。
  5. 站点地图只提交規范地址,减少額外入口。
  6. 參數頁按價值處理:無價值的篩選组合用 noindex 或 robots 收口,结果唯一且有價值的保留,並给獨立标题。

收口之後要观察什么

  • 日誌中這些變体地址的抓取是否下降,是否轉向規范地址。
  • 索引里相似 URL 的數量是否在减少,這通常需要時間,不會立刻變化。
  • canonical 是否被采纳,可以看搜尋引擎最终選擇的規范地址。
  • 規范地址自身的收錄與表現是否稳定,而不是只看索引總數。
301 是给蜘蛛的强信号,但不是立刻生效的開關。舊地址在索引里存在一段時間属于正常現象,重点是不让多個可訪問、可被抓取的版本長期並存。

几個容易踩的坑

  • 用 JS 跳轉代替 301,蜘蛛未必按预期跟随。
  • canonical 指向一個本身返回 404 或需要登入的地址。
  • 把所有參數頁一刀切屏蔽,连有搜尋需求的篩選頁也一起挡掉。
  • 只改站点地图不改站内連結,蜘蛛仍能從内鏈發現舊地址。

URL 收口本质上是减少重复入口,让同一個頁面只留下一個明确身份。先把地址统一,再谈收錄推進速度,顺序反了往往會反复返工。