網站收錄

換域名或改 URL 结构後:索引里的地址是怎么慢慢換過去的

換域名、改目錄结构或切 https 之後,索引里的舊地址不會同步消失,新地址也不會立刻顶上。這篇文章讲清楚 301 该怎么做、迁移期要盯哪些指标、哪些操作會让替換過程變慢,以及什么时候该停下来观察而不是繼續改。

網站收錄

換域名或改 URL 结构後:索引里的地址是怎么慢慢換過去的

換域名、把 http 切成 https、或者把原来的目錄结构整体調整一遍,這些操作在後台可能几分钟就完成了,但在搜尋索引里,地址的替換是一個分批次、持續數周甚至數月的過程。不少人改完之後第二天就去查收錄,發現舊地址還在、新地址没進来,就開始怀疑是不是哪里做错了。多數情况下,這不是出错,而是還没走完。

為什么索引不會同步搬家

索引是以 URL 為單位组织的。一個頁面被收錄,记錄的是這個具体地址,而不是背後的内容。当你換了域名,對索引来说,等于舊地址上的内容消失了,同时出現了一個内容相同、地址不同的新頁面。這两件事要分別處理:舊地址需要被抓取、识別為永久跳轉、逐步從索引里退场;新地址需要被發現、被抓取、被確認值得收錄。

這個過程不是一次完成的。蜘蛛會多次回訪舊地址確認跳轉關系稳定,也會分批抓取新地址。站点規模越大,這個队列越長。所以迁移期出現新舊地址同时存在于索引里的情况,是正常的中間狀態,不必因此判断迁移失敗。

迁移前應该確認的几件事

  • 301 逐條對應,不要全站跳首頁。舊文章的地址應该跳到新域名下對應的那篇文章,而不是统一跳首頁。全站跳首頁會让搜尋引擎認為原来的頁面内容已经消失,新地址也得不到明确的對應關系。
  • 用 301 而不是 302 或 JS 跳轉。302 表示临时,不會推動地址替換;JS 跳轉和不跳轉差別不大,蜘蛛未必會执行。
  • 新域名本身可以抓取。检查 robots.txt 有没有誤挡、服務器有没有對新域名做訪問限制、證书是否正常。新站被挡住,後面的步骤都無從谈起。
  • canonical 指向新地址。如果頁面里還留着舊域名或舊路径的 canonical,等于自己给了矛盾的信号。
  • 站内連結改成新地址。導航、面包屑、正文内鏈如果還指向舊地址,蜘蛛每爬一次就多走一次跳轉,新地址的發現速度也會慢。
  • 站点地图更新為新域名。舊站点地图可以保留一段時間,帮助蜘蛛回头處理舊地址,但不要長期只提交舊的。

舊域名先別急着下线

常见的失誤是:新站上线当天就把舊域名的解析停掉,或者把舊站目錄删干净。這样 301 就失效了,蜘蛛回来时得到的是一片無法訪問,原本可以平稳传递的對應關系直接断掉。

比較稳妥的做法是让舊域名繼續解析、繼續返回 301,持續至少几個月,直到索引里舊地址的數量明顯下降、新地址基本接手之後再考虑停止。舊域名如果本身有較多外部連結指向,保留的時間應该更長。

迁移期盯什么

這段時間不需要天天改東西,但需要定期看几個信号:

  • 服務器日誌里新舊地址的抓取比例。健康的過程是舊地址抓取量逐步下降、新地址逐步上升。如果舊地址一直占绝大多數,說明新地址的發現路径不够通畅。
  • 索引中舊地址數量的變化趋势。看趋势,不看單日數字。索引波動很常见,一周之内的上下浮動說明不了什么。
  • 新地址第一批被收錄的頁面類型。通常是首頁、栏目頁和連結較多的頁面先進入,深层的詳情頁靠後,這個顺序和平时收錄节奏一致。

容易拖慢迁移的几種做法

一是新舊两套内容同时可訪問。有人為了"保險",舊站繼續保留完整内容、只做部分跳轉,结果两個地址都能打開,搜尋引擎需要自己去判断哪一個是目前版本,替換過程會被拉長。

二是迁移和改版一起做。換域名的同时把模板、栏目结构、正文内容全部重寫,等于在多個變量同时變化的情况下判断問题,一旦出現異常,很难定位是哪一步導致的。比較合理的顺序是先完成地址迁移,稳定一段時間之後再做内容或结构上的調整。

三是频繁回头改動跳轉規則。今天改一批 301,明天又換回来,蜘蛛每次抓到的结果都不一样,會降低對這批地址的判断效率。跳轉規則在迁移前就應该梳理清楚,上线後尽量保持稳定。

什么时候算迁移完成

没有一個明确的完成时刻,可以按几個條件大致判断:索引里新地址的數量接近迁移前的水平,舊地址只零星残留,日誌中新地址成為抓取主体,跳轉仍然有效。到了這個阶段,舊域名的 301 也建议再保留一段時間,而不是立刻撤掉。

整個過程的核心其實很简單:让每一個舊地址都能明确指向對應的新地址,让新地址尽快被連結和站点地图暴露出来,然後给這個過程留出時間。急着驗證结果、反复調整規則,往往會比按部就班更慢。