網站收錄

同一個頁面被寫成多個地址:大小寫、结尾斜杠和 www 的收口方式

很多收錄問题不是内容不够,而是同一頁面被当成了好几個地址:大小寫、结尾斜杠、www、http/https、index.html 各自返回 200。本文讲清這些變体如何产生、如何在日誌和 site 查询里自查,以及先定規范形式、再用 301 在服務器层收口的處理顺序與常见坑。

網站收錄

同一個頁面被寫成多個地址:大小寫、结尾斜杠和 www 的收口方式

不少站点在收錄层面卡住,原因不是内容太少,而是同一個頁面被搜尋引擎当成了好几個地址。差异往往只在一個字母的大小寫、结尾有没有斜杠、有没有 www,而服務器對這些寫法都老老實實返回了 200。于是這些地址各自被抓取、各自進入索引,之後才轮到搜尋引擎去判断它們是不是同一頁内容。

常见的几種地址分叉

  • 大小寫:/About 和 /about 在多數 Linux 服務器上是两個不同路径。如果程序對两者都返回相同内容,就等于對外提供了两個可訪問地址。
  • 结尾斜杠:/news 與 /news/ 同时能打開,在目錄式路径上非常普遍。
  • 协议與主机名:http 與 https、带 www 與不带 www,如果四種组合都能訪問,一個頁面就有了四個入口。
  • 預設文件:/index.html、/index.php 與根目錄 / 指向同一份内容。
  • 歷史遗留入口:用過的測試域名、服務器 IP、非标准端口,只要還能打開,就可能被外部連結或舊文档带出来。

搜尋引擎會怎么處理這些變体

搜尋引擎确實有合並相似頁面的机制,會尝试挑出一個主版本,把其他寫法当作重复地址處理。但這件事有两個前提:一是它需要先分別抓取這些地址,才能知道内容一样;二是合並属于判断结果,不是即时生效的開關。也就是说,在你把地址统一之前,這些變体已经消耗了一部分抓取机會,也让外鏈和点击資料被拆散在多個地址上。

所以更稳妥的做法不是指望搜尋引擎替你合並,而是別让多余的寫法产生。

自查:站点到底暴露了多少個地址

  1. 翻服務器訪問日誌,按搜尋引擎的 UA 篩選,看它實际抓取過的 URL 有哪些寫法變体,重点看路径大小寫和结尾斜杠。
  2. 用 site 查询主域名,观察结果里出現的地址前缀是 http 還是 https、有没有 www,是否统一。
  3. 手動抽查几條重要頁面:把大小寫改一下、把结尾斜杠去掉或加上、把协议換一下,看是否仍然返回 200。

這三步做完,通常就能列出一份需要收口的地址清單。

收口的顺序

顺序比手段更重要,先确定唯一形式,再让其他形式向它靠拢。

  • 先定規范形式:协议用哪個、主机名带不带 www、路径是否区分大小寫、结尾是否统一带斜杠、要不要保留 index 文件名。這一步是站内约定,越简單越好。
  • 服務器层做 301:把其他寫法永久重定向到規范形式。相比标簽提示,服務器返回的重定向是确定性的。
  • 站内保持一致:内鏈、導航、站点地图、canonical、分享按钮里的地址,全部使用規范形式,不要一邊 301 一邊還在内鏈里用舊寫法。
  • 外鏈尽量修正:能联系到的合作方改過来最好,改不了的部分交给 301 兜住即可。
当頁面同时發出互相矛盾的信号时,搜尋引擎只能自己猜。301 指向 A、canonical 寫着 B、站点地图里又是 C,這種頁面往往最难稳定下来。

容易踩的几個坑

  • 重定向鏈太長:http 跳到 https、再跳到带 www、再补一個结尾斜杠,一层层跳會拖慢抓取,尽量一步跳到最终地址。
  • 只寫 canonical 不做重定向:canonical 是提示,适合作為辅助,不适合替代服務器层的跳轉。
  • 把跳轉用在内部還在用的入口上:内部連結直接改成規范地址更干净,301 留给外部引用和确實過期的舊地址。
  • 上线後不再观察:重定向加完,仍要看日誌里舊寫法的訪問是否在减少,索引里的舊地址是否在慢慢替換,這通常需要一段時間。

地址统一是收錄里最基础的一层工作,做完不會立刻让排名發生變化,但它能让後續的抓取、資料統計和内容判断都少一层噪音。對中小站点来说,先把這一层理干净,往往比急着增加頁面數量更有價值。