改版或換域名,是收錄最容易出問题的動作之一。原因不复杂:搜尋引擎手里存的還是舊 URL,你得把“舊地址”一点点換成“新地址”,而且要让抓取、索引、内鏈這几條线同时跟上。任何一條没交接好,收錄就會出現回落、變慢,或者新舊地址混着都存在的情况。
先分清迁移中同时發生的三件事
很多人把迁移当成“換個域名”一步操作,其實它至少包含三层變化:
- URL 變了:舊 URL 全部失效,需要被重新發現,並给出明确的新地址。
- 抓取路径變了:蜘蛛要重新爬新站,新站的 robots、狀態碼、内鏈深度都會影响它能爬多快。
- 索引要重建:新 URL 需要重新走一遍评估流程,舊 URL 的索引要先登出,再被替換。
把這三件事混在一起看,就容易得出“換了域名收錄就掉”的结论。實际上掉的是舊 URL 的索引,新 URL 還没补上来,中間的空档期本身是正常的。
迁移前:先收敛舊站,再决定搬什么
搬家前把舊站整理一遍,比搬完再救要省力得多。
- 确定新 URL 規則:尽量做到一個舊 URL 對應一個新 URL,路径结构不要大改。层級、目錄名、大小寫、结尾斜杠都提前定死,避免同一頁面在新站产生多個變体。
- 篩選要搬的 URL:舊站里的參數頁、會话 ID 頁、搜尋结果頁、空列表頁,本来就没必要進索引,迁移时可以直接返回 410,不必一起带過去。
- 检查新站能不能被抓:robots.txt、登入墙、IP 白名單、CDN 拦截,這些在測試环境很常见,上线後忘了關,蜘蛛来了就什么都拿不到。
迁移顺序:從“能被發現”到“能替代舊頁”
顺序比速度重要,可以參考下面的推進节奏:
- 先让 301 生效:舊 URL 到新 URL 一一對應,返回真正的 301,而不是 JS 跳轉或 meta refresh。跳轉鏈尽量只有一跳。
- 再提交新站 sitemap:sitemap 管的是發現,不是收錄,但迁移阶段它能帮蜘蛛更快知道新 URL 的存在。
- 然後切内鏈:導航、面包屑、相關推荐、正文里的站内連結,都改成新 URL。外鏈改不了没關系,内鏈是自己能控制的。
- 最後確認頁面級信号:canonical、hreflang、移動版指向,都要同步換成新域名,不要出現 canonical 還指着舊站的情况。
- 舊站保留一段時間:301 保持有效,直到舊 URL 的抓取量明顯下降、新 URL 的索引基本稳定,再考虑關停。
几個反复出現的坑
- 全站 301 到首頁:這相当于主動放弃已有内容,蜘蛛只能從首頁重新發現每個頁面,非常慢,也容易被当成软 404 處理。
- 新舊域名同时可訪問:两邊都返回 200、内容一样,信号被分散,還容易形成重复内容。要么 301,要么明确 canonical,不要“留着看看”。
- 只換域名不改内鏈:蜘蛛從舊頁面進来,發現内鏈還指向舊 URL,就要反复走 301,抓取效率被白白浪費。
- URL 變体没收敛:带參數、大小寫差异、斜杠有無,這三類最容易在迁移时批量产生。迁完後做一次抽样對比,確認每個舊 URL 只指向一個新地址。
迁移期間不要只盯着 site 查询的數字。更值得看的是:舊 URL 的 301 命中量有没有下降,新 URL 有没有被稳定抓取,以及新老頁面是否成對出現。這几個指标比一個總數更能說明交接有没有完成。
迁移後怎么观察和收尾
迁移完成後的一段時間,重点看三件事:抓取是否稳定落到新站、新 URL 的索引是否逐步建立、舊 URL 是否在减少。如果新站抓取正常但索引一直不上来,回到内容层面看頁面质量,而不是繼續加提交入口;如果舊 URL 長時間不登出,检查是不是還被内鏈或 sitemap 指向。
最後提醒一点:迁移不是一個動作,而是一段交接期。把顺序做對、把 URL 收敛干净、把该關的入口關掉,收錄的恢复通常只是時間問题;反過来,顺序做错,後面补救的成本會高很多。