網站收錄

大小寫、尾斜杠、http 與 https:同一條 URL 的几種寫法與收錄後果

同一條頁面因為协议、www、路径大小寫、结尾斜杠的寫法不同,可能在索引里留下多個版本,收錄數字看着變多,實际是同一個頁面被拆開。本文梳理這些變体的来源、各自的處理方式,以及 301、canonical 與站内連結的先後顺序。

網站收錄

大小寫、尾斜杠、http 與 https:同一條 URL 的几種寫法與收錄後果

同一條頁面,如果被搜尋引擎看到過 https://www.example.com/About/http://example.com/about 两個寫法,而两者都返回 200,索引里就很可能留下两條记錄。收錄數量看着多了一條,實际是同一個頁面被拆成了两份。

URL 變体通常来自這几處

  • 协议:http 與 https 是否都還能直接打開
  • 主机名:带 www 和不带 www 是否都能訪問
  • 路径大小寫:/About 與 /about
  • 结尾斜杠:/about 與 /about/
  • 參數顺序與冗余參數:?a=1&b=2 與 ?b=2&a=1
  • 编碼差异:中文路径、空格、%20 與 + 的寫法

這些差异對服務器来说可能是不同资源,對用戶来说却是同一頁。

大小寫:別指望服務器自動归一

不少主机執行在区分大小寫的文件系統上,/About 和 /about 是两個文件,两個都能返回 200。即使大小寫不敏感,也不代表搜尋引擎會替你合並。站内連結、站点地图、分享出去的地址,只要寫法不统一,就會持續产生新的變体。

可行的做法是:站内連結统一成小寫字母加连字符的形式;已经存在的大寫 URL,用 301 集中到規范版本。

尾斜杠:先確認哪種是真正的版本

把 /about 和 /about/ 分別訪問一遍,看返回碼:

  • 其中一個 301 到另一個,說明規范已经定好,按它统一即可
  • 两個都返回 200 且内容相同,属于需要處理的情况
  • 两個都 200 但内容不同,先分清是不是两個确實有区別的頁面

协议與 www:最容易漏掉的一层

http 與 https、www 與非 www 组合起来有四種狀態。理想情况是其中一種直接 200,另外三種都 301 到它。常见問题是只處理了首頁,内頁仍然能用舊协议打開;或者只做了不带 www 到带 www 的跳轉,手動輸入 https 时又绕回 http。

處理顺序建议

  1. 先确定唯一規范版本:协议、主机名、路径大小寫、结尾斜杠都定下来
  2. 在服務器层做 301,把其余寫法全部指向規范版本
  3. 内鏈、站点地图、外鏈、歷史文章里的舊地址逐步替換
  4. canonical 作為补充信号,不是 301 的替代品,重定向做不到时再用它兜底
  5. 观察 Search Console 里“重复網頁,Google 選擇的規范網頁與用戶選擇的規范不同”這類提示,以及备用網頁的走向

两個常见誤区

誤区一:只寫 canonical 就行。canonical 是提示,301 才是把信号直接合並的方式。能用重定向解决的,優先重定向。

誤区二:只看首頁。首頁一般没問题,出問题最多的往往是分頁、篩選參數、老文章和自動生成的詳情頁。

如果你在用主動推送或蜘蛛池一類手段加速 URL 發現,推送的地址要和規范版本保持一致。推的是 301 之前的舊寫法,等于把蜘蛛反复引向即將被合並的那一條,白花抓取次數。

這類調整不會立刻改變索引结果,通常要等蜘蛛重新抓取並處理重定向之後才逐步生效。先把寫法统一,再去看收錄數字,比反過来做要省事。