網站搬家那個週末:七十二小時的時間軸與十九次檢查
這是一份時間軸。八百三十七頁的網站,從舊平台搬到新平台。
時間是二〇二五年五月的一個週末。從週五下午六點到週一下午六點。
我把當時的工作群組訊息與檢查紀錄整理成這篇。時間都是實際發生的時間。
網站搬家會掉流量。掉多少、掉多久,取決於搬家之前那兩週做了什麼,不是搬家當下有多小心。
搬家前兩週:把清單做出來
第一份清單是完整網址表。用爬蟲軟體跑舊站,匯出八百三十七個網址,每一個帶著狀態碼、標題、描述、H1、canonical。
第二份清單是流量表。從分析工具匯出最近十二個月的到達頁,按工作階段排序。前兩百頁佔了總流量的八成七。
第三份清單是外部連結表。用外連工具匯出有反向連結的頁面,共一百一十四頁。這一百一十四頁不能死。
第四份清單是轉址對照表。舊網址對新網址,一對一。八百三十七列,沒有一列空白。
做這四份清單花了六天。搬家當天的順利程度,決定在這六天。
週五 18:00 到 21:00
十八點整,在舊站的公告區貼出維護通知。同時把 Search Console 的變更網址工具頁面打開備用。
十八點二十,資料庫備份完成,檔案備份完成。兩份都下載到本機,不只放在主機上。
十九點,新站在測試網域上做最後一次爬蟲。發現三十一頁的 canonical 還指向測試網域。修正。
二十點十分,第二次爬蟲。發現十四頁的圖片路徑仍指向舊主機。修正。
二十一點,第三次爬蟲。乾淨。
週五 21:00 到 週六 02:00
二十一點三十,DNS 的存留時間先調到三百秒。這一步應該在四十八小時前做,我們提早了三天。
二十二點,切換 DNS。
二十二點四十,第一批使用者開始進入新站。錯誤日誌出現七十二筆 500 錯誤,集中在會員登入。
二十三點十五,登入問題修正。原因是新主機的工作階段設定不同。
零點到兩點,逐一測試轉址。八百三十七條,用指令碼跑一輪,紀錄狀態碼。
結果是八百一十九條回 301,十一條回 404,七條回 302。
十一條 404 全部是舊站的分頁參數網址。七條 302 是設定寫錯。兩點三十全部修正。
週六上午:十九項檢查
| 項次 | 檢查什麼 | 結果 |
|---|---|---|
| 1 | robots.txt 有沒有殘留 Disallow | 有,一行,移除 |
| 2 | 網站地圖有沒有換成新網址 | 沒有,重新產生 |
| 3 | 每頁的 canonical | 正確 |
| 4 | noindex 標籤 | 首頁沒有,三個分類頁有,移除 |
| 5 | 標題與描述有沒有遺失 | 遺失 62 頁,從清單補回 |
| 6 | H1 有沒有變成 logo | 有,改回文字 |
| 7 | 結構化資料 | Organization 遺失,補上 |
| 8 | 圖片的替代文字 | 遺失 211 張,用舊站資料回填 |
| 9 | 內部連結有沒有指向舊網址 | 有 340 條,批次取代 |
| 10 | 分析工具追蹤碼 | 裝上,測試通過 |
| 11 | 轉換事件 | 三個事件沒有觸發,修正 |
| 12 | Search Console 新資源 | 已驗證 |
| 13 | 網站地圖提交 | 已提交 |
| 14 | 載入速度 | 首頁 1.4 秒,內頁 1.8 秒 |
| 15 | 行動裝置可用性 | 通過 |
| 16 | HTTPS 與混合內容 | 兩處混合內容,修正 |
| 17 | 自訂 404 頁面 | 已設定,含搜尋框 |
| 18 | 表單送出 | 五個表單全部測過 |
| 19 | 金流測試 | 實際刷一筆一元 |
十九項花了五小時。第五項與第八項最花時間,因為要對照舊站資料。
週六下午到週日:盯著日誌
週六下午開始,我們每兩小時看一次伺服器日誌與 Search Console 的抓取統計。
Googlebot 在切換後第五小時開始大量抓取。週六一整天抓了四千一百次,是平常的三倍。
這是正常的。搬家之後抓取量會先衝高,兩到三週回到常態。
週日中午發現一件事:搜尋結果裡有一部分還顯示舊標題。這也是正常的,索引更新有延遲。
週日下午把一百一十四個有反向連結的頁面單獨拉出來,一頁一頁用網址審查工具提交。
週一 18:00 的第一份對照
| 指標 | 搬家前一週 | 搬家後一週 |
|---|---|---|
| 自然點擊 | 8412 | 6218 |
| 曝光 | 182000 | 171000 |
| 平均排名 | 14.2 | 17.8 |
| 索引頁數 | 819 | 604 |
| 轉換 | 97 | 74 |
掉了。這是預期中的。
第十四天索引頁數回到 807,自然點擊回到 7860。
第二十八天自然點擊 8790,超過搬家前。第四十二天 9640。
排名回穩的時間,八成的網站落在三到六週。超過八週還沒回來,多半是轉址表有洞。
事後檢討會上寫下的五條規則
- 存留時間要在四十八小時前調低,我們提早三天做,這是唯一一件做對而沒有代價的事。
- 轉址表要一對一,不要用萬用字元把整個目錄丟到首頁。丟到首頁的頁面,權重不會傳遞。
- 舊站不要立刻關掉。留三十天,遇到漏掉的網址還救得回來。
- 標題與描述要在搬家前匯出成檔案。它們是最常在搬家過程中蒸發的東西。
- 搬家之後三十天內不要改設計、不要改資訊架構、不要改內容。同時改兩件事,出問題找不到原因。
這五條寫在我們的交接文件第一頁。後來十四次搬家,沒有一次超過六週還沒回穩。
那十一條 404 教會我的事
週六凌晨兩點,我盯著那十一條回 404 的網址看了很久。
它們全部是舊站的分頁參數網址,像是商品列表的第二頁、第三頁。這些頁面在流量表上一筆都沒有,在外連表上也沒有。
按照道理,它們可以死。
我還是把它們轉過去了。理由是那天下午我在外連工具上看到一個論壇的討論串,貼的正好是某個商品列表的第四頁。那條連結來自二〇一九年。
流量表只看得到最近十二個月。外連表只看得到工具抓得到的。實際存在的連結永遠比清單上多。
現在我們的規則是:舊站的每一個網址都要有去處,就算它去年沒有帶來一次點擊。轉址規則多寫十一條的成本是二十分鐘,漏掉一條的成本沒有上限。
客戶在那個週末問過的三個問題
第一個問題在週五晚上十一點。老闆看到網站打不開,打電話來。我請他等四十分鐘,並且把錯誤日誌的截圖傳給他看,告訴他問題出在登入的工作階段設定,不是資料掉了。
第二個問題在週六早上。行銷主管問為什麼 Google 上搜公司名稱還是舊網站的樣子。我告訴他索引更新有延遲,通常三到十天,這段時間不要重複提交同一頁。
第三個問題在週一。財務問這次搬家值不值得。我把那張對照表給他看,並且加了一行預估:第四十二天的自然點擊會超過搬家前一成五。
第四十二天的實際數字是超過一成四點六。
搬家最難的不是技術。是在數字掉下去的那兩週裡,有沒有人願意相信這是正常的。所以那張時間軸要在搬家之前就交出去,讓所有人先看過一次掉下去的樣子。
常見問題
網站搬家會掉多少流量?
短期會掉。這次的紀錄是搬家後一週自然點擊掉 26%,索引頁數從 819 掉到 604。第十四天回到搬家前的九成三,第二十八天超過搬家前。
排名多久會回穩?
八成的網站落在三到六週。超過八週還沒回來,多半是轉址表有洞,要重新比對舊網址清單與實際狀態碼。
搬家前要準備哪幾份清單?
四份。完整網址表、十二個月的到達頁流量表、有反向連結的頁面清單、一對一的轉址對照表。這四份做完大約要六天。
轉址可以用萬用字元嗎?
不要把整個目錄丟到首頁。丟到首頁的頁面權重不會傳遞。轉址要一對一,八百多列也要一列一列對。
舊站可以馬上關掉嗎?
留三十天。遇到漏掉的網址還救得回來。同時 DNS 的存留時間要在切換前四十八小時調低到三百秒。
搬家之後可以順便改版嗎?
三十天內不要改設計、不要改資訊架構、不要改內容。同時改兩件事,出問題的時候找不到原因。
沒有流量的舊網址還要做轉址嗎?
要。流量表只看得到最近十二個月,外連工具只看得到抓得到的部分。實際存在的連結永遠比清單上多。多寫十一條規則的成本是二十分鐘。
搬家後搜尋結果還顯示舊標題怎麼辦?
等。索引更新通常需要三到十天,這段時間不要重複提交同一頁。有反向連結的重要頁面可以用網址審查工具各提交一次。
