很多站点收錄上不去,並不是頁面质量差,而是同一個頁面被拆成了好几個 URL。搜尋引擎在每個地址上都看到一個内容差不多的頁面,外鏈和站内權重被摊薄,收錄自然零散。這類問题在覆盖率报告里常表現為重复網頁,或者搜尋引擎選擇的規范網頁與站点指定不一致。
同一份内容為什么會變成多個 URL
多數情况不是刻意為之,而是技術细节没统一:
- 大小寫不统一:/About 和 /about 在部分服務器上是两個地址,各自都能返回 200。
- 结尾斜杠不一致:/article 與 /article/ 都能打開,谁也没重定向到谁。
- 跟踪參數:分享連結自動带上来源參數,每次传播生成一個新地址。
- 排序與篩選參數:列表頁的排序、分頁、篩選條件组合出大量近似的 URL。
- 协议與域名變体:http 與 https、带 www 與不带 www 同时可訪問。
- 歷史遗留入口:打印頁、舊版模板頁面、带會话标识的地址仍在线上。
先确定每個頁面的唯一地址
處理顺序不要颠倒,從最彻底的一层做起。
第一层:站内連結只指向一個版本
導航、面包屑、正文内鏈、站点地图、RSS 里出現的地址必须完全一致。站内自己都在混用两個版本,規范标簽的说服力會被明顯削弱。
第二层:能 301 的就 301
大小寫、结尾斜杠、www 這類變体,最直接的做法是 301 到規范地址,让用戶和爬虫都落到同一個地方。這比只寫規范标簽更彻底,因為它不依赖搜尋引擎的判断,也不需要等待重新處理。
第三层:canonical 處理無法重定向的情况
带參數的列表頁、打印頁這類頁面往往需要保留訪問能力,不方便直接跳轉,這时用規范标簽指向主版本。要注意它是建议而非指令,所以必须和前两层配合,不能單獨依赖。
301 解决的是不让變体被訪問,規范标簽解决的是告诉搜尋引擎哪個是主版本。两者解决的問题不同,不能互相替代。
带參數的頁面该不该收口
排序、篩選參數不一定都要規范到列表首頁。判断标准很简單:這個 URL 是否提供了別處没有的内容。如果參數只是把同一批结果重新排列,規范到無參數版本更合适;如果參數组合能形成獨立的、有價值的主题頁,保留並單獨優化也说得通。怕的是既不收口,也不给它足够的入口和内容,让它長期停在半收錄狀態。
上线前的检查清單
- 用站内搜尋或抓取工具找出指向同一内容的多個地址。
- 逐個確認變体返回的狀態碼,是 301 還是 200。
- 检查規范标簽是否自引用,指向的地址是否可正常訪問。
- 核對站点地图中的地址與站内連結、規范标簽是否三方一致。
- 观察覆盖率报告里重复網頁、已發現但未编入索引的數量變化。
規范化做對了,也不等于會被收錄
URL 規范化只是把頁面归拢到一個地址上,它解决的是分散問题,不解决内容质量和抓取權限問题。地址统一之後,是否被收錄仍要看頁面本身是否值得索引、是否允许抓取、是否有足够的站内入口。把規范化当成前提條件,而不是收錄的保證。
這項工作也不是一次性的。模板改動、活動頁上线、參數逻辑調整、域名迁移,都可能重新引入變体。把它固定成上线流程里的一道检查,比事後從索引里慢慢清理省力得多。