網站測試環境是什麼?測試站與正式站的差別與上線流程
Posted in :
網站測試環境是一套和正式站分開、只給內部與廠商使用的網站副本,又稱測試站,用來在不影響訪客的情況下試改版、更新外掛或系統版本、串接新功能,確認沒問題再搬上正式站。改版前先架測試站,是為了讓錯誤發生在沒人看得到的地方,並在上線前保留一條退路。測試站要注意兩件事:不能被搜尋引擎收錄,Google 建議以密碼保護或 noindex 處理,單靠 robots.txt 並不足夠;上線時要分清楚哪些內容從測試站搬過去、哪些資料要以正式站為準,並先備妥回滾用的備份。
測試站和正式站差在哪裡
網站開發通常會分成幾個環境。以 WordPress 為例,官方定義的環境類型有本機(local)、開發(development)、測試(staging)與正式(production)四種,可用 WP_ENVIRONMENT_TYPE 設定,沒有設定時預設為正式環境。測試站是上線前的把關環境,條件應盡量貼近正式站。
| 項目 | 正式站 | 測試站 |
|---|---|---|
| 誰看得到 | 所有訪客與搜尋引擎 | 只有內部人員與廠商 |
| 網址 | 公司網域 | 子網域、子目錄或另一個網址 |
| 資料 | 真實的訂單、會員與表單 | 正式站的副本或測試資料 |
| 金流與寄信 | 正式金鑰、真實寄送 | 測試模式,寄信只發給內部 |
| 搜尋引擎 | 開放檢索與索引 | 密碼保護並設定 noindex |
環境之間差異越小,測試結果越可信。主機的程式語言版本、伺服器設定與快取方式若和正式站不同,測試站正常、正式站出錯的情況就可能發生。
哪些變更應該先在測試環境跑過
不是每次修改都要動用測試站,改錯字、換一張圖可以直接在正式站處理。下列變更建議先在測試環境完成:
- 網站改版:版型、選單、網址結構調整,需要整站檢查。
- 系統與外掛更新:WordPress 官方建議升級前一定要備份資料庫;大版本更新,建議再先到測試站確認相容性。
- 新增功能:會員、預約、報名、金流與表單,牽涉資料寫入與通知。
- 系統串接:接 ERP、LINE 或其他 API,要在對方的測試環境驗證各種情境。
- 效能與資安設定:快取、CDN 或防火牆規則,設錯可能讓整站無法瀏覽。
判斷標準可以簡化成一句話:變更若可能讓訪客看到錯誤畫面、讓訂單或表單資料寫錯,就先在測試站做。改版各階段要檢核的項目,可搭配網站改版流程與檢核重點一起規劃。
建立測試站的三種做法
同主機的子網域或子目錄
在同一個主機帳號下開一個子網域或子目錄,把正式站的檔案與資料庫複製一份過去。好處是環境和正式站相同、成本低;要注意主機方案的空間與資源是否足夠,測試站跑大量測試時,也可能影響同主機的正式站。
主機商提供的複製功能
部分主機商或管理面板有一鍵建立測試站、再推送回正式站的功能。使用前要看清楚推送時會覆蓋哪些內容,是只推檔案,還是連資料庫一起覆蓋,操作方式以主機商的說明為準。
獨立主機或本機環境
開發中的系統、需要隔離的串接案,可以放在另一台主機或開發人員的本機。隔離性高,但要另外確認程式語言版本、資料庫版本與伺服器設定和正式站一致。
測試環境別被搜尋引擎收錄:noindex 與密碼保護
測試站如果被收錄,搜尋結果可能出現兩個內容重複的網站,未完成的頁面也會被看見。依 Google 搜尋中心的說明,處理方式要注意以下幾點:
- 加上密碼保護:Google 說明機密或私人內容必須用密碼保護,確保只有授權使用者能存取。可以用伺服器的帳號密碼驗證,或主機面板的目錄保護功能。
- 搭配 noindex:noindex 可以寫在網頁的 meta 標記,或放在 HTTP 回應標頭。
- 不要只用 robots.txt 擋:網頁被 robots.txt 封鎖時,檢索器看不到 noindex;如果有其他網頁連結到它,網址仍可能出現在搜尋結果。
WordPress「閱讀」設定裡要求搜尋引擎不要索引網站的選項,會在頁面輸出 noindex 與 nofollow 的 robots 標記,但官方也註明它不會阻擋任何人存取網站,是否遵循由搜尋引擎決定,所以測試站仍要加上密碼。上線時則反過來檢查:從測試站搬過去的設定,不能把這個選項或 noindex 一起帶到正式站。
測試資料與外部服務要和正式站隔開
測試站複製自正式站時,也會一併複製真實的會員、訂單與表單資料,還有串接外部服務的設定,若沒有處理,可能出現測試時寄信給真實客戶、用正式金鑰扣款,或測試資料寫進正式系統的情況。建立測試站後,建議先完成這幾項:
- 把金流、物流與 API 串接改成對方提供的測試環境與測試金鑰。
- 關閉或攔截對外寄信與簡訊,讓通知只寄到內部信箱。
- 含個人資料的副本只開放必要人員存取,能用遮蔽或假資料取代就取代。
- 停用測試站上的追蹤碼,或改送到測試用的資源,避免混進正式站的數據。
上線前的同步:哪些從測試站搬,哪些以正式站為準
測試期間正式站仍在運作,訂單、會員註冊、表單與新文章持續寫入正式站的資料庫。上線時若直接用測試站的資料庫覆蓋正式站,這段期間的資料就會消失。比較安全的分工如下:
| 內容 | 上線時的方向 |
|---|---|
| 程式、版型、外掛與設定檔 | 從測試站搬到正式站 |
| 訂單、會員、表單資料 | 以正式站為準,不覆蓋 |
| 測試期間新增或修改的頁面 | 列清單後在正式站重做或個別匯入 |
| 資料表結構的變更 | 寫成可重複執行的步驟,先在測試站演練 |
上線前也要確認內文連結與圖片路徑沒有留下測試站網址。若內容一定要整批搬,就安排短暫的內容凍結時段,請編輯與客服在這段時間暫停更新。
回滾計畫:上線出問題時怎麼退回
回滾是上線後發現重大問題時,把正式站還原到上線前狀態的做法。計畫要在上線前寫好,而不是出事後才討論:
- 完整備份:WordPress 官方說明備份分成資料庫與檔案兩部分,缺一不可,也建議把備份存放在不同地點與媒介。
- 定義回滾條件:例如結帳失敗、表單無法送出、首頁錯誤,並指定誰有權決定回滾。
- 保留舊版本:舊版程式與設定留到觀察期結束,不要上線當天就刪除。
- 補回期間資料:還原後檢查上線到回滾之間產生的訂單與表單,人工補回或另行處理。
DNS 與憑證切換這類部署細節,則依實際上線方式另外規劃。
常見問題
測試站需要另外租主機嗎?
不一定。同一個主機帳號下開子網域或子目錄就能建立,但要確認方案的空間與資源是否足夠;需要完全隔離的系統,才另外準備主機,費用以主機商方案為準。
測試站已經被搜尋引擎收錄怎麼辦?
先加上密碼保護與 noindex,不要用 robots.txt 封鎖,以免檢索器無法重新檢索。依 Google 說明,網頁要在重新檢索後才會移除;若測試站已在 Search Console 驗證,可用網址檢查工具要求重新檢索。
小型形象網站也需要測試環境嗎?
只改文字或圖片時可以不用,但更新版型、外掛或系統版本前至少要完整備份。網站若有表單、會員或金流,建議建立測試站,避免更新後影響客戶操作。
測試站的資料多久要從正式站更新一次?
沒有固定頻率,建議每次開始一項較大的修改前,從正式站複製一份當下的檔案與資料庫,讓測試條件貼近現況,並在複製後重新處理個資與外部服務的隔離。
測試環境和系統測試有什麼不同?
測試環境是進行測試的場地,系統測試是在這個場地上執行的工作,例如功能、整合與使用者驗收測試。先有和正式站條件相近的環境,測試結果才有參考價值。
本文由京采數位科技整理。我們自 2005 年起提供官網設計、系統開發與 Google SEO 服務,實際案例可見成果與案例。
想直接討論你自己的網站狀況,或需要一份初步的搜尋機會評估?
相關主題
下一步
準備改版或新增功能時,可以先列出這次會動到的範圍,判斷是否需要測試站,並確認目前的備份能不能還原。京采可以協助網站規劃與開發,建立測試環境、安排上線前的同步與驗收,並在改版上線時備妥回滾計畫,詳細內容可參考網頁設計服務,或與我們聯繫討論現況。

