迁移之後,索引里為什么會新舊两種 URL 並存
換域名、改目錄结构、把 http 換成 https、把 /p/123.html 改成 /article/123,這類動作做完之後,服務器上的跳轉是即时生效的,但搜尋引擎索引里的记錄不是。索引是一份需要被更新的副本,舊 URL 的记錄要等蜘蛛重新訪問、確認跳轉、抓取新頁面、重新评估之後,才可能被替換。這段新舊並存的時間,就是迁移期的收錄交接期。
問题在于,交接期的表現很容易被誤讀。有人看到舊 URL 還在索引里,就以為迁移失敗了;有人看到新 URL 已经出現,就以為大功告成,把後續该做的事停掉。這两種判断都下得太早。
先確認迁移本身是不是“干净”的
交接慢,多數时候不是搜尋引擎的問题,而是迁移動作留下了尾巴。可以按下面的顺序自查:
- 跳轉是不是單跳。舊 URL 直接 301 到新 URL。如果中間還夹着一层甚至两层,每次訪問都要多走一步,蜘蛛確認成本會變高。
- 是不是全站覆盖。只跳首頁、只跳主要栏目,而列表頁、詳情頁、分頁、老文章仍然以 200 可訪問,索引里自然長期保留两份。
- 内部連結有没有換過来。導航、面包屑、相關推荐、正文内鏈、sitemap 都指向新 URL,蜘蛛才有机會顺着站内路径稳定發現新地址。舊連結留在頁面里,等于自己在给舊 URL 續命。
- canonical 指向哪里。新頁面自指,舊頁面要么 301 要么不出現,別寫成“新頁面 canonical 到舊地址”這種反着的用法。
- 別顺手把舊站封死。舊域名如果整個 robots.txt 禁抓或者全站 noindex,蜘蛛就没有机會看到 301,交接會被卡住。想收口的是舊 URL 的可訪問性,不是舊 URL 的可發現性。
過渡期该看哪几個信号
不要只盯着“收錄量”這一個總數。迁移期更该看的是结构性的變化:
- 舊 URL 被抓取时,返回的是不是 301,跳轉目标是不是正确的那個新地址。
- 新 URL 是否開始被蜘蛛訪問,訪問频率有没有從零星變成稳定。
- 索引中舊 URL 的數量是否在缓慢下降——這個過程通常是渐進的,很少某天突然清空。
- 搜尋结果的落地頁是否從舊 URL 切到新 URL,点击與展現是否跟着轉移。
- 重要頁面(首頁、核心栏目、高價值内容)是否先完成交接,長尾内容落後属于常见情况。
看總量容易被站点規模差异掩盖,看“重要頁面的新舊比例”更有判断力。
容易拖慢交接的几種做法
新舊两版同时可以正常訪問
這是最常见也最伤的一種。内容一样、都能打開、都不做声明,搜尋引擎只能自己選一個,而且選擇结果可能反复。長期看两份同时被索引,信号也被拆開。
只改域名,不改内容里的绝對地址
正文、图片、CSS、内鏈里寫着舊域名的绝對地址,蜘蛛顺着這些地址又走回舊站,等于自己制造循环。
迁移和改版同时做
換域名、換模板、換 URL 结构、換内容组织方式同时進行,一旦出問题就無法判断是哪一步造成的。稳妥的做法是拆開、分批推進。
一個可以照着执行的检查顺序
- 列出舊 URL 與新 URL 的對應表,確認覆盖到詳情頁、列表頁、分頁和已废弃頁面。
- 逐條驗證跳轉:狀態碼、跳轉目标、是否單跳、是否覆盖全量。
- 更新站内所有内部連結與 sitemap,只保留新 URL。
- 確認新頁面可被抓取、可被索引:robots、meta、登入墙、脚本渲染都過一遍。
- 观察抓取日誌里新舊 URL 的訪問比例變化,而不只看报表上的收錄總數。
- 對長期仍被訪問的舊 URL,检查是否還有站外連結或站内残留指向它。
關于時間预期
交接速度取决于站点規模、頁面數量、抓取频率和外鏈分布,没有统一的時間表。小站可能較快看到明顯切換,内容量大的站点分层推進、持續數周甚至更久都属正常。能控制的是迁移動作是否干净、信号是否一致;不能控制的是搜尋引擎什么时候更新某一條记錄。所以在過渡期,重点是把该做的動作做完整,然後按节奏观察,而不是每天看一次收錄總數就改一次策略。