同一批商品、同一篇說明,因為栏目归档、參數拼接、打印頁、移動版或歷史域名,被複製成好几個 URL,是站点里很常见的狀態。這些頁面各自都能打開,狀態碼也都是 200,但索引里通常不會把它們全部留下。理解索引怎么處理這類同内容 URL,比反复提交更有效。
索引先去重,再决定留谁
蜘蛛是按 URL 逐個抓取的,索引却是按内容做归並的。同一份主体内容出現在多個 URL 上时,搜尋引擎會先判断它們是不是同一份,再從中挑一個作為展示用的 URL,其余的要么被合並,要么留在库里但不參與展示。
所以看到收錄數明顯少于 URL 數时,先別急着当成收錄失敗。有一部分 URL 從一開始就不适合獨立占一個索引位。
常见的重复来源
- 栏目路径不同、内容相同,比如 /a/123 和 /list/a/123
- 排序、分頁、来源追踪參數拼接出的副本
- 打印頁、移動版、AMP 等平行展示版本
- 带和不带结尾斜杠、带和不带 index.html
- 歷史域名或測試域名仍然可以解析訪問
- 被采集或轉载後形成的站外同文
索引倾向留下哪一個 URL
当多個 URL 内容相近,索引會更倾向于選擇信号更集中的那一個。常见的影响因素有:
- 被内鏈指向更多、入口更靠近首頁的那個
- 外部連結更多指向的那個
- canonical 指向一致、全站没有互相矛盾的那個
- URL 更简洁、參數更少的那個
- 抓取和加载都更稳定的那個
需要留意,這是倾向而不是規則。同一批頁面在不同時間点被選中的 URL 有可能變化,尤其在 canonical 與内部連結指向不一致的时候。
與其猜测索引最终會挑哪個 URL,不如让全站信号都指向同一個 URL,把這道選擇题變简單。
收敛思路:先定主 URL,再统一信号
收敛的核心是選定一個主 URL,然後让所有相關信号都指向它:
- 内部連結一律指向主 URL,不在列表頁、面包屑里混用變体
- canonical 指向主 URL,且主 URL 自身自指
- sitemap 里只放主 URL
- 對确實不需要獨立存在的變体,用 301 或在入口层面直接去掉
- 能靠參數生成的副本,尽量在連結生成阶段就不产生
這里最容易出問题的是半收敛:canonical 已经指向主 URL,但列表頁和面包屑還鏈向變体,两套信号互相矛盾,索引只能自己再判断一次。
收敛之後看什么
观察点可以分成三层:
- 變体 URL 是否還在被频繁抓取。如果抓取量没降,通常說明入口還没清理干净。
- 主 URL 是否稳定出現在索引里,並且對應到正确頁面。
- 搜尋结果中展示的 URL 是否稳定,避免在几個變体之間来回跳。
這個過程往往需要几轮抓取周期,不必每天反复調整 canonical 或重复提交。频繁改動信号,反而會让判断更难收敛。
站外同文能做的有限
站外轉载造成的同文,站内可操作的空間不大。能做的還是那几件事:让主 URL 的内外鏈信号更集中,保證首發時間可查,内容本身带有不易搬运的部分。指望靠一個标簽就让別人的轉载頁面消失,並不現實。
同内容多 URL 的收錄問题,本质不是让搜尋引擎收下更多頁面,而是把重复的部分合並掉,让真正需要被搜到的那個 URL 拿到更干净的信号。先理清哪些 URL 本该只有一個,再谈收錄數量。