蜘蛛识別一個頁面,主要靠 URL。同一個内容如果存在多個可訪問地址,就等于给蜘蛛開了多個入口。抓取會分散,索引阶段還要額外判断该保留哪一個。很多“收錄對不上”的問题,源头不是内容质量,而是 URL 變体没有收敛。
先分清“可訪問”和“規范”是两回事
服務器可能對 /Page、/page、/page/、/page/index.html 都返回 200。對用戶来说都能打開,對蜘蛛来说却是多個 URL。可訪問不等于應该被收錄,更不等于應该被索引。規范 URL 是你希望搜尋引擎使用的那一個,其余變体最好通過跳轉或标记指向它。
常见的 URL 變体有哪些
- 大小寫不同:/About 與 /about 被当成两個地址。
- 末尾斜杠不同:/news 與 /news/ 可能各抓一次。
- 預設文件:首頁 / 與 /index.html 同时可訪問。
- 主机與协议:http 與 https、www 與非 www 並存。
- 追踪參數:分享連結、广告參數给同一頁面生成不同 URL。
- 排序篩選參數:列表頁的排序、分頁參數形成大量近似地址。
蜘蛛會怎么處理這些變体
蜘蛛先抓取,再判断内容是否重复。它可能選其中一個作為規范 URL,把其他變体收錄但不展示,或者干脆不索引。選擇依據通常包括站内連結指向、canonical 标记、sitemap 里提交的地址,以及歷史抓取和点击資料。需要记住:被抓取不等于被索引,變体被抓到也不代表會全部進入索引。
自查顺序:先看日誌和索引,再改站内
- 用 site 查询或索引报告,看各個變体分別是什么狀態。
- 查服務器日誌,統計不同變体的抓取频次,確認蜘蛛是否在重复抓取。
- 用 URL 检查工具查看搜尋引擎選擇的規范 URL。
- 再决定用 301 還是 canonical,不要一上来就批量改。
如果日誌里某個變体抓取量很高,但索引里没有它,說明蜘蛛已经發現了重复,只是没有把它当成規范頁。這时優先處理站内入口,比反复提交 sitemap 更有效。
處理方式:優先 301,其次 canonical
如果确定只保留一個版本,用 301 永久跳轉最直接,能把舊 URL 的信号传递到目标頁。canonical 是提示,不是强制指令,适合不能做跳轉的场景,比如參數頁、打印頁。無论用哪種方式,都要保證目标 URL 本身可訪問、返回 200,並且不是另一個跳轉鏈的中間地址。
站内連結、導航、面包屑、分享按钮、sitemap 里的地址,都要统一到規范 URL。只改 canonical 而内鏈仍混用變体,蜘蛛還是會從多個入口反复發現舊地址。
容易踩的坑
- 内鏈一部分带斜杠,一部分不带,站内自己制造變体。
- sitemap 把大小寫、參數變体全部提交,等于主動告诉蜘蛛這里有多個地址。
- canonical 指向一個 301 或 404 的 URL,規范信号落空。
- 用 JS 跳轉代替 301,蜘蛛可能先抓到舊頁再执行跳轉,過程更慢。
- 只處理 PC 端 URL,忽略移動端或 AMP 版本的對應關系。
收錄問题的排查顺序通常是:先確認蜘蛛能不能抓到,再確認抓到的是不是規范 URL,最後才看頁面质量。URL 變体属于第二步,却经常被当成第一步来改。
观察节奏
改完跳轉或 canonical 後,索引不會立刻切換。可以观察两三周:看日誌里舊 URL 的抓取是否减少,看索引报告里規范 URL 是否稳定,看站内搜尋和流量是否落到目标地址。如果舊變体仍然被抓取,先检查是否還有内鏈或外部連結指向它,而不是急着重复提交。
URL 變体不會马上让頁面消失,但會让抓取预算和索引信号分散。先把站内連結统一,再處理已经存在的變体,通常比反复調整頁面内容更接近問题根源。