改版时顺手把 URL 结构一起換掉,是最容易引起收錄波動的操作之一。收錄量下滑不等于被惩罚,更常见的原因是老地址的交接没做完、新地址還没被有效發現。與其盯着總量焦虑,不如按顺序把交接鏈路核對一遍。
一、先確認這次到底改了什么
只改路径、換域名、換协议、改動參數規則,對收錄的影响完全不同,先分清類型再谈處理方式。
- 只改路径:老地址 301 到新地址即可,信号可以传递,處理相對简單。
- 換域名:两套站点同时可訪問,容易出現重复内容和新老混杂。
- 协议切換:http 換 https 时,注意内鏈、图片、站内搜尋里是否還残留 http 版本。
- 參數規則改動:可能生成一批新的 URL 變体,需要重新决定哪些该被收錄、哪些该收敛。
二、老地址到新地址,最好一跳到位
逐层跳轉會让爬虫多花時間,也增加中途失敗的概率。把 a→b→c 压成 a→c,同时检查這几点:
- 老地址返回 301 而不是 302,跳轉目标頁返回 200。
- 跳轉目标是對應内容的新地址,而不是统一丢到首頁。
- 不要用 JavaScript 跳轉或 meta refresh 代替服務端重定向。
- 跳轉鏈里不要出現循环,也不要跳到已经不存在的頁面。
如果老地址已经返回 404,或者老目錄被 robots.txt 整体屏蔽,之前在這個地址上积累的信号就很难再传過去。
三、新地址要被發現,入口得给够
導航與内鏈
站内導航、面包屑、相關推荐、栏目列表里的連結是否已经指向新地址,而不是還停在老地址上。内鏈仍然是爬虫發現新頁面的主要途径,只改 sitemap 不改内鏈,效果有限。
Sitemap 與提交
更新 sitemap 时不要只留新地址就算完事,網頁版 sitemap 要與實际可訪問的地址一致,避免里面還混着已经不返回 200 的老地址。
站内搜尋與外部連結
站内搜尋结果、舊的外部連結、合作方頁面上的連結,往往會在很長一段時間里繼續指向老地址。這些入口反而能帮你把爬虫带到新地址,前提是重定向還在正常工作。
四、把信号調到一致
- canonical 指向最终的新地址,不要一邊 301 一邊 canonical 指向老地址。
- 頁面上不再出現老地址的可见文字連結,包括頁脚和版權区。
- 结构化資料、分享按钮、图片與静態资源地址都換成新域名。
- 不要一邊做 301,一邊在 robots.txt 里屏蔽老目錄,两套指令互相打架。
五、观察时把三個口径分開看
抓取日誌看新地址有没有被抓、抓了多少次;索引报告看哪些新地址已经進入索引;site: 查询只能粗略看總量。三者對不上是常態,先看趋势方向,再看具体頁面,不要因為某天數字下降就立刻改規則。
六、几個常见的坑
- 過渡期同时上线两套可訪問的地址,老站没有做重定向,形成重复内容。
- 老地址 301 到新地址,新地址的 canonical 又指回老地址。
- 只更新了 sitemap,導航和正文内鏈還全是老地址。
- 上线当天服務器频繁返回 503,或临时加了全站 robots 屏蔽,抓取直接被挡在门外。
七、過渡期怎么安排
建议老地址的 301 至少保留數月,等新地址的抓取趋于稳定、索引量回升之後再考虑清理。清理前先確認没有重要的外部連結還在指向老地址。整個過程不必频繁改動規則,按上面的顺序逐項核對完,再观察日誌和索引报告的變化即可。